Top Banner
Evolúciós algoritmusok
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

Jan 24, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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