Genetische Algorithmen (GA) Jens Mueller 15.12.2004 Folie 1
Gliederung 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete GA 5. Vergleich mit anderen Optimierungverfahren 6. Zusammenfassung Jens Mueller 15.12.2004 Folie 2
Einfuehrung I Orca Charles Darwin Schwarze Witwe Quelle: Microsoft Encarta 2001 Jens Mueller 15.12.2004 Folie 3
Einfuehrung II Einordnung: Soft Computing Soft Computing = Fuzzy Logic + Neuronale Netze + Genetische Algorithmen? Meist modellfreie Ansaetze? Approximation statt exakte Loesung? Oft schnelleres Finden einer brauchbaren Loesung (ohne tiefgehende Problemanalyse) Jens Mueller 15.12.2004 Folie 4
Wo sind wir? 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe und ihre Bedeutung 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete GA 5. Vergleich mit anderen Optimierungverfahren 6. Zusammenfassung Jens Mueller 15.12.2004 Folie 5
Grundbegriffe und ihre Bed: I Jens Mueller 15.12.2004 Folie 6
Grundbegriffe und ihre Bed. II Jens Mueller 15.12.2004 Folie 7
Grundbegr. und ihre Bed. III: Mutation zufaellige Veraenderung einzelner Gene in einem Chromosomen Zugriff ueber Parameter Anfangs nicht vorhandene Allele koennen (nur) durch Mutationen entstehen. Jens Mueller 15.12.2004 Folie 8
Grundbegr. und ihre Bed. IV: Crossingover Austausch eines Chromosomenstuecks (oder auch einer in anderer Weise ausgewaehlter Teilmenge der Gene) zwischen zwei Individuen. Ein-Punkt-Crossover (Abb.) Waehle zufaellig eine Trennstelle zwischen zwei Genen. (Bsp. 2) Tausche die Gensequenzen auf der einen Seite dieser Trennstelle aus Jens Mueller 15.12.2004 Folie 9
Elemente eine GAs I Ein genetischer Algorithmus besteht aus:? einer Kodierungsvorschrift fuer die Loesungskandidaten? Problemspezifisch - es gibt keine allgemeinen Regeln.? einer Anfangspopulation? zu erzeugen Meist werden einfach zufaellige Zeichenketten erzeugt; je nach gewaehlter Kodierung koennen aber auch komplexere Verfahren noetig sein.? einer Bewertungsfunktion (Fitneßfunktion) fuer die Individuen? spielt die Rolle der Umgebung? Maß fuer Guete des Individuums? problemspezifisch keine Allgemeine Regeln? einer Auswahlmethode auf der Grundlage der Fitneßfunktion? Welche Individuen werden zur Erzeugung der Nachkommen herangezogen? Jens Mueller 15.12.2004 Folie 10
Elemente eine GAs II? genetischen Operatoren, die die Loesungskandidaten aendern? Mutation? Crossover Rekombination von Chromosomen? Werten fuer verschiedene Parameter? (z.b. Populationsgroeße, Mutationswahrscheinlichkeit etc.)? einem Abbruchkriterium, z.b.? eine festgelegte Anzahl von Generationen wurde berechnet? eine festgelegte Anzahl von Generationen lang gab es keine Verbesserung? eine vorgegebene Mindestloesungsguete wurde erreicht Jens Mueller 15.12.2004 Folie 11
Elemente eine GAs III: Pseudocode var P: Menge von Individuen begin Initialisiere P Bewerte die Individuen aus P while not fertig do Waehle in P eine Teilmenge von Eltern aus Erzeuge veraenderte Nachkommen in P Bewerte die aus P end Ergebnis = bestes Individuum aus P end Jens Mueller 15.12.2004 Folie 12
Wo sind wir? 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe und ihre Bedeutung 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete GA 5. Vergleich mit anderen Optimierungverfahren 6. Zusammenfassung Jens Mueller 15.12.2004 Folie 13
Bps: Magische Quadrat I 4 6 5 Was ist ein Magisches Quadrat? 7 4 5 4 3 7 3x3 Matrix gefuellt mit Nummern Ziel: Summen aller Zeilen, Spalten und Diagonalen sollen 15 ergeben Diagonalen erfuellen Bed. Noch nicht (rot) Jens Mueller 15.12.2004 Folie 14
Bps: Magische Quadrat II? Kodierung? Darstellung als Liste Zeilendarstellung? ((4 6 5) (7 5 3) (4 4 7)) statt Matrixform? Konvertierungsfunktionen? Zeilendarstellung zu Spaltendarstellung? ((4 7 4) (6 5 4) (5 3 7))? Spaltendarstellung zu Diagonaldarstellung? ((4 5 7) (5 5 4 ))? Fitnessfunktion? Summe der Absolutwerte der Differenz zwischen jeder Zeile, Spalte und Diagonale und 15? Abbruchbedingung? Loesung mit Fitness = 0 Jens Mueller 15.12.2004 Folie 15
Bps: Magische Quadrat III Fitnesswerte fuer dieses Quadrat? 4 7 4 6 5 4 5 3 7 Jens Mueller 15.12.2004 Folie 16
Bps: Magische Quadrat IV? Umsetzung (Scheme)? Ausgangswerte? Population: 20? Crosslink 75? Auswahl von 60% der Besten? Mutationsrate: 1%? Durchschnittliche Anzahl benötigter Generationen um Ergebnis zu erzielen:? GA: 150 Generationen? mit Probierfunktion: zehn Tage? Matrix mit Zufallszahlen fuellen und dann pruefen Jens Mueller 15.12.2004 Folie 17
Wo sind wir? 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe und ihre Bedeutung 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete GA 5. Vergleich mit anderen Optimierungverfahren 6. Zusammenfassung Jens Mueller 15.12.2004 Folie 18
Anwendungsgebiete GA I Allgemein: Loesen von Optimierungsproblemen? Gegeben: ein Suchraum S? eine zu optimierende Funktion f : S? IR? ggf. einzuhaltende Nebenbedingungen? Gesucht: Ein Element s? S, das die Funktion f optimiert.? Prinzipielle Loesungsansaetze:? analytische Loesung: sehr effizient, aber nur in seltenen Faellen anwendbar? vollstaendige Durchforstung: sehr ineffizient, daher nur bei sehr kleinen Suchraeumen anwendbar? blinde Zufallssuche: immer anwendbar, aber meist sehr ineffizient? gesteuerte Suche: Voraussetzung: Funktionswerte aehnlicher Elemente des Suchraums sind aehnlich. Jens Mueller 15.12.2004 Folie 19
Anwendungsgebiete GA II Beispiele fuer Optimierugsprobleme:? Parameteroptimierung? z.b. Kruemmung von Rohren fuer minimalen Widerstand? Packprobleme? Z.B. Packen moeglichst weniger Container mit gegebenen Guetern (Hamburger Hafen)? Wegeprobleme? Problem des Handlungsreisenden? Z.B. Verlegen von Leiterbahnen auf Platinen und in integrierten Schaltkreisen Jens Mueller 15.12.2004 Folie 20
Anwendungsgebiete GA III? Anordnungsprobleme? z.b. Positionierung von Verteilerknoten in einem Telefonnetz? Planungsprobleme? z.b. Ablaufplaene (Scheduling)? Strategieprobleme? Gefangenendilemma? Modelle der Spieltheorie? biologische Modellbildung Jens Mueller 15.12.2004 Folie 21
Anwendungsgebiete IV? Kleiner Exkurs Gefangendillema? bekannteste Problem der Spieltheorie (engl.: prisoner s dilemma)? Zwei Personen haben einen Bankueberfall begangen und werden verhaftet.? Die Beweise reichen jedoch nicht aus, um sie in einem Indizienprozeß wegen des Bankueberfalls zu verurteilen.? Die Beweise reichen jedoch aus, um sie wegen eines geringfuegigeren Deliktes? (z.b. unerlaubter Waffenbesitz) zu verurteilen (Strafmaß: 1 Jahr Gefaengnis).? Angebot des Staatsanwaltes: Kronzeugenregelung? Gesteht einer der beiden die Tat, wird er Kronzeuge und nicht verurteilt.? Der andere dagegen wird mit voller Haerte bestraft (10 Jahre Gefaengnis)? Problem: Gestehen beide, gilt die Kronzeugenregelung nicht. Da sie jedoch beide gestaendig sind, erhalten sie mildernde Umstaende zugesprochen (Strafe: je 5 Jahre Gefaengnis)? Viele Alltagssituation lassen sich mit dem Gefangenendilemma beschreiben. Jens Mueller 15.12.2004 Folie 22
Wo sind wir? 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe und ihre Bedeutung 2.2. Elemente eines GAs 3. Bsp.: Magisches Quadrat 4. Anwendungsgebiete GA 5. Vergleich mit anderen Optimierungverfahren 6. Zusammenfassung Jens Mueller 15.12.2004 Folie 23
Vergleich mit anderen Optimierungsverfahren I Optimierungsverfahren deterministisch Nicht-deterministisch z.b. z.b. Simplexverfahren Monte-Carlo Gauß-Seidel Strategie Genetische Algorithmen Gradientenverfahren Jens Mueller 15.12.2004 Folie 24
Vergleich mit anderen Optimierungsverfahren II Bsp. Deterministisch allesamt hill-climbing Strategien Verhalten sich prinzipiell, wie Bergsteiger, der um zum Gipfel zu kommen sich immer an dem lokalen Anstieg orientiert und sich bevorzugt dorthin bewegt, wo ein Anstieg festzustellen ist. Jens Mueller 15.12.2004 Folie 25
Vergleich mit anderen Optimierungsverfahren III nicht deterministische Grundidee bei der Suche nach Optima in großen Suchraeumen von Zufall gebrauch zu machen Zufall ist nicht Willkuer Gefahr Optima zu verspassen ist im Gegensatz zu deterministische Verfahren bei einer gleichmaeßigen Streuung relativ gering Jens Mueller 15.12.2004 Folie 26
Vergleich mit anderen Optimierungsverfahren IV? Ziel: Berechngung des Flaecheninhalts einer komplizierten Flaeche? det. Verf:? zerlegt Flaeche in mehr oder weniger große Zahl einfacher Flaechen (z.b. Dreiecke) Gesamtflaeche ergibt sich approximativ als Summe der einfacheren Flaeche? Monte-Carlo Verfahren? man zeichnet um die zu berechnende Flaeche ein Quadrat (oder Rechteck)? man erzeugt zufaellig Punkte innerhalb des Quadrates? wichtig Pkt. muessen mit gleicher Wahrscheinlichkeit erzeugt werden? Q*(t/r)? Q Flaeche des Quadrates? r Anzahl aller Punkte? t Anzahl aller Treffer (= Punkte innerhalb der zu berechnenden Flaeche)? je groeßer die Gesamtzahl der generierten Punkte desto genauer wird die Berechnung Jens Mueller 15.12.2004 Folie 27
Vergleich mit anderen Optimierungsverfahren V? Genetische Algorithmen sind recht teure Optimierungsverf., da oft? mit einer großen Population (einige tausend bis einige zehntausend Individuen)? mit einer großen Zahl an Generationen (einige hundert) gearbeitet werden muss, um eine hinreichende Loesungsguete zu erreichen.? Dieser Nachteil wird zwar durch eine oft etwas hoehere Loesungsguete im Vergleich zu anderen Verfahren wettgemacht, trotzdem kann die Laufzeit eines genetischen Algorithmus unangenehm lang sein.? Loesungsansatz: Parallelisierung,? d.h. die Verteilung der notwendigen Operationen auf mehrere Prozessoren. Jens Mueller 15.12.2004 Folie 28
Zusammenfassung Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime. Salvatore Mangano Computer Design, May 1995 Jens Mueller 15.12.2004 Folie 29
Quellen? Schöneburg, Heinzmann, Federsen: Genetische Algorithmen und Evolutionsstrategien Eine Einfuehrung in Theorie und Praxis der simulierten Evolution. Addison-Wesley Bonn 1994? Grillmeyer, Oliver: Exploring Computer Science with Scheme. Springer New York 1998? Borgelt, Christian: Vorlesung SoSe2004 - Genetische Algorithmen. Magdeburg? c t 11/1993 Modell Natur Jens Mueller 15.12.2004 Folie 30
Frohe Weihnachten und einen guten Rutsch ins neue Jahr!!! Jens Mueller 15.12.2004 Folie 31