Title: Inleiding Adaptieve Systemen
1Inleiding Adaptieve Systemen
2Evolutie
3Evolutie (pun)
4Genetische Algoritmen
5Figuur uit
Vandaag
6Genetische Algoritmen motivatie
- Wat evolutie kan, dat kan ik ook met mijn PC,
alleen dan stukken sneller. - Even voor god spelen.
7Definitie (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.
8Mitose 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.
9(No Transcript)
10Chromosomen van de mens
11Evolutieproces
- 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.
12Zelfreproductie in informaticaCellulaire
Automaat Langtons Loop
- Langtons 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
13(No Transcript)
14Voorbeeld
- Het vinden van
- een goede restaurant-formule
15Burger Restaurant Probleem
- Prijs
- 0 Laag
- 1 Hoog
- Drank
- 0 Cola
- 1 Wijn
- Service
- 0 Snel, maar onpersoonlijk
- 1 Traag, maar met aandacht
16Genetisch Algoritme
Generatie 0 Generatie 1
Genotype Fitness Genotype
011 3 111
001 1 010
110 6 110
010 2 010
17Zoekruimte
- 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
18De startgeneratie
Generatie 0 Opbrengst
1 011 3,
1 001 1,
1 110 6,
1 010 2,
Totaal Totaal 12, 12,
Slechtst Slechtst 1, 1,
Gemiddeld Gemiddeld 3, 3,
Best Best 6, 6,
Multi-pliciteit
19Fitness-proportionele selectie
- Probabilistisch roulettewiel
- De kans dat een chromosoom wordt gekozen om iets
mee te doen voor de volgende generatie
relatieve fitness
20Mating pool
Generatie 0 Generatie 0 Generatie 0 Mating pool 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 Totaal 12 12 17
Slechtst Slechtst 1 1 2
Gemiddeld Gemiddeld 3 3 4.5
Best Best 6 6 6
21Principe vanEvolutionaire Algoritmen
Probabilistische selectie gebaseerd op fitness
- Succesvolle individuen hebben een grotere kans om
te worden geselecteerd voor voortplanting. - 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, het is een stochastisch
proces - Selectie is een mix van exploitatie en exploratie.
22Flow (Koza, 1992)
Creëer lege populatie Q en plaats W daar in
Kies één ouder uit P
Plaats kopie in Q
Bepaal de meest fitte chromo-soom , W, uit P
Kies één ouder uit P
Plaats mutant in Q
Bereken van elke chromosoom uit P de fitness
Kies twee ouders uit P
Plaats kinderen in Q
P wordt Q
Genereer initiële populatie P ter grootte N
23Reproductie (met kans pr)
Generatie 0 Generatie 0 Generatie 0 Mating pool Mating pool Generatie 1 Generatie 1 Generatie 1
1 011 3 .25
1 001 1 .08
1 110 6 .50 110 6 1 110 6
1 010 2 .17
Totaal Totaal 12 12 17
Slechts Slechts 1 1 2
Gemiddeld Gemiddeld 3 3 4.5
Best Best 6 6 6
24Mutatie (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 e gt 0. - Mutatie zorgt voor diversiteit.
Ouder
010
Kind
011
25Na mutatie
Generatie 0 Generatie 0 Generatie 0 Mating pool Mating pool Generatie 1 Generatie 1 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 Totaal 12 12 17
Slechtst Slechtst 1 1 2
Gemiddeld Gemiddeld 3 3 4.5
Best Best 6 6 6
26Crossover (met kans pc)
- Twee ouders worden willekeurig gekozen, op basis
van fitness. - (Het is niet nodig om eerst expliciet een mating
pool aan te leggen.)
Ouder 1 Ouder 2
011 110
27Kruising
Hoeveel mogelijke snijpunten zijn er in een
chromosoom ter lengte 10?
Hoeveel mogelijk verschillende kinderen
(offsprings)?
10 ? 1 9 reële (inwendige) snijpunten, 2
oneigenlijke (uitwendige) snijpunten
- 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
Prefix 1 Prefix 2
01- 11-
Voor Kind 1 9 Voor Kind 2 9 samen 18 (Geen 2
x 9 x 9 162!)
Suffix 1 Suffix 2
- - 1 - - 0
Kind 1 Kind 2
111 010
28Na crossover (kruising)
Generatie 0 Generatie 0 Generatie 0 Mating pool Mating pool Generatie 1 Generatie 1 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 Totaal 12 12 17
Slechtst Slechtst 1 1 2
Gemiddeld Gemiddeld 3 3 4.5
Best Best 6 6 6
29Probabilistische 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
zijn mutatiepunten willekeurig. - Invloed van exogene factoren 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.
30Generatie 1
Generatie 0 Generatie 0 Generatie 0 Mating pool Mating pool Generatie 1 Generatie 1 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 Totaal 12 12 17 18
Slechtst Slechtst 1 1 2 2
Gemiddeld Gemiddeld 3 3 4.3 4.5
Best Best 6 6 6 7
31Toepassing 1 antenne ontwerp
Antenne voor grond ? satelliet commu-nicatie in
auto's en hand-sets
32Antenne 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
- De antenne start in de oorsprong (0, 0, 0).
- De antenne moet passen in de (0.5?)3 kubus.
33Antenne genoom
X1 Y1 Z1 X2 Y2 Z2
0010 -1110 0001 0011 -1011 0011
- 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.
34Resultaat
Photograph of the Actual Crooked-Wire Genetic
Antenna From Automated Design and Optimization
of Wire Antennas using Genetic Algorithms. Ph.D.
Thesis Derek Linden, MIT, Sept. 1997.
35Toepassing 2 giek van hijskraan
36Giek 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 ?2x30cm 41cm. - Variabel de diameter van elke stang ( A1, ...,
A10 ) - Voorgedefinieerd en niet variabel de rest (
o.a. de constructie, het materiaal en de
belasting).
37Genoom van een constructie
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
0010 1110 0001 0011 1011 0011 1111 0011 0011 1010
- 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
38Fitness van een constructie
- De fitness van een constructie wordt bepaald door
som van twee onderdelen - Het totale gewicht van de constructie (excl.
belasting). - 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.
39Toepassing 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.
40De mier!
Hier staat hij op
- 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
Dit ziet hij
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.
41Voorbeeld van een geprogrammeerde mier met 4
toestanden
- Kijk of er eten op de tegel voor je ligt, zo nee
draai naar rechts - Kijk of er eten op de tegel voor je ligt, zo nee
draai naar links - Kijk of er eten op de tegel voor je ligt, zo nee
draai naar links - 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
42Een 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
43De mier als eindige automaat
0? Rechts
00
01
0? Links
0? Rechts
11
10
0? Links
44Transitietabel 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
45Genoom 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
Actie en nieuwe toestand 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
46Eigenlijke experimenten
- 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.
- 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.
47Herculesde 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
48Joynerde 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
49Originele 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
50Inleiding Adaptieve Systemen
51Grootte van de zoekruimte
- Bekijk de zoekruimte X van een probleem P (in
planning, optimalisatie of combinatoriek) waar
kandidaat-oplossingen bitstrings zijn met lengte,
zeg, 80. - X is niet te hanteren met conventionele
zoekalgoritmen voor L 80 is X 280 1027
individuen groot. - het aantal nanoseconden sinds de oerknal 15
miljard jaar geleden. - X is goed te hanteren met genetische algoritmen
bitstrings spelen de rol van chromosomen in een
door ons te begrenzen populatie Y ? X met
grootte Y.
52Terug naar de hamburgers
- Prijs
- 0 Laag
- 1 Hoog
- Drank
- 0 Cola
- 1 Wijn
- Service
- 0 Snel, maar onpersoonlijk
- 1 Traag, maar met aandacht
53Waarom is 101 goed?
Ik heb geen flauw idee
Het is de hoge kwaliteit 1
Het is de cola 0
Het is de uitgebreide (maar trage) service 1
Het is de hoge kwaliteit in combinatie met de cola 10
Het is de hoge kwaliteit in combinatie met de uitgebreide service 11
Het is de cola in combinatie met de uitgebreide service 01
Het is de uitgekiende combinatie van service, kwaliteit en cola 101
54Schema hypothese
- Een schema is een hypothese, i.e., een mogelijke
verklaring. - Sommige schemas zijn specifiek ( bv. 10 10 ).
Sommige schemas zijn algemeen ( bv. 0 ). - Bij een alfabet van K letters en chromosomen van
lengte L zijn er (K1)L schemas. - Elk chromosoom is lid van 2L schemas.
- (Immers, voor elk bit in het chromosoom kunnen
we dat bit, of een sterretje kiezen.)
55Schemas waartoe 101 behoort
Schema nummer Schema Gemiddelde opbrengst
1 101 6
2 10 6
3 11 6
4 1 6
5 01 4
6 0 3.67
7 1 4
8 3
56Aantal voorkomens van Schemas
Generatie 0 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 00 1 2
8 01 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 10 1 6
17 11 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
57Aantal voorkomens van schemas
Generatie 0 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
58Gemiddelde fitnessvan schemas in Generatie 1
Generatie 0 Generatie 0 Mating pool na reproductie Mating pool na reproductie Generatie 1 na crossover 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 00 1 2 1 2 0- 0
8 01 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 10 1 6 2 6 1- 6
17 11 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
59Gemiddelde fitnessvan schemas in Generatie 1
Generatie 0 Generatie 0 Mating pool na reproductie Mating pool na reproductie Generatie 1 na crossover 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.2 4 4.5
Totaal 32 96 32 136 32 136
Gemiddeld 3.00 4.2 4.5
Reëel voor-komend 20 20 20 20 20 20
60Het geheim achter het succes van Genetische
Algoritmen
- John Holland (1975) GA competitie tussen
exponentieel veel hypothesen (schemas) in een
populatie waarvan de grootte N door ons zelf
wordt bepaald, maar zeker niet exponentieel in K
( aantal genomen) is. - Er zijn (K1)L (in ons geval 33 27) schemas,
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).
61Proportionele fitness van een schema
- Fitness proportionele selectie voor individu
- Er volgt fitness proportionele selectie voor
schema
Gemiddelde fitness voor elementen in de
verzameling X
Gemiddelde fitness voor elementen in de
verzameling H
62John Hollands Schema Stelling
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
63Kanttekeningen 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
64Kanttekeningen 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.
65Samenvatting
- 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.