68
Evolúciós algoritmusok

Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Evolúciós algoritmusok

Page 2: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Evolúciós algoritmusok

• Alapelvük a megoldások egy populációjántörténő keresés, melyet a biológiábólmegismert törvényszerűségek vezérelnek–A populáció egyedei a feladat egy-egymegoldását jelentik

–A populáció fejlődik, egyre jobbegyedeket kapunk

EVOLÚCIÓS ALGORITMUSOK BEVEZETÉS 2

Page 3: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

A kezdetek• Az ötlet, hogy használjunk szimulált evolúciót mérnöki

és tervezési problémák megoldására az 1950-es években megjelenik már

• Az 1960-as években kialakul a három fő klasszikusterület:–Evolúciós programozás (Lawrence Fogel, 1962),–Genetikus algoritmusok (Holland, 1975)–Evolúció Stratégiák (Rechenberg, 1965 & Schwefel,

1968)• Az egyes technikák kifejlesztői megmutatták, hogy a

módszerük alkalmas a következő probléma típusokmegoldására–Fogel előrejelzési problémákkal foglalkozott–Rechenberg & Schwefel paraméter optimalizációs

problémákkal–Holland robusztus adaptív rendszerek fejlesztésével

3EVOLÚCIÓS ALGORITMUSOK BEVEZETÉS

Page 4: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Optimalizációs módszerek

• Determinisztikus–Calculus alapú–Hegymászó módszer–…

• Sztochasztikus–Véletlen keresés–Szimulált lehűtés–…

• Evolúciós algoritmusok: sztochasztikusmódszerek, melyek a természetes evolúciófolyamatát szimulálják felhasználva a legalkalmasabb egyed túlélésének törvényét

EVOLÚCIÓS ALGORITMUSOK BEVEZETÉS 4

Page 5: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Terminológia

• Gén: funkcionális entitás, mely az egyed egyspeciális tulajdonságát kódolja (pl. hajszín)

• Allél: a gén értéke (pl. szőke)• Egyed: kromoszóma, egy megoldás jelölt a

problémára• Genotípus: egy egyed alléljainak egy speciális

kombinációja• Fenotípus: az egyed külső-belső

tulajdonságainak összessége• Locus: egy gén pozíciója a kromoszómán belül• Populáció: egyszerre együtt élő egyedek

összessége

5EVOLÚCIÓS ALGORITMUSOK BEVEZETÉS

Page 6: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

A populáció evolúciója

Egyedek eloszlása a 0. generációban

Egyedek eloszlása a N. generációban

6EVOLÚCIÓS ALGORITMUSOK BEVEZETÉS

Page 7: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Genetikus algoritmus

egyedek rangsorolása

kezdeti populáció létrehozása

szelekció

keresztezés

mutáció

visszahelyettesítés

7EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK

Page 8: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Az egyed

• Az egyed egy megoldás jelölt a problémára• A probléma egy lehetséges megoldása

valamilyen formában az egyedbe van kódolva–pl. bináris, vagy valós

• Fitnesz érték (alkalmassági érték): azegyedeket valamilyen kritérium szerintértékeljük ki, aszerint, hogy mennyire jómegoldást adnak a feladatra

• Jobb egyednek nagyobb a fitnesz értéke, ésnagyobb eséllyel él túl

8EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK

Page 9: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Szelekciós módszerek

• többféle kiválasztásimódszer terjedt el

• minél jobb az egyed, annálnagyobb az esély a kiválasztására

• Rulett kerék szelekció: azegyedek a fitnesz értékükkelarányos szeletet kapnak

• a gurításnál a nagyobbfitnesz értékű egyedeknagyobb eséllyelválasztódnak ki

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 9

Page 10: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Keresztezés (Crossover)

• Véletlenszerű keresztezési pont kiválasztása a két szülőn

• Utódok létrehozása az információkicserélődésével a keresztezési pont alapján

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 10

Page 11: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Mutáció

• Gén értékének véletlenszerű megváltoztatásapm valószínűséggel (mutációs arány)

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 11

Page 12: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy példa (Goldberg)

• Egyszerű probléma: x2 maximumánakmegkeresése a {0,1,…,31} alaphalmazon

• Genetikus algoritmussal:

• Reprezentáció: bináris, pl. 01101 13

• Populáció méret: 4

• Keresztezés, mutáció

• Rulett kerék szelekció

• Véletlenszerű inicializálás

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 12

Page 13: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy példa: szelekció

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 13

Page 14: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy példa: keresztezés

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 14

Page 15: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy példa: mutáció

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 15

Page 16: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Alternatív keresztezés operátorok

n-pontos:

uniform:

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 16

Page 17: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Valós GA

• Keresztezés például:

• szülők: ⟨x1,…,xn⟩ és ⟨y1,…,yn⟩

• utód1: αx+(1-α)y

• a másik utódra felcserélve

• pl.: (a = 0.5)

• Mutáció: x= ⟨x1,…,xn⟩ x’= ⟨x’1,…,x’n⟩xi,x’i ∈[LBi,UBi]

EVOLÚCIÓS ALGORITMUSOK GENETIKUS ALGORITMUSOK 17

Page 18: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Evolúció stratégia

• (1+1)-ES: egy szülő egy mutált utódothoz létre és a jobbat fogadjuk el(iteratív javítás)

• (μ+1)-ES: μ szülő hoz létre 1 utódot• (μ+λ)-ES: μ szülő hoz létre λ utódot, és

a legjobb μ fog túlélni az egyesítettszülő és utód populációból

• (μ,λ)-ES: μ szülő hoz létre λ utódot, és a legjobb μ fog túlélni az utód populációból

EVOLÚCIÓS ALGORITMUSOK EVOLÚCIÓ STRATÉGIÁK 18

Page 19: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Evolúció stratégiák• kódolás: fenotípus

(valós szám, egész)

• szelekció

• mutáció

(µ+λ)-ES

µ

egyed

λ gyereklegjobb µ

egyedmutáció

Populáció(t)

rangsor

Populáció(t+1)

19

• μ: populáció mérete

• λ: leszármattak száma

• (μ,λ)-ES: diszkrét modell

• (μ+λ)-ES: folytonos modell

EVOLÚCIÓS ALGORITMUSOK EVOLÚCIÓ STRATÉGIÁK

Page 20: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Különböző evolúció stratégiák

(µ+λ)-ES

szülők gyerekek

(µ+1)-ES: Steady-state GA

szülők gyerek

(1,1)-ES: véletlen keresés

szülő gyerek

(1+1)-ES: hegymászó alg.

szülő gyerek

(1+λ)-ES: többpontos

szomszédos keresésszülő gyerekek

(µ+1)-ES: állandósult állapotú GA

20EVOLÚCIÓ STRATÉGIÁKEVOLÚCIÓS ALGORITMUSOK

Page 21: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Bakteriális evolúciós algoritmusok

•Természetből ellesett optimalizációstechnika

•A baktériumok evolúciós folyamatánalapul

•Alkalmas bonyolult optimalizációsproblémák megoldására

•Egyed: egy megoldás a problémára• Intelligens keresési stratégia eléggé jó

megoldás keresésére (kvázi optimum)•Gyors konvergencia (feltételesen)

21EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK

Page 22: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Az algoritmus

• Kezdeti populációvéletlenszerűlétrehozása

• Bakteriális mutációvégrehajtása mindenegyeden

• Génátadás végrehajtásaa populációban

• Ha megfelelő eredménytértünk el, akkormegállunk, különbenfolytatjuk a bakteriálismutációs lépéssel

n. generáció

(n+1).generáció

22EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK

Page 23: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Bakteriális mutáció

23EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK

Page 24: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Génátadás1. A populációt 2 részre

osztjuk, jó egyedekre, és rossz egyedekre

2. Egy baktériumotvéletlenszerűenkiválasztunk a jobbikalpopulációból(forrásbaktérium) egymásikat pedig a rosszegyedek közül(célbaktérium)

3. A forrásbaktérium egyrésze felülírja a célbaktérium egy részét

Ez a ciklus ismétlődikNinf -szer (“infekciók” száma)

24EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK

Rossz

egyedek

egyedek

Populáció

Page 25: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Paraméterek

• Ngen: generációk száma

• Nind: egyedek száma

• Nklón: másolatok (klónok) száma a bakteriálismutációban

• Ninf: génátadások (infekciók) száma a génátadásnál

EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK 25

Page 26: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Különbségek a GA és a BEA között

• A GA az emlősállatok evolúciós folyamatátutánozza, míg a BEA a baktériumok fejlődését

• Az információ terjesztésére a GA a keresztezésoperátort használja, a BEA pedig a génátadást

• A bakteriális mutáció hatékonyabb a GA klasszikusmutációjánál

• A bakteriális evolúciós algoritmusban nincsszelekció, viszont van osztódás

EVOLÚCIÓS ALGORITMUSOK BAKTERIÁLIS EVOLÚCIÓS ALGORITMUSOK 26

Page 27: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Genetikus programozás

• John Koza (~1990)

• A genetikus programozás a genetikusalgoritmusok alapötletét alkalmazza a lehetséges programok terére

• Különbözőnek tűnő problémák különbözőterületekről átfogalmazhatók egyszámítógépes program-keresési feladattá

27EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 28: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy számítógépes program

28EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 29: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy számítógépes program C nyelven

int foo (int time)

{

int temp1, temp2;

if (time > 10)

temp1 = 3;

else

temp1 = 4;

temp2 = temp1 + 1 + 2;

return (temp2);

}

29EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 30: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Program fa

(+ 1 2 (IF (> TIME 10) 3 4))

30EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 31: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Véletlen programok létrehozása

• Rendelkezésre álló függvények:

• pl. F = {+, -, *, %, IF}

• Rendelkezésre álló terminálisok:

• pl. T = {X, Y, konstansok}

• A véletlen programok:

• szintaktikailag érvényesek

• végrehajthatók

• A fák különböző méretűek és alakúak lehetnek

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 31

Page 32: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Genetikus operátorok a GP-ben

• Reprodukció

• Mutáció

• Keresztezés

• Reprodukció:

• szülő kiválasztása (fitness alapján)

• változatlan lemásolása a populáció következő generációjába

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 32

Page 33: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Mutáció

• 1 szülő kiválasztása (fitness alapján)

• A fa egy pontjának kiválasztása

• A kiválasztott pontnál lévő részfa törlése

• Új részfa növesztése a mutációs pontnál hasonló módon, mint a kezdeti véletlen fa létrehozásánál

• Az eredmény egy szintaktikailag érvényes, végrehajtható program legyen

• A leszármazott elhelyezése a populáció következő generációjába

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 33

Page 34: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Függvény mutáció

*

+ T4

T3

T2T1

+

*

+ T4

*T6

T5 T7

kiválasztottcsomópont

új részfa a függvény mutáció után

34EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 35: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Terminális mutáció

*

+ T4

T3

T1 T2

+

*

+ T4

T5

T1 T2

+

kiválasztottcsomópont

megváltozottcsomópont

35EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 36: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Keresztezés

• 2 szülő kiválasztása (fitness alapján)

• Az első szülő fájában egy pont véletlen kiválasztása

• A második szülő fájában egy pont véletlen kiválasztása

• A két kiválasztott ponthoz tartozó részfák kicserélése

• Az eredmények szintaktikailag érvényes, végrehajtható programok legyenek

• A leszármazottak elhelyezése a populáció következő generációjába

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 36

Page 37: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Keresztezés

37EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS

Page 38: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Előkészítő lépések

• A terminálisok halmazának meghatározása

• A függvények halmazának meghatározása

• A fitness mérték meghatározása

• A futtatás paramétereinek meghatározása

• A megállási feltétel meghatározása

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 38

Page 39: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Egy példa: szimbolikus regresszió

Független változó (X) Függő változó (Y)

-1.00 1.00

-0.80 0.84

-0.60 0.76

-0.40 0.76

-0.20 0.84

0.00 1.00

0.20 1.24

0.40 1.56

0.60 1.96

0.80 2.44

1.00 3.00

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 39

Page 40: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Előkészítő lépések

Cél:Találjunk egy egybemenetű (X független változó) számítógépes programot, amelynek a kimenete megegyezik a kívánt kimenettel.

1 Terminális halmaz: T={X, konstansok}

2 Függvény halmaz: F={+, -, *, %}

3 Fitness:A program kimenetei és a kívánt kimenetek közötti különbségek abszolútértékeinek összege.

4 Paraméterek: Populáció mérete: M=4

5 Megállási feltétel:Ha kialakul egy olyan egyed, amelynél az abszolút hibákösszege kisebb, mint 0.1.

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 40

Page 41: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Szimbolikus regresszió (x2+x+1)

• 4 véletlenszerűen létrehozott egyed populációja (0. generáció):

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 41

Page 42: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Szimbolikus regresszió (x2+x+1)

• A 4 egyed fitness értéke a 0. generációban:

x+1 x2+1 2 x

0.67 1.00 1.70 2.67

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 42

Page 43: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Szimbolikus regresszió (x2+x+1)

• 1. generáció:

(a) másolata

(c) mutánsa

mutációs ponta “2”-nél

(a) és (b) keresztezésénekelső leszármazottja

keresztezési pont a “+”-nál(a) és a legbaloldalibb “x”-nél

(a) és (b) keresztezésénekmásodik leszármazottja

keresztezési pont a “+”-nál(a) és a legbaloldalibb “x”-nél

EVOLÚCIÓS ALGORITMUSOK GENETIKUS PROGRAMOZÁS 43

Page 44: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Evolúciós elméletek

• Jean-Baptiste Lamarck

• A szerzett tulajdonságok öröklésének elmélete

• Ha egy organizmus változik az élete során, hogy ezáltal jobbanadaptálódjon a környezetéhez, ezeket a változásokat továbbadja azutódainak

• Charles Darwin

• A szerzett tulajdonságok nem öröklődnek

• Az organizmus élete során bekövetkező változásai nincsenekhatással a faj fejlődésére

• James M. Baldwin

• Új faktor az evolúcióban

• A szerzett tulajdonságok indirekten öröklődhetnek

EVOLÚCIÓS ALGORITMUSOK MEMETIKUS ALGORITMUSOK 44

Page 45: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Memetikus algoritmusok

• Az evolúciós algoritmusoknak lokális keresőoperátorokkal történő olyan kombinációja, ahol a lokális keresés az evolúciós ciklusonbelül zajlik

• A memetikus algoritmusokat Moscatojavasolta (~1989)

• A lokális keresést élethosszig tartótanulásnak lehet tekinteni

• Terminológia:–mém = a kulturális evolúció alapegysége(„génje”) (Dawkins: Az önző gén, 1976)

–”mimema”: utánzás

EVOLÚCIÓS ALGORITMUSOK MEMETIKUS ALGORITMUSOK 45

Page 46: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Miért kombináljuk őket?

• Evolúciós algoritmusok

• Nagy, durva keresési teret járnak be

• Nehézségek a finomhangolással

• Lokális kereső technikák

• Gyorsan optimizálnak, konvergálnak

• Lokális optimumokba ragadnak

• Hátrányok:

• A tanulás költséges

• A tanulás nem mindig jó

EVOLÚCIÓS ALGORITMUSOK MEMETIKUS ALGORITMUSOK 46

Page 47: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Bakteriális memetikus algoritmus

• Kezdeti populációvéletlenszerű létrehozása

• Bakteriális mutációvégrehajtása mindenegyeden

• Lokális keresésvégrehajtása mindenbaktériumon

• Génátadás végrehajtása a populációban

• Ha megfelelő eredménytértünk el, akkormegállunk, különbenfolytatjuk a bakteriálismutációs lépéssel (n+1).

generáció

Bakteriális mutáció

Génátadás

n. generáció

Lokális keresés

MEMETIKUS ALGORITMUSOKEVOLÚCIÓS ALGORITMUSOK 47

Page 48: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Az intelligencia elemei biológiai rendszerekben

RAJINTELLIGENCIA BEVEZETÉS 48

Evolúció

Versengés

Reprodukció

RajzásKommunikáció

Tanulás

Page 49: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Rajintelligencia

49

• Egy kollektív rendszer, amely képes bonyolult feladatok elvégzésére dinamikus és változó környezetben bármilyen külső irányítás és központi koordináció nélkül

• Olyan kollektív teljesítmény elérésére képes, amelyet általában az élőlény önmagában nem tud elérni

• Ennek alapján egy természetes modellt tudunk felállítani, amely alkalmas az elosztott problémamegoldásra

RAJINTELLIGENCIA BEVEZETÉS

Page 50: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Rajintelligencia

50RAJINTELLIGENCIA BEVEZETÉS

Page 51: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Rajintelligencia

51RAJINTELLIGENCIA BEVEZETÉS

Page 52: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Rajintelligencia

52RAJINTELLIGENCIA BEVEZETÉS

Page 53: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Részecske raj optimalizáció (PSO)

53

• A PSO a szociális interakció koncepcióját alkalmazza a problémamegoldásra

• Számos úgynevezett részecskét használ, amelyek rajban mozognak a keresési térben a legjobb megoldást keresve

• Az egyes részecskéket térbeli pontként kezeli, amely a „repülését” a saját repülési tapasztalata, valamint más részecskék repülési tapasztalata alapján módosítja

RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 54: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Részecske repülési modell

54

• pbest: a részecske által eddig elért legjobb megoldás

• gbest: az egész raj által eddig elért legjobb megoldás

• A PSO alapelve, hogy az egyes részecskék felgyorsulnak a pbest és a gbest helyek felé, minden alkalommal véletlenszerűen súlyozott gyorsulással

RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 55: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Részecske repülési modell

55

ks

kpbest

kgbest

kv

1kv

1ks

kpbestd

kgbestd

1 2

k kpbestk gbestd dv w w 11 ()c rw and

22 ()c rw and

kv∆

RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 56: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Részecske repülési modell

56

• minden részecske a következő információk alapján módosítja a pozícióját:

• a jelenlegi pozíció• a jelenlegi sebesség• a távolság a jelenlegi

pozíció és a pbest között• a távolság a jelenlegi

pozíció és a gbest közöt

ks

kpbest

kgbest

kvkv

1kv 1kv

1ks

kpbestd

kgbestd

1 2

k kpbestk gbestd dv w w 11 ()c rw and

22 ()c rw and

kvkv

RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 57: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa

57RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 58: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – inicializálás

58RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 59: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 5 generáció után

59RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 60: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 10 generáció után

60RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 61: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 15 generáció után

61RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 62: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 20 generáció után

62RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 63: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 25 generáció után

63RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 64: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 100 generáció után

64RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 65: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – 500 generáció után

65RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 66: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

PSO példa – eredmény

66

iteráció gBest

0 416.245599

5 515.748796

10 759.404006

15 793.732019

20 834.813763

100 837.911535

5000 837.965771

optimum 837.9658

400

450

500

550

600

650

700

750

800

850

1 4 16 64 256 1024 4096

"sample.dat"

RAJINTELLIGENCIA RÉSZECSKE RAJ OPTIMALIZÁCIÓ (PSO)

Page 67: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Mi a számítási intelligencia?

•A számítási intelligencia technikáklegfontosabb közös jellemzője, hogyképesek elfogadható szuboptimális, közelítő megoldást adni, miközben a számítási bonyolultságot kezelhető, általában alacsony fokú polinomszintjén tartják

67SZÁMÍTÁSI INTELLIGENCIA

Page 68: Evolúciós algoritmusok INFORMATIKAI... · –Evolúciós programozás (Lawrence Fogel, 1962), –Genetikus algoritmusok (Holland, 1975) –Evolúció Stratégiák (Rechenberg, 1965

Számítási intelligencia

• A számítási intelligencia technikák képesekelfogadható közelítő megoldást adni a problémára, miközben a számításibonyolultságot kezelhető szintjén tartják

• Fuzzy rendszerek: szabályalapú megközelítés

• Neurális hálózatok: minták alapján történőtanulás

• Evolúciós algoritmusok: optimalizálás, tanítás

68SZÁMÍTÁSI INTELLIGENCIA