Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve...

65
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen

Transcript of Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve...

Page 1: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Inleiding Adaptieve Systemen

Genetische Algoritmen

Page 2: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Evolutie

Page 3: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Evolutie (pun)

Page 4: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genetische Algoritmen

Page 5: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Figuur uit:

Evolutionaire algoritmen

Genetische algoritmen

Genetisch program-

meren

Grammatische evolutie

Vandaag

Page 6: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genetische Algoritmen: motivatie

• Wat evolutie kan, dat kan ik ook met mijn PC, alleen dan 1E09 keer sneller.

• Even voor god spelen.

Page 7: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Definitie (voor wat het waard is)

• Een Genetisch Algoritme is een probabilistisch zoekalgoritme …

• … dat door middel van iteratie een verzameling genotypen (bv. bitstrings), elk met een fitness-waarde, omzet in een nieuwe verzameling genotypen, …

• … gebruikmakend van het Darwinistische principe van natuurlijke selectie …

• … en gebruikmakend van operaties die zijn geïnspireerd op natuurlijk voorkomende genetische operaties, zoals kruising en mutatie.

Page 8: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Mitose en meiose

• Mitose (kopieerdeling) is chromosoom-splitsing bij normale celdeling. (Duur: 12-24 uur.)

• Meiose (reductiedeling) is chromosoom-splitsing bij geslachtelijke celdeling. Produceert zaad- of eicellen. Kruising vindt plaats in ouder. Zie filmpje meiose.

Page 9: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Chromosomen van de mens

Page 10: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Page 11: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Evolutieproces

• Er is een populatie van organismen.

• Organismen zijn verschillend (genotype), en presteren ook verschillend (fenotype).

• Een organisme kan zichzelf (geslachtelijk dan wel ongeslachtelijk) voortplanten.

• Het vermogen zich voort te planten hangt samen met het succes, of prestatievermogen (fitness), van een organisme.

Page 12: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Zelfreproductie in CSCellulaire Automaat: Langton’s Loop

• Langton’s Loop is een zelf-reproducerende automaat.

• Overeenkomst met celdeling en mitose: zelf-reproductie.– Blauw (1) en rood (2) vormen

een kanaal.

– Signalen 3 t/m 7 doen allen iets anders als ze de pijp uitkomen.

• Zie Hiroki Sayama's applet, of Golly

Page 13: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Page 14: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld

Het vinden vaneen goede restaurant-formule

Page 15: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Burger Restaurant Probleem

• Prijs / kwaliteit verhouding– 0 = Hoge prijs / kwaliteit

– 1 = Lage prijs / kwaliteit

• Drank– 0 = Wijn

– 1 = Cola

• Service– 0 = Snel maar onpersoonlijk

– 1 = Met aandacht, maar niet al te snel

Page 16: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genetisch Algoritme

Generatie 0 Generatie 1

Genotype Fitness Genotype

011 $3 111

001 $1 010

110 $6 110

010 $2 010

Page 17: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Zoekruimte

• Omvang van het alfabet: K = 2

• Chromosoom-lengte: L = 3

• Omvang van de zoekruimte:

KL = 2L = 23 = 8 restaurant-formules

1 000

2 001

3 010

4 011

5 100

6 101

7 110

8 111

Page 18: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

De startgeneratie

# Generatie 0 Opbrengst

1 011 € 3,=

1 001 € 1,=

1 110 € 6,=

1 010 € 2,=

Totaal € 12,=

Slechtst € 1,=

Gemiddeld € 3,=

Best € 6,=

Multi-pliciteit

Page 19: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

0.5

0.08

0.250.17

Fitness-proportionele selectie

Probabilistisch roulettewiel:

• De kans dat een chromosoom gekozen wordt “om iets mee te doen” voor de volgende generatie ~ relatieve fitness

Page 20: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Mating pool

# Generatie 0 Mating pool

1 011 € 3 .25 011 € 3

1 001 € 1 .08 110 € 6

1 110 € 6 .50 110 € 6

1 010 € 2 .17 010 € 2

Totaal € 12 € 17

Slechtst € 1 € 2

Gemiddeld € 3 € 4.5

Best € 6 € 6

Page 21: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Principe vanEvolutionaire Algoritmen

• Succesvolle individuen hebben een grotere kans om te paren met soortgenoten.

• Maar: “een grotere kans” is nog geen garantie.

• Slecht presterende individuen krijgen ook een kans om te paren―maar wel een kleinere kans.

• Niets is gegarandeerd. (“Stochastisch proces”)

• Selectie is een mix van exploitatie en exploratie.

Probabilistische selectie gebaseerd op fitness

Page 22: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genereer initiële populatie P ter

grootte N

Bereken van elke chromosoom uit

P de fitness

Bepaal de meest fitte chromo-

soom , W, uit P

Tevreden?Creëer lege

populatie Q en plaats W daar in

Selecteer genetische operator

Kies twee

ouders uit P

Kies één ouder uit P

Kies één ouder uit P

Plaats kopie in Q

Plaats mutant

in Q

Plaats kinderen

in Q

|Q| =

|P| ?

P wordt

Q

Stop

ja

nee

Flow (Koza, 1992)ja

nee

recombinatie

repr

oduc

tie

mu-tatie

Specifiek voor Koza

Page 23: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Reproductie (met kans pr)

# Generatie 0 Mating pool Generatie 1

1 011 € 3 .25

1 001 € 1 .08

1 110 € 6 .50 110 € 6 1 110 € 6

1 010 € 2 .17

Totaal € 12 € 17

Slechts € 1 € 2

Gemiddeld € 3 € 4.5

Best € 6 € 6

Page 24: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Mutatie (met kans pm)

• Ouder wordt probabilistisch gekozen op basis van fitness.

• Punt van mutatie wordt willekeurig gekozen

• Eén kind.

• De kans op mutatie is in de natuur erg klein.

Analoog wordt de kans op mutatie gezet op een klein getalletje ε > 0.

• Mutatie zorgt voor diversiteit.

Ouder

010

Kind

011

Page 25: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Na mutatie

# Generatie 0 Mating pool Generatie 1

1 011 € 3 .25 011 € 3

1 001 € 1 .08 110 € 6

1 110 € 6 .50 110 € 6

1 010 € 2 .17 010 € 2 1 011 € 3

Totaal € 12 € 17

Slechtst € 1 € 2

Gemiddeld € 3 € 4.5

Best € 6 € 6

Page 26: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Crossover (met kans pc)

• Twee ouders worden willekeurig gekozen, op basis van fitness.

(Het is niet nodig om eerst de mating pool expliciet aan te leggen.)

Ouder 1 Ouder 2

011 110

Page 27: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Kruising

Kies een willekeurig snijpunt.

Voor de andere ouder is het snijpunt daarmee ook vastgelegd.

Dat levert:

• Twee prefixen: Prefix 1 en Prefix 2

• Twee suffixen.

Kruising

• Kind 1 = Prefix 1 + Suffix 2

• Kind 2 = Prefix 2 + Suffix 1

Suffix 1 Suffix 2

- - 1 - - 0

Kind 1 Kind 2

111 010

Prefix 1 Prefix 2

01- 11-

Hoeveel mogelijke snijpunten zijn er in een chromosoom ter lengte 10?

10 1 = 9 reële (inwendige) snijpunten,

+ 2 oneigenlijke (uitwendige) snijpunten

Hoeveel mogelijk verschillende kinderen (offsprings)?

Voor Kind 1: 9Voor Kind 2: 9 = samen 18(Geen 2 x 9 x 9 = 162!)

Page 28: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Na crossover (kruising)

# Generatie 0 Mating pool Generatie 1

1 011 € 3 .25 011 € 3 1 111 € 7

1 001 € 1 .08 110 € 6 1 010 € 2

1 110 € 6 .50 110 € 6

1 010 € 2 .17 010 € 2

Totaal € 12 € 17

Slechtst € 1 € 2

Gemiddeld € 3 € 4.5

Best € 6 € 6

Page 29: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Probabilistische elementen

• De nul-generatie wordt random opgezet.

• Probabilistische selectie voor paring gebaseerd op fitness.– “Winnaars” wordt niet noodzakelijk geselecteerd.

– “Verliezers” worden niet noodzakelijk uitgesloten.

• Willekeurige snijpunten in kruising.

• Spaarzame momenten van mutatie. In dat geval willekeurige mutatiepunten.

• Invloed van exogeniteit: vaak hangt de prestatie (fitness) ook nog af van toevallige omstandigheden in de omgeving.

Bijvoorbeeld, in Week 43 zal service-formule 110 waarschijnlijk niet hetzelfde opleveren als in Week 52.

Page 30: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Generatie 1

Generatie 0 Mating pool Generatie 1

1 011 € 3 .25 011 € 3 1 111 € 7

1 001 € 1 .08 110 € 6 1 010 € 2

1 110 € 6 .50 110 € 6 1 110 € 6

1 010 € 2 .17 010 € 2 1 011 € 3

Totaal € 12 € 17 € 18

Slechtst € 1 € 2 € 2

Gemiddeld € 3 € 4.3 € 4.5

Best € 6 € 6 € 7

Page 31: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Toepassing 1: antenne ontwerp

Antenne is voor

grond ↔ satelliet commu-

nicatie in auto's en handsets

Page 32: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Antenne ontwerp: het probleem

• Edward Altshuler en Derek Linden– 1998. A Process for the Design of Antennas Using Genetic

Algorithms. U.S. patent 5,719,794. Uitgegeven op 17 Feb 1998.

– 2001. Innovative antenna design using genetic algorithms. Creative evolutionary systems, pp. 487-510.

• Bepaal de X,Y,Z-coordinaten van zes kogelscharnieren

(X1, Y1, Z1), (X2, Y2, Z2),..., (X6, Y6, Z6)

en een eindpunt (X7, Y7, Z7) van een 7-delige antenne.

• Randvoorwaarden:1. De antenne start in de oorsprong (0, 0, 0).

2. De antenne moet passen in de (0.5λ)3 kubus.

Page 33: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Antenne genoom

• Elk 3D-punt wordt gerepresenteerd door 5 bits.– Vier bits voor het getal zelf (dus coördinaat klimt op in 24 = 16 stukjes).– Eén bit voor het teken.

• Dimensie: 3 [ (X, Y, Z) ]

Aantal punten: 7 [ scharnierpunt 1, scharnierpunt 2, etc. ]

Aantal bits per punt: 5 [ vier voor getal, één voor + of – ]

• De totale chromosoom-lengte is dus 3 x 7 x 5 = 105 bits.

X1 Y1 Z1 X2 Y2 Z2 …

+0010 -1110 +0001 +0011 -1011 +0011 …

Page 34: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Resultaten

Page 35: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Toepassing 2: giek van hijskraan

100 KG

100 KG

Page 36: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Giek van een hijskraan

• Goldberg, D.E., Samtani, M.P. (1986), “Engineering optimization via genetic algorithm”, Proc. 9th Conf. on Electronic Computation, ASCE, pp. 471-84.

• Probleem: minimaliseer het gewicht van de stangen-constructie.

• De giek heeft tien stangen: zes van 30cm en vier van 2 x 30 = 41cm.

• Variabel: de diameter van elke stang: ( A1, ..., A10 )

• Voorgedefinieerd en niet variabel: de rest (= o.a. de constructie, het materiaal en de belasting).

Page 37: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genoom van een constructie

• We discretiseren de zoekruimte:– Continue waarden: alles van 2mm t/m 17mm

– Discrete waarden: { 2mm, 3mm, 4mm, …, 16mm, 17mm }

• Diameters worden gerepresenteerd als bitstrings.– 0000 = kleinste diameter

– 1111 = grootste diameter

• Lengte van het totale chromosoom is 10 x 4 = 40 bits

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

0010 1110 0001 0011 1011 0011 1111 0011 0011 1010

Page 38: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Fitness van een constructie

• De fitness van een constructie wordt bepaald door som van twee onderdelen:

1. Het totale gewicht van de constructie (excl. belasting).

2. Een extra penalty (10% van het gewicht) voor als de constructie breekt.

Hoe lager de fitness, hoe beter, in dit geval.

• Of een constructie breekt, wordt bepaald door proberen (kostbaar) of aan de hand van standaard werktuigbouwkundige berekeningen.

• Vraag: hadden we de constructie dan niet meteen kunnen doorrekenen?

Antwoord: breekpunt wel, maar niet de verdeling van de diameters over de staven.

Page 39: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Toepassing 3: de fouragerende mier

• Rooster van 32 x 32, als torus.

• Zwart is voedsel, grijs is pad (gelijk aan wit).

• Als voedsel uit een vakje opgegeten is, verwijnt het.

• De getallen geven bijzondere of interessante punten weer.

• Een mier wordt verwijderd in de volgende gevallen:

– Voedsel op.

– Doet er te lang over.

Page 40: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

De mier!

Vier atomaire acties• Doe niets (de nul-actie).• Draai 900 naar links.• Draai 900 naar rechts.• Doe een stap naar voren.Elke actie ~ bitstring ter lengte 2

Toestanden De mier kan zich in een aantal niet noodzakelijk betekenisvolle toestanden bevinden.

Perceptie De mier ziet altijd en alleen het vakje vóór zich. Resultaat: VOER of GEEN-VOER.

Hier staat hij op

Dit ziet hij

Page 41: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Voorbeeld van een geprogrammeerde mier met 4 toestanden

1. Kijk of er eten op de tegel voor je ligt, zo nee draai naar rechts

2. Kijk of er eten op de tegel voor je ligt, zo nee draai naar links

3. Kijk of er eten op de tegel voor je ligt, zo nee draai naar links

4. Kijk of er eten op de tegel voor je ligt, zo nee draai naar rechts

In alle andere gevallen: loop naar het eten, eet het

op, en ga terug naar Toestand 1

vier toestanden

Page 42: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Een geprogrammeerde mier

00. Als VOER dan MOVE, eet en goto 00

Anders TURN-RIGHT en goto 01

01. Als VOER dan MOVE, eet en goto 00

Anders TURN-LEFT en goto 10

10. Als VOER dan MOVE, eet en goto 00

Anders TURN-LEFT en goto 11

11. Als VOER dan MOVE, eet en goto 00

Anders TURN-RIGHT en goto 00

Page 43: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

De mier als eindige automaat

00 0 1

11 10

1? Move

1? Move

0? Rechts

0? Links

0? Rechts1? Move

0? Links1? Move

Page 44: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Transitietabel voor de EA

Toestand Input Nieuwe Toestand

Actie

1 00 0 01 10 = Rechts

2 00 1 00 11 = Move

3 01 0 10 01 = Links

4 01 1 00 11 = Move

5 10 0 11 01 = Links

6 10 1 00 11 = Move

7 11 0 00 10 = Rechts

8 11 1 00 11 = Move

Page 45: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Genoom Mier

Toestand 00 00 01 01 10 10 11 11

Input 0 1 0 1 0 1 0 1

Actie en nieuwe

toestand

Rechts Move Links Move Links Move Rechts Move

0110 0011 1001 0011 1101 0011 0010 0011

• Voor elke toestand vier bits: 2 voor de actie, en 2 voor de nieuwe toestand.

• Een chromosoom bestaat uit 8 x 4 = 32 bits + 2 bits als prefix om initiële toestand aan te geven. In totaal 34 bits.

• Enkelvoudige kruising op alle 31 snijpunten

Page 46: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Eigenlijke experimenten

• Van een eindige automaat met vier toestanden mag je niet verwachten dat deze het probleem gaat oplossen.

• Jefferson, Collins en Cooper gebruikten chromosoom-representaties van eindige automaten tot aan 32 toestanden.

• 32 = 25. Dus bitstrings ter lengte 5 volstaan om 32 toestanden te representeren.

• Voor elke toestand heb je twee mogelijke inputs, dus je tabel wordt 64 rijen hoog.

• Voor elke rij moet je een actie (2 bits) en een nieuwe toestand (5 bits) geven 7 bits.

• Lengte chromosoom = 64 rijen x 7 bits + 5 bits als prefix voor de initiële toestand = 453 bits.

Page 47: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Hercules:de winnaar van Generatie 0

• Score: 58 pellets

• Er heeft geen evolutie plaats-gevonden: Hercules is gewoon de beste van 65,536 willekeurig in elkaar gezette machines

Page 48: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Joyner:de winnaar van Generatie 200

• Score: 89 pellets (perfect score)

• Groepjes van states hebben samen een functionaliteit die te duiden is als bijvoorbeeld:– follow straight trail (0

en 9)

– exploratie bij een onderbreking

– stepping stone van 78 t/m 89 food pallets

Page 49: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Originele artikel

Originele artikel: Jefferson, D., Collins, R., Cooper, C., Dyer, M., Flowers, M., Korf, R., Taylor, C., and Wang, A. (1992). Evolution as a theme in artificial life: The Genesys/Tracker system. In Langton, C. G., Taylor, C., Farmer, J. D., and Rasmussen, S., editors, Artificial Life II: Proceedings of the Workshop on Artificial Life, pp. 549-577. Addison-Wesley

Page 50: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Inleiding Adaptieve Systemen

Schema’s

Page 51: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Grootte van de zoekruimte

• Bekijk een probleem P (in planning, optimalisatie of combinatoriek) waar kandidaat-oplossingen bitstrings zijn met lengte 81. (bv. handelsreiziger-probleem)

• P is niet te hanteren met conventionele zoekalgoritmen: voor L = 81 is de zoekruimte 281 ~ 1027 individuen groot.

Dat is (zegt men) het aantal nanoseconden sinds de oerknal 15 miljard jaar geleden.

• P is goed te hanteren door Genetische Algoritmen: bitstrings spelen de rol van chromosomen in een door ons te begrenzen populatie met grootte |P|.

Page 52: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Terug naar de hamburgers

• Prijs / kwaliteit verhouding– 0 = Hoge prijs / kwaliteit

– 1 = Lage prijs / kwaliteit

• Drank– 0 = Wijn

– 1 = Cola

• Service– 0 = Snel maar onpersoonlijk

– 1 = Met aandacht, maar niet al te snel

Page 53: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Waarom is 010 goed?

Ik heb geen flauw idee ***Het is de hoge kwaliteit 0**

Het is de cola *1*Het is de uitgebreide (maar trage) service **0

Het is de hoge kwaliteit in combinatie met de cola

01*

Het is de hoge kwaliteit in combinatie met de uitgebreide service

0*0

Het is de cola in combinatie met de uitgebreide service

*10

Het is de uitgekiende combinatie van service, kwaliteit en cola

010

Page 54: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Schema = hypothese

• Een schema is een hypothese, i.e., een mogelijke verklaring.

• Sommige schema’s zijn specifiek ( bv. 10 * 10 ). Sommige schema’s zijn algemeen ( bv. * 0 * * * ).

• Bij een alfabet van K letters en chromosomen van lengte L zijn er (K+1)L schema’s.

• Elk chromosoom is lid van 2L schema’s.

(Immers voor elk bit in het chromosoom kunnen we dat bit, of een sterretje kiezen.)

Page 55: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Schema’s waartoe 110 behoort

Schema nummer Schema

Gemiddelde opbrengst

1 110 € 6

2 11* € 6

3 1*0 € 6

4 1** € 6

5 *10 € 4

6 *1* € 3.67

7 **0 € 4

8 *** € 3

Page 56: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Aantal voorkomens van Schema’s

Generatie 0

Schemanr. H m(H,0) f(H,0)

1 000 0 0

2 001 1 1

3 00* 1 1

4 010 1 2

5 011 1 3

6 01* 2 2.5

7 0*0 1 2

8 0*1 2 2

9 0** 3 2

10 100 0 0

11 101 0 0

12 10* 0 0

13 110 1 6

14 111 0 0

15 11* 1 6

16 1*0 1 6

17 1*1 0 0

18 1** 1 6

19 *00 0 0

20 *01 1 1

21 *0* 1 1

22 *10 2 4

23 *11 1 3

24 *1* 3 3.67

25 **0 2 4

26 **1 2 2

27 *** 4 3

Totaal 32 96

Gemiddeld 3.00

Reëel voor-komend

20 20

Tabel verkorten …

Page 57: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Aantal voorkomens van schema’s

Generatie 0

Schemanr. H m(H,0) f(H,0)

1 000 0 0

2 001 1 1

3 00* 1 1

… … … …

25 **0 2 4

26 **1 2 2

27 *** 4 3

Totaal 32 96

Gemiddeld 3.00

Reëel voor-komend

20 20

Page 58: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Gemiddelde fitnessvan schema’s in Generatie 1

Generatie 0Mating pool na reproductie

Generatie 1 na crossover

H m(H,0) f(H,0) m(H,MP) f(H,MP) m(H,1) f(H,1)

1 000 0 0 0 0 0 0

2 001 1 1 0 0 0 0

3 00* 1 1 0 0 0 0

4 010 1 2 1 2 2+ 2

5 011 1 3 1 3 0- 0

6 01* 2 2.5 2 2.5 2 2

7 0*0 1 2 1 2 0- 0

8 0*1 2 2 1 3 2+ 2

9 0** 3 2 2 2.5 2 2

10 100 0 0 0 0 0 0

11 101 0 0 0 0 0 0

12 10* 0 0 0 0 0 0

13 110 1 6 2 6 1- 6

14 111 0 0 0 0 1+ 7

15 11* 1 6 2 6 2 6.5

16 1*0 1 6 2 6 1- 6

17 1*1 0 0 0 0 1+ 7

18 1** 1 6 2 6 2 6.5

19 *00 0 0 0 0 0 0

20 *01 1 1 0 0 0 0

21 *0* 1 0 0 0 0

22 *10 2 4 3 4.67 3 3.3

23 *11 1 3 1 3 1 7

24 *1* 3 3.7 4 4.25 4 4.25

25 **0 2 4 3 4.67 3 3.3

26 **1 2 2 1 3 1 7

27 *** 4 3 4 4.25 4 4.25

Totaal 32 96 32 136 32 136

Gemiddeld 3.00 4.25 4.2

Reël voor-komend

20 20 16 16 16 16

Page 59: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Gemiddelde fitnessvan schema’s in Generatie 1

Generatie 0Mating pool na reproductie

Generatie 1 na crossover

H m(H,0) f(H,0) m(H,MP) f(H,MP) m(H,1) f(H,1)

1 000 0 0 0 0 0 0

2 001 1 1 0 0 0 0

3 00* 1 1 0 0 0 0

… … … … … … … …

25 **0 2 4 3 4.67 3 3.3

26 **1 2 2 1 3 1 7

27 *** 4 3 4 4.25 4 4.25

Totaal 32 96 32 136 32 136

Gemiddeld 3.00 4.25 4.2

Reël voor-komend

20 20 16 16 16 16

Page 60: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Het “geheim” achter het succes van Genetische Algoritmen

• John Holland (1975): GA = competitie tussen exponentieel veel hypothesen (schema’s) in een populatie waarvan de grootte N door ons zelf wordt bepaald, maar zeker niet exponentieel in K (aantal genomen) is.

• Er zijn (K+1)L (in ons geval 33 = 27) schema’s, vertegenwoordigd door N representanten.

• Het getal N hebben we zelf in de hand, en kunnen we lineair laten variëren (niet midden in één experiment natuurlijk).

Page 61: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Proportionele fitness van een schema

• Fitness proportional selectie voor individu:

• Er volgt: fitness proportional selectie voor schema:

)(

)(1)( Defselecteer Xf

xf

Xxp

)(

)()(selecteer Xf

Hf

X

HHp

Gemiddelde fitness voor elementen in de verzameling X

Gemiddelde fitness voor elementen in de verzameling H

Page 62: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

John Holland’s Schema Stelling

)1)(1()(

)()( 1 mc

t

t

t

tt Xf

Hf

X

HHp

Kans op voorko-men van Schema H in de

volgende generatie

Relatieve frequen-tie van H

in de huidige

generatie

Relatieve fitness

van Schema

H

Kans op

verlies van H

als gevolg cross-over

Kans op

verlies van H

als gevolg

van mutatie

Page 63: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Kanttekeningen bij schemastelling

• Fitness functie is niet uniek en beïnvloedt daarom bovenstaande ongelijkheid (Grefenstette en Baker, 1989)

• Populatie is geen representatieve sample van schema (Mühlenbein, 1991)

Vgl. populatie 100. Misschien wordt schema ****1****** (met 1024 leden) daar slechts door, zeg, 45 exemplaren vertegenwoordigd.

• Formule ook al waar zonder mutatie en crossover!

• Ondergrens is weinig informatief (Vose, 1993).

Twee onzuivere dobbelstenen:

P( som even ) ≥ 0.47

P( som odd ) ≥ 0.42

Terwijl in werkelijkheid bijvoorbeeld:

P( som even ) = 0.48

P( som odd ) = 0.52

Page 64: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Kanttekeningen bij GA

• Nut van schemastelling is controversieel– M.D. Vose (1993). A critical examination of the schema

theorem, Technical Report CS-93-212, University of Tennessee.

– Gary J. Koehler (1997). “New directions in genetic algorithm theory” in Annals of Operations Research, Vol. 75, pp. 49-68.

• No free lunch– D.H. Wolpert and W.G. Macready (1995). “No Free Lunch

theorems for optimization” in: IEEE Transactions on Evolutionary Computation, Vol. 1(1), pp. 67-82.

• Nut van crossover is controversieel– K. Chellapilla (1998). “Evolving Computer Programs without

Subtree Crossover” in: IEEE Transactions on Evolutionary Computation, Vol. 1(3), pp. 209-216.

Page 65: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Genetische Algoritmen.

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Samenvatting

Een Genetisch Algoritme is een probabilistisch zoekalgoritme …

… dat door middel van iteratie een verzameling genotypen (bv. bitstrings), elk met een fitness-waarde, omzet in een nieuwe verzameling genotypen, …

… gebruikmakend van het Darwinistische principe van natuurlijke selectie …

… en gebruikmakend van operaties die zijn geïnspireerd op natuurlijk voorkomende genetische operaties, zoals kruising en mutatie.