Buffl

Intelligente Systeme

CF
by Carina F.

Wieso kann man mit überwachtem Lernen nicht “fraud detection” betreiben?

Überwachtes Lernen: ist eine Art maschinelles Lernen, bei der einem Computer beigebracht wird, Prognosen oder Entscheidungen auf Basis von Beispielen zu treffen. Denken Sie dabei an Studierende, die von ihren Dozentinnen oder Dozenten lernen: Der/die Dozent/in konfrontiert die Studierenden mit einer Reihe von Problemen und richtigen Antworten auf diese Probleme. Die Studierenden machen sich mit diesen Beispielen vertraut, um zu lernen, Muster zu erkennen. Wenn die Studierenden sich dann einem neuen Problem gegenübersehen, können sie ihr vorheriges Wissen nutzen, um dafür die richtige Antwort zu finden.

Beim überwachten Lernen erhält der Computeralgorithmus einen Datensatz mit Eingabedaten (Problemen) und den richtigen Ausgabedaten (Antworten). Der Algorithmus macht sich mit diesem Datensatz vertraut und lernt die Beziehung zwischen der Ein- und Ausgabe kennen. Schließlich kann der Algorithmus dann Prognosen oder Entscheidungen für neue Daten treffen, die er noch nicht kennt.


Fraud detection: Diese kann aus den historischen Daten eines Onlineshops lernen, welche Merkmale einer Bestellung auf einen Betrug hindeuten. Die erkannten Muster aus den historischen Bestellungen können dann auf neue Bestellungen getestet und im Zuge dieses Tests klassifiziert werden.

Grundlage für die Betrugserkennung ist ein neuronales Netzwerk. Dieses wird mithilfe von überwachtem Lernen dahingehend trainiert, um aus historischen Bestellungen eines Onlineshops zu lernen und so zukünftige Bestellungen klassifizieren zu können.

Fraud Detection – Überwachung 

Unternehmen, die täglich Tausende oder mehr Kundendaten täglich in Ihrem Datenstrom verarbeiten müssen, stehen vor der großen Schwierigkeit, Anomalien oder betrügerische Nutzungsversuche erkennen zu müssen. Unsupervised Learning wird an dieser Stelle eingesetzt, um Abweichungen von der Norm in Echtzeit zu erkennen und direkt eingreifen zu können. Selbst komplexe, automatisierte Prozesse können so durchgehend überwacht werden.



Es gibt zu wenig Beispiele (historische Daten) um mit überwachtem Lernen Fraud detection zu betreiben

Bankbeispiel


Was ist ein Autoencoder?

  • unüberwachtes Lernen

  • Datenkompression, generierung ähnlicher Datenpunkte

  • Ein Autoencoder ist ein künstliches neuronales Netz, das dazu genutzt wird, effiziente Codierungen zu lernen. Das Ziel eines Autoencoders ist es, eine komprimierte Repräsentation für einen Satz Daten zu lernen und somit auch wesentliche Merkmale zu extrahieren. Dadurch kann er zur Dimensionsreduktion genutzt werden.

  • mehrschichtiges Perzeptron

  • Verwendung für Dimensionalitätsreduktion und deep learning

  • Hingelegte Sanduhr: Encoder, komprimierter Code, Decoder

  • Aufbau

    • eine sichtbare Schicht x (An Eingangsneuronen wird Trainingsdatensatz der Länge n angehängt)

    • mindestens einer hidden layer h (Die hidden Neuronen stellen eine nicht lineare Repräsentation des Inputs dar)

    • einer Ausgabeschicht z (Die Ausgabeneuronen stellen eine Rekonstruktion des Inputs dar)

Die Gewichte W und W ′ verbinden x mit h und h mit z

Zwei deterministische Funktionen:

  • encoding function h = c(x; θ), welche den Input x ∈ 0, 1^n auf die hidden layer h ∈ 0, 1^m (mit den Parametern θ und n, m ∈ N abbildet.

  • decoding function z = f (h; θ′), die h auf die Rekonstruktion z ∈ 0, 1^n abbildet.

  • Encoding und decoding function sind oft gewählt als

    • c(x) = sigm(x ∗ W + b^h) und

    • f (h) = sigm(h ∗ W ′ + b^z )

  • wobei sigm(x) = 1/(1+exp^−x) die logistische Funktion, W und W ′

    Gewichtsmatrizen der Größe (n × m) und (m × n) und bh ∈ R^m, b^z ∈ R^n Biaswerte.

    Oft sind W und W ′ verknüpft (tied), was heißt dass W ′ = W ^⊤. In

    diesem Fall sind die Parameter des AE θ = W , b^h, b^z , welche mit

    dem Gradientenabstiegsverfahren gelernt werden können.

Training: Finde die Parameters θ, θ′, welche den reconstruction

error Errθ,θ′ (x, z) minimieren. Der Fehler wird berechnet als der

Unterschied zwischen x und z für alle Samples x^i , i ∈ 1, ..., τ des

Trainingsets:

Oft Verwendung einer quadratischen Fehlerfunktion

oder

cross entropy


Suchstrategien: Staubsaugerwelt

Wie ist die Problemformulierung?

Nenne jeweils ein Beispiel für das Einzustandsproblem und Mehrzustandsproblem.

  • Weltzustandsraum: 2 Positionen, Schmutz, kein Schmutz

  • 8 Weltzustände

  • Aktionen:

    • links (L)

    • rechts (R)

    • saugen (S)

    • Ziel: kein Schmutz in den Räumen

    • Pfadkosten: pro Aktion eine Einheit

  • Problemtypen:

    • Einzustandsproblem

      • vollständiges Weltzustandswissen

      • vollständiges Aktionswissen

        -> der Agent weiß immer in welchem Zustand er ist

    • Mehrzustandsproblem

      • unvollständiges Weltzustandswissen oder

      • unvollständiges Aktionswissen

        -> der Agent weiß nur, in welcher Menge von Weltzuständen er ist

    • Kontingenzproblem

      • es ist unmöglich, eine komplette Sequenz von Aktionen zur Lösung im voraus zu bestimmen, da nicht alle Informationen über Zwischenzustände vorliegen

    • Explorationsproblem

      • Zustandsraum und Effekte der Aktionen nicht vollständig bekannt. Schwer!

Anfangszustand: Zustand, von dem der Agent glaubt, anfangs zu sein

Zustandsraum: Menge aller möglichen Zustände

Operator: Beschreibung einer Aktion durch Angabe des resultierenden Zustands

Zieltest: Test, ob die Beschreibung eines Zustands einem Zielzustand entspricht

Pfad: Sequenz von Aktionen, die von einem Zustand zu einem anderen führen

Pfadkosten: Kostenfunktion g über Pfade. Setzt sich üblicherweise aus der Summe der Kosten der Aktionen zusammen

Lösung: Pfad von einem Anfangs- zu einem Zielzustand

Suchkosten: Zeit- und Speicherbedarf, um eine Lösung zu finden

Gesamtkosten: Suchkosten + Pfadkosten


Staubsaugerwelt als Einzustandsproblem:

Falls die Welt vollständig zugänglich ist, weiß der Staubsauger

immer, wo er und der Schmutz sind. Problemlösen reduziert sich

dann auf die Suche nach einem Pfad von unserem Anfangszustand

zu einem Zielzustand.

Zustände für die Suche: Die Weltzustände 1–8.


Staubsaugerwelt als Mehrzustandsproblem:

Falls der Staubsauger keine Sensoren besitzt, weiß er nicht, wo er

ist und wo Schmutz ist. Trotzdem kann er das Problem lösen.

Zustände sind dann Wissenszustände (siehe folgende Folie)

Zustände für die Suche: Potenzmenge (Menge aller Teilmengen)

der Weltzustände 1–8.


Was sind Constraint Satisfaction Probleme?

Wie kann man sie lösen?

Was meint Vorwärtstest und Kantenkonsistenz?

CSPs bilden eine spezielle Problemklasse, die aufgrund struktureller

Einschränkungen besondere Suchtechniken erlauben.

  • Zustände sind durch Werte von Variablen definiert.

  • Operatoren belegen eine Variable mit einem Wert.

  • Der Zieltest wird durch Constraints (Bedingungen) spezifiziert, welche die Variablenbelegungen erfüllen müssen.

  • Ein Zielzustand ist eine Belegung der Variablen mit Werten, die alle Constraints erfüllen

Das 8 Damen Problem als CSP:

  • Es gibt 8 Variablen V1, ..., V8, wobei Vi für die Dame in der i-ten Spalte steht.

  • Vi kann einen Wert von aus {1, 2, ..., 8} annehmen, der für die Zeilenposition steht.

  • Zwischen allen Paaren von Variablen gibt es Constraints, welche die Nichtangreifbarkeit ausdrücken.

→ diskretes, endliches, binäres CSP


Einfärben von Graphen als CSP:

Gegeben ein Graph mit n Knoten, färbe die Knoten mit k Farben so ein, dass zwei durch eine Kante verbundene Knoten nicht die gleiche Farbe haben (→ NP-vollständiges Problem!)

Beispiel: Kann der folgende Graph mit 3 Farben eingefärbt werden?


Standardsuche für das Einfärbesystem:


Allgemeine Suche zum CSP lösen:

  • Tiefensuche ist bei CSPs vollständig, da ja nur maximal n Operatoren (Belegung von Variablen durch Werte) möglich sind.

  • Bei naiver Implementation ist der Verzweigungsfaktor sehr hoch! Sei Di die Menge der möglichen Werte für Vi . Dann ist der Verzweigungsfaktor b = ∑n i=1 Di .

  • Die Reihenfolge der Instantiierungen der Variablen ist für die Lösung unerheblich. Deshalb kann mann bei jeder Expansion eine Variable (nicht-deterministisch) aussuchen, d.h. der Verzweigungsfaktor ist (∑ni=1 Di )/n.

  • Nach jeder Operatoranwendung kann geprüft werden, ob bereits Constraints verletzt wurden. In dem Fall braucht man den aktuellen Knoten nicht weiter expandieren → Tiefensuche + Test = Backtracking (oder Rücksetzsuche)

Vorwärtstest und Kantenkonsistenz:

Wenn beim Backtracking Entscheidungen getroffen wurden, die eine

Lösung unmöglich machen, wird dies u.U. doch erst in den Blättern

des Suchbaums bemerkt → unnötige Exploration des Unterbaums.

Lösungen:

  • Vorwärtstest (Forward checking): Bei allen noch nicht belegten Variablen werden die Werte eliminiert, die nicht mehr möglich sind. Backtracking, falls Domain einer Variable leer wird.

  • Spezielle Form des Vorwärtstests: Kantenkonsistenz (Arcconsistency). Ein CSP ist kantenkonsistent, falls der Wertebereich jeder Variablen nur Werte enthält, die konsistent mit jedem Constraint auf der Variablen sind.

Beispiel:


Was sind Heuristiken?


Nicht in Prüfung

Was sind Konstruktionsheuristiken?

Was sind Verbesserungsheuristiken?

  • Gehören zu den Optimierungsverfahren

  • Idee: keine Garantie des Findens der optimalen Lösungen, Erhöhung der Sucheffizienz → Heuristiken

  • Heuristiken (oft auch als “single pass heuristic” bezeichnet) sind auf Erfahrung (“rules of thumb”) beruhende Vorgehensweisen zur Erzeugung von guten, aber nicht notwendigerweise optimalen Lösungen.

  • Durch die Implementierung von Heuristiken werden also problembezogenes Erfahrungswissen und plausibel erscheinende Vorgehensweisen formalisiert Hauptproblem liegt in der Identifikation einfacher heuristischer Vorgehensweisen, die möglichst gute Lösung bezüglich vorgegebener Zielkriterien liefern.

  • Heuristiken basieren häufig auf Greedy-Strategien

  • Beispiele für Heuristiken sind Prioritätsregeln in der Produktionssteuerung, welche für die Reihenfolgeplanung von Arbeitsgängen im Rahmen der Fertigungsauftragsplanung eingesetzt werden können. Hierbei werden durch Prioritätsregeln Arbeitsaufträge, welche in einer Wartschlange vor einzelnen Maschinen zur Bearbeitung anstehen, entsprechend ihrer Charakteristika und abhängig vom aktuellen Stand des Produktionssystems eingeplant.

  • Konstruktionsheuristiken

    • Auch bekannt als single-pass Heuristiken

    • Erzeugen Lösung in einem Durchgang

      • starten mit einer leeren Lösung

      • Mehrere Schritte

      • Pro Schritt wird ein Teil der Lösung festgelegt

      • Oft: Festlegen einer Entscheidungsvarialbe pro Schritt

    • Stoppen, wenn Lösung vollständig ist

    • Keine Verbesserungsschritte

  • Verbesserungsheuristiken

    • Starten mit einer vollständigen Lösung

    • Verbesserung der Lösung

      • Mehrere Schritte

      • Mögliche Veränderung der Lösung definieren eine Nachbarschaft

      • Keine Diversifikation: Nur Schritte erlaubt, die Qualität der Lösung erhöhen

      • Wenn keine Verbesserung der Lösung mehr notwendig: Stoppen der Heuristik




Was macht der Treshold Accepting Algorithmus?

Was macht der Simulated Annealing Algorithmus?

Treshold Accepting Algorithmus

  • lokale Suche

  • akzeptiert Verschlechterungen solange sie nicht schlechter als ein vorgegebener Schwellenwert sind

  • Schwellenwert wird im Verlauf der Optimierung gesenkt

  • Ziel: Globale Optimierung in komplexen Suchräumen.

  • Vorgehen:

    • Zufällige Festlegung eines Schwellenwerts.

    • Iterative Schritte, bei denen neue Schwellenwerte akzeptiert werden, wenn sie zu Verbesserungen in der Zielfunktion führen.

  • Charakteristik:

    • Stochastischer Ansatz.

    • Ermöglicht die Suche nach akzeptablen Lösungen, ohne sich auf lokale Minima zu beschränken.

  • Beispiel:

    • Ein Beispiel für die Anwendung von Threshold Accepting ist das Problem der Bildsegmentierung. Angenommen, Sie möchten automatisch die Konturen eines Objekts in einem Bild identifizieren. Sie könnten Threshold Accepting verwenden, um einen Schwellenwert für die Intensität der Pixel festzulegen. Während des Algorithmus könnten neue Schwellenwerte akzeptiert werden, wenn sie zu einer besseren Segmentierung des Objekts führen. Dies ermöglicht die flexible Anpassung des Schwellenwerts, um optimale Ergebnisse in Bezug auf die Bildsegmentierung zu erzielen.


Simulated Annealing Algorithmus = Metropolis Algoithm

  • akzeptiert Verschlechterungen in der Bewertung eines Zwischenergebnisses nur mit einer bestimmten – im Verlauf der Optimierung kleiner werdenden – Wahrscheinlichkeit

  • Ziel: Globale Optimierung durch Simulation des Abkühlens eines physikalischen Systems.

  • Vorgehen:

    • Start mit einer zufälligen Lösung.

    • Durchführung von zufälligen Schritten, wobei schlechtere Lösungen unter bestimmten Bedingungen akzeptiert werden.

    • Temperaturparameter wird allmählich verringert, um die Wahrscheinlichkeit der Akzeptanz schlechterer Lösungen zu reduzieren.

  • Charakteristik:

    • Inspiriert von metallurgischem Abkühlen, um energetisch günstigere Zustände zu erreichen.

    • Stochastischer Ansatz, der lokale Minima überwinden kann.

    • Erlaubt zeitweilige Verschlechterungen der Lösung, um aus dem Suchraum zu entkommen.

  • Beispiel:

    • Ein Beispiel für die Anwendung von Simulated Annealing ist das Problem des Handlungsreisenden (Traveling Salesman Problem, TSP). In diesem Problem muss der Handlungsreisende eine Route finden, die alle Städte in einem Netzwerk besucht, wobei die Gesamtstrecke minimiert werden soll. Simulated Annealing kann hier eingesetzt werden, um eine gute Näherungslösung zu finden, indem es schrittweise durch den Lösungsraum geht und zeitweise schlechtere Lösungen akzeptiert, um lokale Minima zu überwinden und eine bessere globale Lösung zu erreichen.



Was macht der Great Deluge Algorithm?


Heuristik

Idee: akzeptiere eine Lösung, wenn…


  • Grundidee: Inspiriert von Simulated Annealing, senkt schrittweise einen Schwellenwert ab, um systematisch nach Verbesserungen zu suchen.

  • Anwendung: Häufig für kombinatorische Optimierungsaufgaben.

  • Einschränkungen: Kann möglicherweise zu langsam sein, um in großen Suchräumen zu konvergieren.


Der Great-Deluge-Algorithmus (GD) ist ein allgemeiner Algorithmus, der auf Optimierungsprobleme angewendet wird. Er ähnelt in vielerlei Hinsicht den Hill-Climbing- und Simulated-Annealing-Algorithmen.

Der Name leitet sich von der Analogie ab, dass eine Person, die einen Hügel erklimmt, bei einer großen Überschwemmung versucht, sich in jede Richtung zu bewegen, in der sie keine nassen Füße bekommt, in der Hoffnung, einen Weg nach oben zu finden, wenn der Wasserspiegel ansteigt.

Bei einer typischen Implementierung von GD beginnt der Algorithmus mit einer schlechten Annäherung, S, an die optimale Lösung. Auf der Grundlage von S wird ein numerischer Wert, die so genannte Schlechtigkeit, berechnet, der angibt, wie unerwünscht die anfängliche Annäherung ist. Je höher der Wert der Schlechtigkeit ist, desto unerwünschter ist die ungefähre Lösung. Ein weiterer numerischer Wert, die Toleranz, wird auf der Grundlage einer Reihe von Faktoren berechnet, zu denen häufig auch die anfängliche Schlechtigkeit gehört.

Auf der Grundlage von S wird eine neue Näherungslösung S' , genannt Nachbar von S, berechnet. Die Schlechtigkeit von S' , b' , wird berechnet und mit der Toleranz verglichen. Ist b' besser als die Toleranz, wird der Algorithmus rekursiv neu gestartet mit S : = S' , und Toleranz := decay(Toleranz) , wobei decay eine Funktion ist, die die Toleranz senkt (was einen Anstieg des Wasserspiegels darstellt). Wenn b' schlechter als die Toleranz ist, wird ein anderer Nachbar S* von S gewählt und der Vorgang wiederholt. Wenn alle Nachbarn von S Näherungslösungen jenseits der Toleranz ergeben, wird der Algorithmus beendet und S als die beste erhaltene Näherungslösung angegeben.

Nicht in Prüfung

Was ist Floorplanning?

Allgemein:

Floorplanung ein nur (kleiner) Schritt im “IC Design and Verification Flow”

• Aufgaben der Floorplanung: Berechnen einer Startlösung für die “Placement”

und “Routing” Schritte

• obwohl bei der Floorplanung kleinere Instanzen optimiert werden, sind sie bereits zu groß für direkte Methoden

• Simulated Annealing hat sich wegen der Einfachheit und Anpassungsfähigkeit

etabliert, benötigt drei Komponenten

  1. Formale Beschreibung bzw. Simulationsmodell einer Lösung

  2. Suchraumoperatoren

  3. Zielfunktion

• sollte die Aufgabe zu groß für den direkten Einsatz einer (Meta-)Heuristik sein,

bieten hierarchische Divide-and-Conquer Verfahren einen Ausweg


Ziele:

Erzeugung eines Floorplans, der gut geroutet werden kann

• Komplexe (nicht rechteckige) und variable Modulformen

• Abschätzung des Erfolgs des Routing-Schrittes und der Leitungsdichte der Routing-Kanäle


Definition:

Aufgabenstellung

  • sei B = {b1 , b2 , . . . , bm } eine Menge auf m rechteckigen Modulen mit der Breite, Höhe und Fläche wi , hi , und ai , 1 Æ i Æ m

  • Module können rotiert werden

  • sei (xi , yi ) die Koordinate der unteren, linken Ecke des Moduls bi ,

  • ein Floorplan F ist eine Zuweisung von (xi , yi ) an jedes bi sodass sich keine Module überlappen

  • das Ziel ist die Minimierung einer Kostenfunktion, die beispielsweise die Fläche und Leitungslängen minimiert

Optimierungsziele:

  • Fläche

  • Summe der Leitungslängen

  • Längen der kritischen Pfade

  • “Routability”

  • Leistungsverbrauch

  • Temperaturverteilung

Nebenbedingungen:

  • Breite und Höhe des Dies

  • Wäremleitfähigkeit

  • Seitenverhältnis

  • . . .

Abschätzen der Optimierungsziele:

  • Fläche:

    • kleinsten umfassendes Rechteck

  • Leitungslängen

    • half-perimeter wire length (HPWL)


Nicht in Prüfung

Was sind B*-Bäume für kompakte Floorpläne?

Allgemein:

  • ein kompaktierter Floorplan ist ein Floorplan, bei dem kein Modul mehr nach links oder unten verschoben werden kann

  • ein kompaktierter Floorplan kann durch einen B* Baum kodiert werden

  • bei einem B* Baum haben alle inneren Knoten genau zwei Kindsknoten; weiterhin ist der Baum “geordnet”, d.h. es existiert eine Sortierung der Baumknoten

  • die Zuordnung zwischen B* Bäumen und Floorplänen ist eindeutig

    • zu einem kompaktierten Floorplan gibt es genau eine Kodierung als B* Baum

    • ein B* kodiert genau einen Floorplan

Von Floorplan -> B* Baum:

  1. kompaktiere den Floorplan durch verschieben der Module nach links und unten

  2. baue einen B* Baum von der Wurzel an auf; Reihenfolge der besuchten Module/ hinzugefügten Knoten - Tiefensuche

    • baue rekursiv zuerst den linken Unterbaum dann den rechten Unterbaum auf

    • Beispiel: Sei Ri die Menge aus Modulen, die adjazent zu und rechts von Modul (i) platziert sind; z.B. i = (3) und r = {4}; der linke Kindknoten von n3 entspricht dem tiefsten, nicht besuchten Modul in R3: (4); der rechte Kindsknoten von n3 entspricht dem tiefsten Modul über Modul (3) mit der selben x-Koordinate wie Modul (3): Modul (6)

Von B* Baum -> Floorplan:

zu einem B* Baum T kann der zugehörige Floorplan wie folgt berechnet

werden:

  • der Wurzelknoten in T repräsentiert das tiefste Modul auf der linken Seite des Floorplans

  • ist der Knoten nj das linke Kind des Knotens ni , dann wird das Modul (j)

    adjazent zu modul (i) und (j) wird rechts von (i) platziert

  • ist der Knoten nj das rechte Kind des Knotens ni , dann wird das Modul (j) über dem Modul (i) platziert; die x-Koordinaten von (i) und (j) stimmen überein

Berechnung der normalisierten Floorplanfläche

  • die Fläche eines adjazenten Floorplans kann in O(1) berechnet werden


    die Suchraumgröße der B* -Bäume

  • die Anzahl der Floorpläne für B* Bäume mit n Konten beträgt (ähnlich zu normalisierten Polnischen Ausdrücken)


Operatoren für B* Bäume

folgende drei Operatoren können verwendet werden, um adjazente B* Bäume zu

erzeugen

  • Op1: rotieren eines Moduls

  • Op2: Neuplatzieren eines Moduls im B* Baum

  • Op3: Tausch zweier Module

Op1 und Op3 können die Topologie eines Baums nicht ändern

Op2 ist als eine Knotenlöschung deletion und Knoteneinfügung insertion imple-

mentiert; die Löschung eines Knotens unterteilt sich in drei Fälle

  • Blattknoten: kann ohne weitere Nebenbedingungen gelöscht werden

  • ein Knoten mit einem Kind: der Kindsknoten ersetzt den Elterknoten

  • ein Knoten mit zwei Kindern: einer der Kindsknoten ersetzt den Elterknoten; falls der Kindsknoten selber Unterknoten hat, wird das gleiche Ersetzungsschema fortgeführt, bis man auf ein Blatt trifft

ein Knoten kann an zwei Positionstypen eingefügt werden

  • externe Position, als ein Blattknoten

  • interne Position, zwischen zwei Knoten im B* Baum

Beispiel: B* Baumtransformation


Nicht in Prüfung

B* Bäume Sequenzpaare

Kodierung:

  • für die Kodierung allgemeiner Floorpläne sind die normalisierte Polnische Notation und die B ú Bäume nicht geeignet

  • ein Sequenzpaar besteht aus zwei geordneten Listen mit Modulnamen; z.B. kodiert das Sequenzpaar (124536, 326145) ein Floorplan mit sechs Modulen (1),(2),. . . ,(6)

  • Wie kommt man von einem Floorplan zu einem Sequenzpaar?

    1. alle Module müssen “Räumen” zugewiesen werden

    2. in jedem “Raum” darf exakt ein Modul sein

Berechnung eines Sequenzpaares:

  • für ein Modul kann der positive und negative Pfad definiert werden

  • der positive Pfad setzt sich aus dem right-up Pfad und dem left-down Pfad zusammen

  • der right-up Pfad des Moduls i wird bestimmt als

    • der Pfad startet im Mittelpunkt des Moduls und läuft nach rechts

    • der Pfad wechselt die Laufrichtung zwischen “rechts” und “aufwärts”, wenn er auf

      1. eine Seite eines Raums

      2. einen anderen Pfad

      3. den Chiprand

      trifft.

    • der right-up Pfad ist vollständig, wenn er auf die obere rechte Ecke des Chips trifft

positive (negative) Pfade kreuzen sich nicht

  • positive (negative) Pfade können linear geordnet werden und induzieren damit eine Ordnung für Module

  • sei T+ die lineare Sortierung aller positiver Pfade, die aus right-up und left-down Pfaden konstruiert worden sind (linkes Bild: T+ = {124536})

  • sei T- die lineare Sortierung aller negativer Pfade, die aus up-left und down-right Pfaden konstruiert worden sind (rechtes Bild: T- = {326145})

  • dann kodiert das Sequenzpaar (T+ , T- ) = (124536, 326145) den Floorplan eindeutig

  • die geometrische Relation der Module i und j folgt zwei Regeln

    1. das Modul i ist links von Modul j, wenn i vor j in T+ und T- einsortiert ist

    2. das Modul i ist unterhalb des Moduls j, wenn i nach j in T+ und vor j in T- einsortiert ist


Nicht in Prüfung

Was ist die Gittermethode?

Erstellung eines Floorplans mithilfe der Sequenzpaarkodierung

  • erstelle für einen Floorplan mit n Modulen ein n x n Gitter

  • beschrifte vertikale und horizontale Gitterlinien mit Modulnamen gemäß ihrer Sortierung in T+ und T- , von oben nach unten und von links nach rechts

  • rotiere das Gitter gegen den Uhrzeigersinn um 45°

  • platziere jedes Modul i an der Gitterkreuzung (i, i)

die Konstruktion der Horizontal- und Vertical-Constraint Graphen

  • Konstruktion des HCGs GH (V, E)

    • V : besteht aus einer Quelle s, einer Senke t, und allen Modulnamen

    • E: umfasst für jedes Modul i die Kanten (s, i) und (i, t) sowie alle Kanten (i, j) gdw. i der linke Nachbar von j ist (horizontal constraint)

    • Gewichtung der Knoten: Null für s and t, die Breite des Moduls i für den Knoten i

  • der VCG GV (V, E) kann analog konstruiert werden (diesmal mit den Modulhöhen als Knotengewichten)

124536 miteinander vergleichen 326145:

linkes Bild: 1 ist links von 4,5; 2 ist links von 4,5;…

rechtes Bild: 6 nach 1 lins, 6 vor 1 rechts -> 6 liegt unter 1; …


Flächenberechnung

  • die x-Koordinate eines Moduls i wird durch den längsten Pfad von s nach i in GH bestimmt

  • die y-Koordinate eines Moduls i wird durch den längsten Pfad von s nach i in GV bestimmt

  • die Breite und Höhe eines Floorplans können nun als die längsten Pfade zwischen s unt t in GH und GV berechnet werden

  • die Berechnung des längsten Pfades in einem gerichteten, azyklischen Graph (DAG) benötigt O(N^2 ) Zeit Suchraumgröße

  • Jede Permutation von T+ und T- erzeugt gültige Floorpläne

  • T kann n! Mal permutiert werden

  • insgesamt ergeben sich für ( T+ , T- ) (n!)^2 Permutationsmöglichkeiten


Operatoren:

  • Op1: Rotieren eines Moduls

  • Op2: Tausch von zwei Modulen in einer Sequenz

  • Op3: Tausch von zwei Modulen in beiden Sequenzen

  • Fast Simulated Annealing kann nun auf Sequenzpaare angewendet werden (wie im Slicing Floorplans Fall)


Welche Architekturen neuronaler Netze sind Ihnen bekannt?


Erklären sie den Unterschied zwischen LSTM Netzwerk und einem CNN?


Multilayer Perzeptron

CNN (Feedforward Netze)

Rekurrente Netze (RNN)

Long Short Term Memory


1. Architektur und Anwendung:

  • LSTM (Recurrent Neural Network):

    • Architektur: LSTMs sind rekurrente neuronale Netzwerke, die auf die Verarbeitung von sequenziellen Daten ausgerichtet sind, wie z.B. Zeitreihen oder natürliche Sprache.

    • Anwendung: Häufig verwendet für Aufgaben wie maschinelles Übersetzen, Textgenerierung und Zeitreihenvorhersage.

  • CNN (Convolutional Neural Network):

    • Architektur: CNNs sind spezialisiert auf die Verarbeitung von Gitterdaten wie Bildern und arbeiten gut mit hierarchischen Merkmalen.

    • Anwendung: Hauptanwendungen sind Bildklassifikation, Objekterkennung und Bildsegmentierung.

2. Datenstruktur:

  • LSTM:

    • Geeignet für sequenzielle Datenstrukturen, bei denen die zeitliche Abhängigkeit der Daten wichtig ist.

    • Speichert und verarbeitet Informationen über lange Zeiträume hinweg und kann somit auf zeitliche Muster zugreifen.

  • CNN:

    • Optimal für Gitterdaten wie Bilder, bei denen lokale Strukturen und Hierarchien von Merkmalen von Bedeutung sind.

    • Verwendet Convolutional Layer, um lokale Muster in den Daten zu erfassen.

3. Verwendung von Gewichtungen:

  • LSTM:

    • Verwendet Gewichtungen und spezielle Zellzustände, um die Modellierung von langfristigen Abhängigkeiten in Sequenzen zu ermöglichen.

    • Eignet sich gut für Aufgaben, bei denen zeitliche Zusammenhänge wichtig sind.

  • CNN:

    • Verwendet Faltungsschichten, um Merkmale in lokalen Bereichen der Daten zu extrahieren und sie über die Hierarchie des Netzwerks zu aggregieren.

    • Optimal für Aufgaben, bei denen lokale Muster in den Daten entscheidend sind.

4. 3D-Struktur:

  • LSTM:

    • LSTMs können für eine Dimension (eine Zeitreihe), zwei Dimensionen (z.B. Text) oder mehr angewendet werden.

  • CNN:

    • Häufig für zweidimensionale Datenstrukturen wie Bilder verwendet, aber es gibt auch 1D- und 3D-CNN-Architekturen.


Auf welchen Ideen basieren die Convolutional Neural Networks?


Vergleich mit Multilayer Perzeptronen

Merkmalsextraktion durch Neuronales Netz, Filter werden auch gelernt, benachbarte Pixel haben eine Abhängigkeit zueinander


Die Merkmale werden gelernt, Filter werden gelernt


1. Lokale Rezeptive Felder:

  • CNNs verwenden lokale Rezeptive Felder, um Informationen in kleinen Bereichen der Eingabedaten zu erfassen. Dies ermöglicht es dem Netzwerk, lokale Muster und Strukturen zu identifizieren.

2. Faltungsschichten:

  • Anstatt jedes Neuron mit allen Eingangsneuronen zu verbinden (wie in vollständig verbundenen Schichten), verwenden CNNs Faltungsschichten. Diese Schichten führen Faltungsoperationen auf den Eingabedaten durch, um Merkmale zu extrahieren.

3. Gewichtete Verbindung (Shared Weights):

  • CNNs verwenden gemeinsam genutzte Gewichtungen (geteilte Gewichtungen) für die Faltungsschichten. Dies bedeutet, dass die gleichen Gewichtungen auf verschiedene Bereiche der Eingabedaten angewendet werden. Dies führt zu einer geringeren Anzahl von Parametern und ermöglicht das Erlernen von Merkmalen, die in verschiedenen Teilen der Daten wiederverwendet werden können.

4. Pooling-Schichten:

  • Nach den Faltungsschichten enthalten CNNs oft Pooling-Schichten, um die räumliche Dimension der Daten zu reduzieren. Pooling aggregiert Informationen über kleine Bereiche und reduziert die Anzahl der Parameter im Netzwerk.

5. Hierarchische Struktur:

  • CNNs haben oft eine hierarchische Struktur mit mehreren Schichten. Niedrigere Schichten extrahieren einfache Merkmale wie Kanten, während höhere Schichten komplexere Merkmale und Strukturen lernen.

6. Transferlernen:

  • CNNs können von Transferlernen profitieren, indem sie auf vorab trainierten Netzwerken basieren. Dies ermöglicht es, Merkmale zu nutzen, die auf großen Datensätzen für ähnliche Aufgaben gelernt wurden.

7. Aktivierungsfunktionen:

  • CNNs verwenden nichtlineare Aktivierungsfunktionen wie ReLU (Rectified Linear Unit), um nichtlinearere Beziehungen zwischen den Merkmalen zu modellieren.

8. Regularisierung:

  • Methoden wie Dropout werden oft in CNNs verwendet, um Überanpassung zu reduzieren. Dropout deaktiviert zufällig einige Neuronen während des Trainings, um eine robustere Netzwerkstruktur zu erzielen.

9. Automatische Merkmalsextraktion:

  • CNNs sind so konzipiert, dass sie automatisch relevante Merkmale aus den Eingabedaten extrahieren können, ohne dass Merkmale manuell definiert werden müssen.


Was meint informierte Suche?

Gebe Beispiele

Informierte Suche: Information über Kosten von aktuellem Knoten bis zum Ziel in Form einer Evaluierungsfunktion h, die jedem Knoten eine reelle Zahl zuweist.


Bestensuche

Greedy Search

A*-Suche

Heuristiken für CSPs

Lokale Suche

Genetische Algorithmen


  • Bestensuche: Ein Suchalgorithmus, der den kürzesten Weg zu einer Lösung in einem Graphen oder Netzwerk findet, indem er schrittweise den vielversprechendsten Pfad auswählt.

  • Greedy Search: Ein heuristischer Suchalgorithmus, der sich bei jedem Schritt für den nächsten Zustand entscheidet, der am vielversprechendsten erscheint, ohne jedoch die Möglichkeit zu berücksichtigen, dass dieser Schritt zu einer optimalen Lösung führt.

  • A*-Suche: Ein informierter Suchalgorithmus, der die Bestensuche mit einer heuristischen Schätzung kombiniert, um die Effizienz zu steigern, indem er den vielversprechendsten Weg zum Zielknoten priorisiert.

  • Heuristiken für CSPs: Techniken, die bei der Lösung von Constraint Satisfaction Problems (CSPs) eingesetzt werden, indem sie intelligente Schätzungen verwenden, um die Suche nach einer Lösung zu lenken und zu beschleunigen.

  • Lokale Suche: Ein Suchalgorithmus, der sich durch einen Zustandsraum bewegt, indem er schrittweise von einer Lösung zu einer benachbarten Lösung geht, wobei nur die direkten Nachbarn betrachtet werden, um eine optimale Lösung zu finden.

  • Genetische Algorithmen: Ein Optimierungsalgorithmus, der von der biologischen Evolution inspiriert ist und eine Population von Lösungen erzeugt, die sich im Laufe der Zeit durch Mutationen, Rekombination und natürliche Selektion weiterentwickeln, um bessere Lösungen zu finden.


Was meint A* Suche?

Gehört zur Informierten Suche

  • A*-Suche

    • Minimierung von f (n) = g (n) + h(n) kombiniert uninformierte

      Kostensuche mit gieriger Suche. Falls h(n) zulässig ist, d.h.

      h∗ nie überschätzt, erhalten wir A*-Suche, die vollständig

      und optimal ist.

    • Minimierung der geschätzten Pfadkosten

    • A* verbindet uniformierte Kostensuche mit gieriger Suche.

      • g (n) = tatsächliche Kosten vom Anfangszustand bis n.

      • h(n) = geschätzte Kosten von n bis zum nächsten Ziel.

      • f (n) = g (n) + h(n), d.h. geschätzte Kosten des günstigsten Pfades, der durch n verläuft.

      • Seien h∗(n) die tatsächlichen Kosten des optimalen Pfades von n

        zum nächsten Ziel.

      • h heißt zulässig, wenn für alle n gilt: h(n) ≤ h∗(n)

      • Wir verlangen für A*, dass h zulässig ist (Luftlinienentfernung ist

        zulässig)

    • Optimalität von A*

      • Behauptung: Die erste von A* gefundene Lösung ist eine mit

        minimalen Pfadkosten.

        Beweis: Wir nehmen an, dass es einen Zielknoten G mit optimalen Pfadkosten f ∗ gibt, dass A* aber einen anderen Knoten G2 mit g (G2) > f ∗ gefunden hat.

        Sei n ein Knoten auf dem optimalen Pfad vom Start nach G , der

        noch nicht expandiert wurde. Da h ja zulässig ist, haben wir

        f (n) ≤ f ∗. Da n nicht vor G2 expandiert wurde, muss gelten

        f (G2) ≤ f (n) und somit f (G2) ≤ f ∗. Wegen h(G2) = 0 folgt daraus, dass g (G2) ≤ f ∗

        → Widerspruch zur Annahme!

    • Vollständigkeit und Komplexität

      • Vollständigkeit: A* findet eine Lösung, falls es eine gibt, unter der

        Voraussetzung, dass

        • jeder Knoten nur endlich viele Nachfolgerknoten hat und

        • es eine positive Konstante δ gibt, so dass jeder Operator mindestens die Kosten δ hat.

        → nur endlich viele Knoten n mit f (n) ≤ f ∗.

        Komplexität: Falls |h∗(n) − h(n)| ≤ O(log (h∗(n)), werden nur

        subexponentiell viele Knoten expandiert.

        Normalerweise: Exponentielles Wachstum, weil der Fehler

        proportional zu den Pfadkosten ist.

    • Iterative A*-Tiefensuche: IDA* (iterative deepening A*)

      • Idee: Kombination von IDS und A*, d.h. es werden alle Knoten

        innerhalb einer Kontur abgesucht.

    • Beispiel 1: A*-Suche von Arad nach Bucharest

Innerhalb des Suchraums ergeben sich Konturen, in denen jeweils für gegebenen f -Wert alle Knoten expandiert werden:

Pfadplanung für Roboter in einer Grid-Welt:

Beispiel 2: Heuristische Funktion

Empirische Auswertung:


Was meint lokale Suche?

Gehört zur Informierten Suche

  • Lokale Suche

    • Lokale Suche arbeitet immer nur auf einem Zustand und

      versucht, diesen schrittweise zu verbessern.

    • Für viele Probleme ist es irrelevant, wie man zum Zielzustand

      kommt – nur der Zielzustand selber ist interessant (8-Damen

      Problem, VLSI Design, TSP). Wenn sich außerdem ein Qualitätsmaß für Zustände angeben läßt, kann man lokale Suche benutzen, um Lösungen zu finden.

      Idee: Man fängt mit einer zufällig gewählten Konfiguration an und verbessert diese schrittweise → Hill climbing

    • Probleme:

      • Lokale Maxima:

        • Der Algorithmus gibt eine suboptimale Lösung aus.

      • Plateaus:

        • Hier kann der Algorithmus nur zufällig herumwandern.

      • Grate Ähnlich wie Plateaus.


        Verbesserungsmöglichkeiten:

      • Neustarts, wenn keine Verbesserung mehr

      • Rauschen “injizieren” (Random walk)

      • Tabu-Suche: Die letzten n angewandten Operatoren nicht

        anwenden


        Welche Strategien (mit welchen Parametern) erfolgreich sind (auf einer Problemklasse), kann man meist nur empirisch bestimmen.

    • Threshold Accepting:

      • Treshold Accepting akzeptiert alle Variationen, bei denen die Verschlechterung unterhalb eines Schwellenwerts T bleibt

    • Simuliertes Abkühlen:

      • Im Simulated-Annealing-Algorithmus erfolgt das “Injizieren” von

        Rauschen systematisch: Erst stark, dann abnehmend.

      • Iterative Anwendung von kleinen Suchschritten

      • In jedem Suchschritt wird ein Variationsoperator auf x^t angewandt um x^n zu erhalten

      • x^n wird mit Wahrscheinlichkeit

  • Strategieparameter Temperatur T

  • Anwendung auf CSPs:

    • Obwohl bei CSPs Konfigurationen entweder Lösungen sind oder

      nicht, kann man auch hier lokale Suche anwenden.

      Qualitätsmaß: Anzahl der erfüllten Constraints. Lokale Suche

      heißt in diesem Kontext dann auch heuristisches Reparieren.

      Heuristisches Reparieren wird z.B. für das Scheduling des

      Hubble-Teleskops eingesetzt. Reduzierung der Rechenzeit von 3

      Wochen auf 10 Minuten. Im Kontext vom Finden erfüllender Belegungen für Boole’sche Formeln kann man ähnliche Methoden mit großem Erfolg einsetzen.

Hill climbing:


Nicht in Prüfung

Multi-objective ???????????????

Multi-Criteria Optimization

Gewicht und Tippcomfort beim Auwählen eines Computers


y Achse Tippcomfort von 0(schlecht)-10(gut)

x Achse Gewicht in 1/20(schlecht)-1/0,08(gut)


Multi-Criteria Problem Definition

a multi-objective function …


Searching for the best solution: Francis Ysidro Edgeworth/ Vilfredo Pareto

Pareto Optimum:

element x1 dominates element x2 weakly if x1<=x2

element x1 dominates element x2 if x1<x2

element x1 is called Pareto Optimal if it is not dominand to x2


Preorder:

  • for weak dominance holds

    • reflexivity a<=a

    • transitivity if a<=b and b<=c then a<=c

  • the domination relation imposes a preorder on all design points

Optimization Alternatives:

  • use of classical single objective optimization methods …

Issues in Multi-Criteria Optimization:

  • How to maintain a diverse Pareto set approximation?

    • density estimation

Fittness Assignment Strategies:

  • aggregation-based (weighted sum)

  • criterion-based (VEGA)

  • dominance-based (SPEA2)

Aggregation-based (weighted sum):

  • weighted sum: put together n objective functions into one aggregated objective function, e.g. with

Formel

  • choosing the weights:


Non-Convex Case:

  • main disadvantage of the weighted-sum approach: for non-convex trade-off surfaces not all Pareto-optimal solutions can be generated

Population based Multi-objectie Approaches:

  • historically, two generations of MOEAs

  • first generation: characterized by the use of Pareto ranking and/ or fitness sharing to ensure …


Criterion-based (VEGA):

Vector Evaluated Genetic Algorithm (VEGA):

  • advantage: simple, without much computational effort

  • disadvantage: clear …

Pareto-Based Ranking Evolutionary Algorithm:

  • better approach: use concept of dominance for selection…

Multi-objective Genetic Algorithm (MOGA):

  • consists of a scheme in which the rank of a certain individual corresponds …

Second Generation Elitism Based MOEAs:

  • introduction of a secundary and elite archive population …


dominance count: the number of individuals in P dominated by x


dominance rank: the number of individuals in P dominating x


Script bis 2 562 erklären können!!!!!!!!!!!!!!!!!!!!


Nicht in Prüfung

Was sind Evolutionäre Algorithmen?

Historisch:

Evolutionäre Algorithmen (EAs) sind Computer-basierte heuristische Lösungsraumsuchverfahren, welche die Grundprinzipien der Natur imitieren: Sie basieren auf Annahmen über die Evolution von Darwin (1859)


Demzufolge ist Evolution ein Ergebnis von Selektion und Variation. Andere Ansätze sehen Evolution als eine Folge von neutralen Mutationen und genetischer Drift Kimura (1983).


Mendel entwickelte die Vererbungslehre und stellte fest, dass die Informationen über ein Individuum in Form von Genen gespeichert werden. Er war der erste Forscher, der die Gesetzmäßigkeiten der Vererbung systematisch untersuchte. Als Versuchsobjekte wählte Mendel Gartenerbsen, welche über eindeutig unterscheidbare phänotypische Merkmale verfügen. Die Verbreitung dieser Merkmale beobachtete er im Rahmen von Kreuzungsversuchen über mehrere Generationen hinweg. Zunächst erzeugte Gregor Mendel durch wiederholte Selbstbefruchtung (Inzucht) reinerbige Linien (z.B. lang- oder kurzstielig). Neue Merkmalsformen oder Merkmalskombinationen mußten daher ausschließlich ein Ergebnis der Kreuzungsbedingungen sein.


Wichtige Wegbegründer von Evolutionären Verfahren waren John Holland und Ingo Rechenberg.


Evolutionäre Algorithmen (EAs):

  • Heuristische Optimierungs- und Suchverfahren auf der Basis von biologischer Evolution

    • Selektion (survival of the fittest)

    • Rekombination

    • Mutation

  • arbeitet mit Genen und nicht mit Organismen

  • populationsbasiert über mehrere Generationen

  • Anzahl Individuen > 1


Nicht in Prüfung

EAs

Beispiel Damenproblem?

Finde eine Platzierung für n Damen auf einem n × n Schachbrett, so dass in jeder

Spalte, Zeile und Diagonale genau eine Dame zu finden ist


Felder, die eine Dame schlagen kann

Eine Lösung des n-Damen Problems

Backtracking Lösung des n-Damen Problems

  • platziere Damen Spalte für Spalte von unten nach oben (oder Zeile für Zeile von links nach rechts)

  • gehe für jede Zeile wie folgt vor

    • teste von links nach rechts alle Felder einer Zeile für die Platzierung einer Dame; fange mit dem ersten Feld an und platziere eine Dame

    • keine Kollision: Rekursiver Aufruf mit der nächsthöheren Zeile zum Platzieren weiterer Damen

    • Verschiebe die Dame um ein Feld nach rechts und teste wieder; Wiederhole

    • Falls Dame aus aktueller Zeile rausgefallen, beende aktuelle Rekursionsstufe

  • gebe kollisionsfreie Spielfigurenanordnung zurück

  • ein Optimierungsalgorithmus ist nicht notwendig, um das n-Damen Problem zu lösen

  • das n-Damen Problem erlaubt eine anschauliche Einführung in Funktionsweise evolutionärer Algorithmen

Kodierung

  • Repräsentation: 1 Lösung = 1 Chromosom mit n Genen

  • Gen: eine Zeile des Schachbretts mit n möglichen Allelen

  • Belegung eines Gens: Position einer Dame in zugehöriger Zeile

  • Läsungen mit mehr als einer Dame in einer Zeile sind ausgeschlossen

    → kleinerer Suchraum

Evaluation

  • Fitness: negierte Anzahl an Zeilen und Spalten mit mehr als einer Dame

  • zähle jede Spalte / Zeile / Diagonale mit ≥ 2 Damen

  • Abbruchkriterium 1: Fitness == 0

  • Abbruchkriterium 2: Erreichen der maximalen Anzahl der Generationen


Nicht in Prüfung

EAs, Genetische Algorithmen

Was ist Epistasie?

Beispiel:

  • Problem des Handlungsreisenden (Finde Rundreise mit minimalen Kosten durch n Städte.)

  • Kodierung 1:

    Eine Rundreise wird durch eine Permutation der Städte dargestellt. (Stadt an k-ter Position wird im k-ten Schritt besucht.)

    Geringe Epistasie: z.B. Austausch zweier Städte ändert die Fitneß (Kosten der Rundreise) i.a. etwa gleich stark (lokale Touränderung).

  • Kodierung 2:

    Die Rundreise wird durch Angabe der Position der jeweils nächsten Stadt in einer Liste beschrieben, aus der alle besuchten Städte gestrichen werden.

    Hohe Epistasie: Die Änderung eines Gens, speziell im Chromosom vorn liegender Gene, kann (fast) die gesamte Rundreise ändern (globale Touränderung) und führt daher oft zu großen Änderungen der Fitneß.

  • Zeigt die verwendete Kodierung hohe Epistasie, so ist das Optimierungsproblem oft für einen genetischen Algorithmus schwer zu lösen, da Regelmäßigkeiten fehlen, die durch ihn ausgenutzt werden könnten. (Mutation und Crossover führen zu fast zufälligen Fitneßänderungen.)

  • Läßt sich eine Kodierung mit sehr geringer Epistasie finden, so sind andere Verfahren oft besser geeignet (z.B. Zufallsaufstieg).

  • Man hat versucht, mit dem Begriff der Epistasie Probleme als durch einen genetischen Algorithmus leicht oder schwer lösbar zu kennzeichnen [Davidor 1990].

    Das gelingt jedoch nicht:

    • Epistasie ist eine Eigenschaft der Kodierung, nicht des Problems. (Es kann für ein Problem Kodierungen mit hoher und niedriger Epistasie geben — siehe vorangehendes Beispiel.)

    • Es gibt Probleme, die mit geringer Epistasie kodiert werden können, und dennoch durch einen genetischen Algorithmus schwer zu lösen sind.

  • Problem der Epistasie:

    • in der Biologie: Ein Allel eines Gens — des sogenannten epistatischen Gens— unterdrückt die Wirkung aller möglichen Allele eines anderen Gens (oder auch mehrerer anderer Gene).

    • in genetischen Algorithmen: Wechselwirkung zwischen den Genen eines Chromosoms. Die Änderung der Fitneß durch die Änderung eines Gens hängt stark von den Ausprägungen der anderen Gene ab.

  • Epistasie in der Biologie:

    • Abweichungen von den Mendelschen Gesetzen beruhen oft auf Epistasie.

    • Kreuzt man reinerbige schwarz- und weißsamige Bohnen, so erhält man in der zweiten Nachkommengeneration schwarz-, weiß- und braunsamige Bohnen im Verhältnis 12:1:3, was den Mendelschen Gesetzen widerspricht.


Nicht in Prüfung

EAs, Genetische Algorithmen

Was gilt für den Suchraum??????

  • Der Suchraum (Menge der kodierten Lösungskandidaten) sollte, soweit möglich, unter den verwendeten genetischen Operatoren abgeschlossen sein.

  • Was als Verlassen des Suchraums gilt, ist u.U. eine Definitionsfrage.

  • Allgemein: Der Suchraum wird verlassen, wenn

    • das neue Chromosom nicht sinnvoll interpretiert/dekodiert werden kann,

    • der Lösungskandidat bestimmte prinzipielle Anforderungen nicht erfüllt,

    • der Lösungskandidat durch die Fitneßfunktion falsch bewertet wird.

  • Problem der Abstimmung von Kodierung und genetischen Operatoren.

    • Verwenden kodierungsspezifischer genetischer Operatoren.

    • Einsatz von Mechanismen, die Chromosomen „reparieren“.

    • Einführen eines Strafterms, der die Fitneß von Chromosomen außerhalb des Suchraums (deutlich) verringert.

Beispiel zum Verlassen des Suchraums:

  • n-Damen-Problem (Plazierung von n-Damen auf einem n × n-Schachbrett).

  • Kodierung 1:

    Chromosom der Länge n, das die Spaltenpositionen der Damen je Zeile angibt (Allele 0, . . . , n − 1, siehe einführendes Beispiel).

    Operatoren: Ein-Punkt-Crossover, Standardmutation

    Es entstehen stets wieder gültige Vektoren von Spaltenpositionen.

    → Suchraum wird nicht verlassen.

  • Kodierung 2:

    Chromosom der Länge n, das die Nummern der Felder (Allele 0, . . . , n2 − 1) angibt, auf denen Damen stehen.

    Operatoren: Ein-Punkt-Crossover, Standardmutation

    Es entstehen Chromosomen, die mehrere Damen auf das gleiche Feld setzen.

    → Suchraum wird verlassen.

Andere Kodierung verwenden: Da die erste Kodierung das Problem des

Verlassens des Suchraums vermeidet, außerdem der Suchraum deutlich kleiner

ist, ist sie vorzuziehen. (Dies ist, wenn durchführbar, die beste Variante!)

• Kodierungsspezifische genetische Operatoren

◦ Mutation: Schließe bereits vorhandene Allele bei der zufälligen Wahl aus.

◦ Crossover: Stelle zunächst die Feldnummern je Chromosom zusammen, die

im jeweils anderen Chromosom nicht vorkommen, und wende auf die so

verkürzten Chromosomen das Ein-Punkt-Crossover an.

• Reparaturmechanismus: Finde und ersetze doppelt bzw. mehrfach auftreten-

de Feldnummern, so daß alle Feldnummern verschieden werden.

• Strafterm: Verringere die Fitneß um die Anzahl der Doppel-/Mehrfachbelegungen

von Feldern, ggf. multipliziert mit einem Gewichtungsfaktor.

Nicht in Prüfung

EAs, Genetische Algorithmen, Selektion

Wie funktioniert die Glücksradauswahl?

Was ist das Dominanzproblem?

  • Glücksradauswahl (roulette wheel selection) ist das bekannteste Verfahren.

  • Berechne die relative Fitneß der Individuen:

und interpretiere sie als Auswahlwahrscheinlichkeit eines Individuums (sogenannte fitneßproportionale Selektion).

  • Beachte: Die absolute Fitneß fabs(s) darf in diesem Fall nicht negativ sein; ggf. ist ein positiver Wert zu addieren oder negative Werte sind Null zu setzen.

  • Beachte: Die Fitneß muß zu maximieren sein. (Sonst würden schlechte Individuen mit hoher Wahrscheinlichkeit gewählt).

  • Veranschaulichung: Glücksrad mit einem Sektor je Individuum s. Die Sektorgrößen entsprechen den relativen Fitneßwerten frel(s).

Auswahl eines Individuums:

  • Drehe Glücksrad.

  • Wähle Chromosom, dessen Sektor an der Markierung liegt.

Auswahl der Zwischenpopulation:

  • Wiederhole die Auswahl so oft, wie es Individuen in der Population gibt.

Technischer Nachteil der Glücksradauswahl:

  • Zur Berechnung der relativen Fitneß müssen die Fitneßwerte aller Individuen summiert werden (Normierungsfaktor).

    • Ausgangspopulation muß während der Auswahl konstant bleiben.

    • Parallelisierung der Implementierung wird erschwert.


Dominanzproblem:

  • Hat ein Individuum eine sehr hohe Fitneß, kann es die Auswahl dominieren.

  • In den Folgegenerationen wird diese Dominanz noch verstärkt, da dann Kopien und sehr ähnliche Individuen vorliegen.

  • Als Ergebnis kommt es zum Crowding: Die Population besteht aus gleichen und sehr ähnlichen Individuen.

  • Crowding führt dazu, daß das (lokale) Optimum sehr schnell gefunden wird.

  • Nachteil: Die Diversität der Population geht verloren.

    • Ausbeutung eines oder weniger guter Individuen.

    • Keine Durchforstung des Suchraums, sondern lokale Optimierung. (in späten Generationen erwünscht, am Anfang unerwünscht.)

Einfluss der Fitneßfunktion:

Das Dominanzproblem weißt auf den starken Einfluß der Fitneßfunktion auf die Wirkung der fitneßproportionalen Selektion hin.

  • Problem der vorzeitigen Konvergenz:

    Nimmt die zu maximierende Funktion stark unterschiedliche Werte an, so kann es zu vorzeitiger Konvergenz kommen.

  • Beispiel: Ist am Anfang im Bereich B kein Chromosom, so bleibt die Population durch die Selektion in der Nähe des (lokalen) Maximums im Bereich A


Selektionsintensität:


Author

Carina F.

Information

Last changed