Genetische Algorithmen (GA) Jens Mueller Folie 1

Genetische Algorithmen (GA) Jens Mueller 15.12.2004 Folie 1 Gliederung 1. Einfuehrung 2. Grundlagen Genetischer Algorithmen 2.1. Grundbegriffe 2....
Author: Heini Seidel
4 downloads 0 Views 755KB Size
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

7

5

3

4

4

7

Jens Mueller

– Was ist ein „Magisches Quadrat“? • 3x3 Matrix gefuellt mit Nummern • Ziel: Summen aller Zeilen, Spalten und Diagonalen sollen 15 ergeben • Diagonalen erfuellen Bed. Noch nicht (rot)

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

6

5

7

5

3

4

4

7

Jens Mueller

15.12.2004

Folie 16

Bps: „Magische Quadrat“ IV ?

Umsetzung (Scheme) ?

Ausgangswerte ? ? ? ?

?

Durchschnittliche Anzahl benötigter Generationen um Ergebnis zu erzielen: ?

?

Population: 20 Crosslink 75 Auswahl von 60% der Besten Mutationsrate: 1%

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 ?

?

Planungsprobleme ?

?

z.B. Ablaufplaene (Scheduling)

Strategieprobleme ? ?

?

z.B. Positionierung von Verteilerknoten in einem Telefonnetz

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 z.B.

Nicht-deterministisch 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