Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Mesterséges Intelligencia. Az algoritmus mechanizmusa a darwini evolúciós elméleten (1859) és a genetika alapjain nyugszik. Optimalizálási és keresési.

Hasonló előadás


Az előadások a következő témára: "Mesterséges Intelligencia. Az algoritmus mechanizmusa a darwini evolúciós elméleten (1859) és a genetika alapjain nyugszik. Optimalizálási és keresési."— Előadás másolata:

1 Mesterséges Intelligencia

2 Az algoritmus mechanizmusa a darwini evolúciós elméleten (1859) és a genetika alapjain nyugszik. Optimalizálási és keresési problémákra alkalmazható. 2 Charles Darwin ( )

3 A genetikus algoritmus a feladat összes lehetséges megoldását tartalmazó keresési tér elemei között párhuzamosan egyszerre több potenciális jelölttel dolgozik. A tér elemei alkotják a feladat lehetséges megoldásait, amelyeket egyedeknek (individual) nevezünk. 3

4 Az elemek együttese alkotja a populációt (population), melynek újabb és újabb, időben együtt létező egyedekből álló generációi (generation) jönnek létre az algoritmus során. A genetikus algoritmusoknál az adott probléma potenciális megoldásait (az egyedeket) egy kromoszómaszerű adatstruktúrában tárolják (string). 4

5 A biológiai öröklődés mintájára az algoritmus különféle rekombinációs (evolúciós) műveleteket hajt végre. Ennek során a populációban generációról generációra lépve a biológiai szaporodás mechanizmusát másoló műveletek alkalmazásával biztosítja a legjobb tulajdonságokkal rendelkező megoldásegyedek elterjedését. 5

6 Ugyanaz történik mint a törzsfejlődés során. A gyenge egyedek, fajok kihalnak, és azoknak a fajoknak, egyedeknek van esélye a túlélésre, elterjedésre amelyek a legerősebbek, legellenállóbbak, leginkább képesek alkalmazkodni a környezetükhöz. A genetikus algoritmusok ugyanilyen ciklusos működés során fejtik ki hatásukat. 6

7  Kezdeti populáció kiválasztása.  Következő generáció létrehozásának előkészítése.  Az új egyedek létrehozása reprodukciós műve- letekkel.  Az új generáció meghatározása, az új egyedek jóságának kiszámítása a szülők és gyerekek közül a legjobb egyedek kiválasztása. 7

8 8

9 A probléma szempontjából lényeges tulajdonságok kiválasztását és kódolását reprezentációnak nevezzük. A populációban az egyes megoldásokat valamilyen rögzített adatstruktúrában kell tárolni. E struktúra neve kromoszóma (chromosome). A kromoszóma génekből áll, ahol egy gén egy bitet, vagy egy számot, szimbólumot tartalmazhat. A genetikus műveletek (keresztezés, mutáció) a kromoszómákon, illetve ezek génjein működnek. 9

10 A genetikus algoritmusok másik fő összetevője a jósági vagy fitnesz-függvény. Az egyes megoldások jóságát tükrözi. Egy új generáció létrehozásához az algoritmus kiválasztja a szülőegyedeket (szelekció), melyekből a genetikus műveletek segítségével létrejönnek az utódok. 10

11 A kiválasztás alapja az egyedek fitneszértéke. A jobb értékekkel rendelkező egyedek kerülnek nagyobb valószínűséggel kiválasztásra. Ezzel utánozza az algoritmus a természetben történő jelenséget miszerint a jobb tulajdonságokkal rendelkező egyedeknek nagyobb a valószínűsége a szaporodásra. 11

12 A következő lépés az új generáció létrehozása keresztezés és mutáció segítségével. 12

13 Az algoritmus egy kiindulási populáció (initial population) létrehozásával kezdődik amely véletlenszerűen kiválasztott kromoszómákból áll. Ezután következik a kódolt megoldások kiértékelése, és ennek alapján dől el az egyes egyedek reprodukciós lehetősége. Azok a kromoszómák számíthatnak nagyobb valószí- nűséggel fennmaradásra amelyek jobb megoldást képviselnek. 13

14 Nézzük a nyulak populációját:  Néhányan gyorsabbak, mint mások és ezért elmondhatjuk, hogy ezek a nyulak kiemelkedő fitneszértékkel rendelkeznek, mert nagyobb esélyük van a róka elől elmenekülni és ezután szaporodni.  Ezért a jó fitneszértékű egyedek maradnak fenn, ha a két szülő jó fitnesszel rendelkezik akkor a gyermek, még jobb értékkel fog rendelkezni és nagyobb esélyük lesz a fennmaradásra. 14

15 Minden élőlény sejtekből é p ül fel, melyek mindegyike ugyanazokat a kromoszómákat tartalmazza. Egy kromoszóma génekre osztható, melyek különböző funkciókhoz tartoznak, egy-egy fehérjét kódolva. Egy-egy gén egy-egy jellemzőt (pl. szemszín) ír le. Minden gén a kromoszóma egy adott helyén (pozícióján) helyezkedik el (locus). 15

16 Sok élőlény több kromoszómát is tartalmaz a sejtjeiben. A kromoszómák összessége a génkészlet (genome). A genotípus (genotype) a gének egy konkrét halmaza adott génváltozatokkal. Ha két egyed génkészlete teljesen megegyezik, akkor azonos a genotípusuk. A genotípus alapján fejlődik ki a fenotípus (phenotype). 16

17 Azokat a szervezeteket amelyeknek megkettőzött kromoszómái vannak, diploidnak hívják, míg az egyszeres kromoszóma- állománnyal rendelkezőeket haploidnak. Az embernek 23 pár kromoszómája van. A keresztezés általában két haploid szülő génkészlete között történik. A mutáció véletlenszerűen változtatja meg a gének értékét. 17

18 TermészetesMesterséges Kromoszóma (a sejtek örökletes tulajdonságokat hordozó anyaga) Karakterfűzér (sztring) Gén (az öröklődő tulajdonságokkat hordozó kromoszóma egy része, (nukleinsav molekula)) Jellemző, karakter Genotípus (az örökletes tulajdonságok összessége) Karakterfüzér szerkezet Fenotípus (az élőlény alaktani és élettani sajátosságainak összessége. Az örökletes és a környezet együttes hatására létrejött megjelenési alak) Paraméter készlet 18

19 Ezeknél az algoritmusoknál a kromoszóma általában egy, az adott problémára adható megoldást jelöl, gyakran bitsztringként kódolva. Az adott génpozícióhoz tartozó génváltozatok lehetnek 0 és 1 (bináris eset), vagy más szám vagy szimbólum (nem bináris eset). 19

20 Tegyük fel, hogy adott egy jól definiált probléma, egy kromoszóma reprezentáció a lehetséges megoldásokra és egy célfüggvény amely minden megoldáshoz hozzárendel egy eredményességi értéket. 20

21 21 PoPo PtPt P t+1/2 P t+1’ ff i f i

22 Az inicializáció után egy ciklus következik. A ciklusban történik a különböző egyedek felkutatása. Egy kilépési feltétel alapján fejeződhet be az iterációs hurok. 22

23 A populáció a megoldásegyedek, kromo- szómák egy halmaza. Az aktuális populáció generációról generációra változik, az egymást követő generációkban újabb és újabb populációk alakulnak ki. Az algoritmus a kezdő populációt véletlen- szerűen határozza meg. 23

24 A kanonikus genetikus algoritmusban L hosszú bitsztringeket használunk kromo- szómákként. Minden bitet 50%-os valószí- nűséggel állítunk 0-ra vagy 1-re. Mindegyik kromoszómaváltozat 1/(2 L ) való- színűséggel adódhat. A populáció mérete a benne levő egyedek száma. Leggyakrabban állandó (N). 24

25 25

26 A kiválasztás (selection) a populációban található egyedek közül választ ki egyeseket aszerint, hogy milyen a fitneszértékük. Ez az eljárás hasonló a természetes kiválasztáshoz. A reprodukciós képesség az adott megoldás jóságától függ. 26

27 A kiválasztás előtt a következőket kell tenni:  Az aktuális populációban található egyedek célfüggvény értékeinek (f i ) a kiszámítása.  A fitneszértékük meghatározása skálázással. Ebben a példában a célfüggvény az x bináris egész négyzetét vesszük (x=101, célfüggvény: 5 2 =25). 27

28 28

29 A kanonikus algoritmusnál a legegyszerűbb kiválasztási módszert alkalmazzuk. Ez a rulettkerék vagy fitneszarányos kiválasztás (roulette wheel, fitness based). A szülőgenerációból egyszerre egy elemet választunk ki úgy, hogy minden populációbeli egyed kiválasztási valószínűsége a jósági mértékével arányos. 29

30 30 Rulettkerék (roulette wheel, fitness based)

31 Ugyanazt a kromoszómát többször is ki lehet választani, az egyes kiválasztási műveletek egymástól függetlenek. 31

32 A rulettkerék módszer egyszerű, de néha más módszerrel jobb eredményeket kapunk. Például:  Sorrend alapú kiválasztás (rank based)  Versengő kiválasztás (tournament based) 32

33 A szelekciós műveletet annyiszor hajtja végre az algoritmus, ahány eleme van a populációnak (N). A kiválasztott egyedek egy új, átmeneti populációt alkotnak. Ezzel a módszerrel biztosítani tudjuk, hogy a populáció mérete ne változzon. 33 Az átmeneti populáció kialakítása után következnek a genetikus műveletek, melyek segítségével létrejön az új generáció populációja. t (régi) t+ ½ (átmeneti)

34 - az adott egyed kiértékelése 34 - az átlagos célfüggvény érték az adott populációban - az egyed jósága ff i f i i = f i f f

35 Az előző táblázatban 35 Az első egyed fitnesze 24649/25359=0.972 A fitneszérték határozza meg az egyes egyedek reprodukciós esélyeit. A kiválasztás során ez az érték útmutatást ad az algoritmusnak, hogy mely populáción belüli kromoszómák közül válasszon. Az egyes egyedek kiválasztásának valószínűsége a fitneszértéküktől függ. f = 25359

36 Az átmeneti populációban található, reprodukcióra kiválasztott szülőpárokból kiindulva jön létre az egyedek utódgenerációja. 36 A két leggyakrabban alkalmazott genetikus operátor a keresztezés és a mutáció. t+ 1/2 (átmeneti) t+1’ ( utódok)

37 Először a keresztezés kerül végrehajtásra, amely egy szülőpár két tagjából, azok véletlenszerű kombinálásával hoz létre két új utódegyedet. Majd az így létrejött utódokon alkalmazza az algoritmus a mutáció műveletét, amely egyszerre egy egyeden működik, véletlen- szerűen megváltoztatva annak kromoszómáját. 37

38 Az így létrejött egyedekből kiindulva alakul ki a következő generáció. 38 t+ 1/2 (átmeneti) t+1 ’ (utódok) mutáció keresztezés

39 A keresztezés (recombination) művelete alapvetően két szülőegyedből hoz létre egy vagy két új utódot. Az egyes szülőpárok esetén az algoritmus p c valószínűséggel fogja azokat keresztezni. Ha a műveletre nem kerül sor, a két utód a két szülő módosítás nélküli változata lesz. 39

40 A bitsztringek esetén alkalmazott legprimi- tívebb változat az egypontos keresztezés. Ez az eljárás két szülőkromoszómát véve, mindkettőt ugyanabban a véletlenszerűen megválasztott pozícióban elvágja, majd ezeket a két ős között felcserélve ragasztja ismét össze. Az így keletkezett két új egyed tekinthető a szülők utódjának. 40

41 Keresztezés után

42 Az egypontos keresztezés mellett léteznek annak általánosított változatai:  Kétpontos keresztezés  N-pontos keresztezés 42

43 A gyermekkromoszómák génjei az azonos pozícióban lévő szülőgének közül kerülnek ki, adott, általában valószínűséggel az egyik vagy a másik szülőtől. 43

44 A mutáció művelete úgy működik, hogy egy meglévő kromoszómát kismértékben módosít. Ennek leggyakoribb módja, hogy a gének közül egyet véletlenszerűen kiválaszt, majd ennek értékét egy szintén véletlenszerűen választott másikra cseréli. A mutáció elsődleges funkciója a keresési tér újabb területeinek felkutatása. 44

45 A művelet a korábban létrejött két utódot egymástól függetlenül mutálja. Lehetséges, hogy ezt egy véletlenszerűen választott pozícióban, vagy minden pozícióban egymástól függetlenül végzi el. 45

46 A teljes kromoszómára, illetve az egyes bitekre a mutáció valószínűsége p m. A művelet után az algoritmus az utódegyedeket elhelyezi az új populációban. A mutáció tehát véletlenszerűen átváltoztat néhány bitet a kromoszómában példa a mutációra A mutáció a sztring mindegyik pozíciójában megtörténhet egy megadott valószínűséggel, ami általában viszonylag kicsi (0.001).

47 A mutációhoz tartozik még egy speciális művelet, az inverzió. Ez véletlenszerűen kiválasztja a kromoszóma egy szakaszát, majd azt megfordítva illeszti vissza. 47

48 Az új generáció alapját az előállított utódpopuláció adja. Az új populációt a reprodukció lépése hozza létre a létrejött új egyedekből és a régi generációból. Erre is több módszer van. Az egyszerű vagy generációs reprodukció (simple, generational) teljesen lecseréli a régi populációt. Az összes szülő elvész, csak az utódok maradnak fenn. 48

49 Ehhez kiegészítésként szokták alkalmazni az elitizmust (elitism): a szülőpopuláció legjobb egyedét meghagyjuk, és az új generáció egyik (véletlenszerűen kiválasztott, vagy a legrosszabb) egyede helyett örökítjük át. 49

50 Az algoritmus leállását a kilépési függvény szabályozza, mely a kilépésről különféle feltételek alapján dönthet: 1. Adott számú generáció után véget ér az algoritmus futása. A kilépés független az aktuális generáció jóságától és konvergenciájától. 2. Az aktuális generáció állapota. Például ha a legjobb egyed fitneszértékét összehasonlítva a populáció átlagos fitneszével, az arány elér egy adott értéket, azaz a generációban található legalább egy nagyon jó megoldás. Másik lehetőség a kilépésre ha az egyes egyedek szórása egy adott érték alá esik. Ez azt jelenti, hogy a keresési térben az egész populáció egy adott területre koncentrálódik. 50

51 3. Az algoritmus leállása függhet a populáció vagy a legjobb egyedének konvergenciájától is. A konvergenciát többféleképpen lehet definiálni. Egy gén konvergál, ha az egész populációban az adott gén értéke pl. 95%-ban azonos. Egy populáció konvergál, ha minden gén konvergál. 51

52 A genetikus algoritmusok tipikus generáció- számának értéke 50 és 500 között mozog. A generációk egy teljes sorozatát nevezünk egy futtatásnak. Más-más futtatás eltérő eredményeket produkálhat. A bemutatott algoritmus csak alapul szolgál a gyakorlatban használatos algoritmusokhoz. A genetikus algoritmus sikerességét befo- lyásolja a populáció mérete (N), a keresztezés és a mutáció valószínűsége (p c, p m ), és még sok más tényező. 52

53 A 8-királynő állapotnak a 8 királynő pozícióját kell specifikálnia, mindegyik egy 8 négyzetet tartalmazó oszlopban, így 8xlog 2 8=24 bitre van szükség. Az állapotot 8 számjeggyel is lehet jellemezni, melyek mindegyike az 1-8 tartományból való. Az alábbi (a) ábra egy olyan populációt mutat be, mely négy, a 8-királynő állapotait reprezentáló 8 számjegyes füzérből áll. 53

54 54 Az (a)-beli populációt (b)-ben fitness-függvény alapján rangsoroljuk, aminek eredménye a (c)-ben látható reprodukáló párok adják. A létrehozott utódok a (d)-ben láthatók, melyekre még hat a mutáció (e).

55 A következő generáció előállítása az (a)-(e) ábrán láthatók. A (b)-ben minden állapotot a kiértékelő függvény (fitnesz függvény) alapján rangsoroljuk. A fitnesz függvénynek a jobb állapotokra magasabb értéket kell visszaadni. A 8-királynőnél fitnesz függvényként a nem támadó királynőpárok számát használjuk. Ennek értéke egy megoldás esetén 28. A négy állapot értéke 24, 23, 20 és

56 A szaporodásra való kiválasztás valószínűsége a fitnesz értékkel egyenesen arányos. A százalékos mennyiségek a fitnesz értékek mellett láthatók. A (c)-ben két párt véletlenszerűen választunk ki reprodukcióra, a (b)-beli valószínűségnek megfelelően. Egy egyedet kétszer, másikat pedig egyszer sem választottunk ki. 56

57 Minden keresztezendő párnál egy keresztezési (crossover) pontot választunk a füzérbeli pozíciók közül (az első párnál a harmadik számjegy után, a második párnál az ötödik számjegy után). A (d)-ben az utódok generálását látjuk, a szülő füzéreket a keresztezési pontoknál keresztezve. Az első pár első gyereke az első szülőtől kapja az első három számjegyét, a másik szülőtől a többit. 57

58 58 Az árnyalt oszlopok a kereszteződés során elvesznek, a nem árnyalt oszlopok megmaradnak. Ha a két szülő állapot igen különböző, a keresztezés eredménye mindkét szülőtől igen távol eshet.

59 Sokszor előfordul, hogy a keresési folyamat elején a populáció eléggé változatos, és a keresztezés nagy léptekkel halad előre, majd később, ha az egyedek többsége már igen hasonlít egymásra, kisebb lépések követ- keznek. Végül az (e)-ben a füzér minden elemét valamilyen kis független valószínűséggel mutáció (mutation) alá vetjük. 59

60 Az első, a harmadik és az ötödik utódban egy- egy számjegyet mutáltunk. A 8-királynő problémában ez annak felel meg, hogy egy királynőt véletlen módon kiválasztunk, és egy, az oszlopban szintén véletlen módon kiválasztott mezőre áthelyezzük. 60

61 A genetikus algoritmus kombinálja a hegymászó tendenciát, a véletlen feltárást és a paralell keresési szálak közötti információ- cserét. A genetikus algoritmus előnye a keresztezéstől származik. 61

62 Ha az első 3 királynőt például a 2, 4 és 6 pozícióba helyezzük (nem támadják egymást), egy hasznos blokk alakul ki, amit más blokkokkal kombinálva egy megoldás nyerhető. Ennek működését a genetikus algoritmusok elmélete a séma (schema) fogalommal magyarázza. A séma egy olyan részfüzér, amelyben bizonyos pozíciók nem specifikáltak. A 246***** séma az öszes olyan 8-királynő állapotot leírja, ahol az első 3 királynő a 2., 4., és 6. pozícióban van. A sémára illeszkedő füzérek, mint például a füzér, a séma példányai (instances). 62

63


Letölteni ppt "Mesterséges Intelligencia. Az algoritmus mechanizmusa a darwini evolúciós elméleten (1859) és a genetika alapjain nyugszik. Optimalizálási és keresési."

Hasonló előadás


Google Hirdetések