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 Genetikus algoritmusok Példa.

Hasonló előadás


Az előadások a következő témára: "Mesterséges Intelligencia Genetikus algoritmusok Példa."— Előadás másolata:

1 Mesterséges Intelligencia Genetikus algoritmusok Példa

2 2 A genetikus algoritmusok olyan keresőalgoritmusok melyek primitív módon reflektálják a természetes evolúció bizonyos folyamatait. A mérnökök és tudósok általában nem sokat törődnek a genetikus algoritmusok biológiai alapjaira, inkább a problémamegoldó képességeikre összpontosítanak.

3 3 A genetikus algoritmusok az evolúciós számításokhoz taroznak (Evolutionary Computing) – EC, és mint olyanok, a keresési térben a pontok populációjával működnek, nem pedig csak egy potenciális megoldással. A “pontok” mindegyike egy vektor a hipertérben, és egy kandidátust képvisel, vagyis egy potenciális megoldást az adott optimalizációs problémára. A populáció nem más mint vektorok halmaza a hipertérben.

4 4 Minden vektort a populációban egyednek vagy individuának nevezünk. Az analógia miatt az élő szervezetek genetikai evolúciójával, az egyedet kromoszómának is nevezzük. Minden vektorban (egyedben) az elemek száma egyenlő az adott valós optimalizálási probléma paramétereinek számával.

5 5 Egy egyszerű (kanonikus) genetikus algoritmus megvaló- sításához a következő műveleteket kell végrehajtani: 1. A populáció inicializációja 2. Minden populációbeli egyed fitneszének a meghatározása 3. A kiválasztott egyedek reprodukciója az új populáció kialakításához 4. Rekombináció (keresztezés) és mutáció genetikus műveletek végrehajtása a populáción 5. Lépések ismétlése a 2. ponttól amíg nem teljesül egy előre meghatározott megállási, illetve kilépési feltétel

6 6 A genetikus algoritmusokat legkönnyebben egy példán keresztül ismerhetjük meg. Az egyszerű genetikus algoritmus megvaló- sítása nem más mint bitsorozatok másolása, bitsorozatok megváltoztatása, és a bitsorozaton belül az egyes bitek változtatása.

7 7 A mi példánkban azt az x értéket kell megtalálni amely a következő függvényt fogja makszimizálni intervallumon Az x csak egész számú értékekre van korlátozva. Az adott függvény egy színuszfüggvény 0-tól π radiánig. A függvény makszimális értéke 1, és ezt az értéket a π/2 pontban éri el, vagyis ekkor x =128. a

8 8 Ebben a példában csak egy változó létezik: x. Feltételezzük, hogy bináris szimbólumkészletet használunk. Először azt kell eldöntenünk, hogy hogyan reprezentáljuk a változót. Mivel az x változó csak a intervallumból vehet fel értékeket, logikus hogy minden egyedet egy 8-bites bináris értékkel fogunk reprezentálni.

9 9 A bináris szám a nullát fogja képviselni, míg az bináris szám a 255-nek felel meg. Ezután el kell dönteni, hogy hány egyed fogja képezni a populációt. Ez a szám általában néhány tíz és néhány száz között mozog. A mi illusztratív példánkban a populáció 8 egyedből fog állni. A következő lépés a populáció inicializálása. Ez véletlenszerűen történik.

10 10 Az f(x) az egyed fitnesz-ét (jóságát) jelöli

11 11 A fitnesz kiszámítása után, a következő lépés a reprodukció. A reprodukció az új populáció kialakítását jelenti amelyben ugyanannyi egyed lesz mint az előző poulációban. A reprodukció az egyedek kiválasztásával történik a pillanatnyi populációból, méghozzá sztochasztikus kiválasztás módszerével. Minden egyed kiválasztásának a valószínűsége a fitneszétől függ. Minél nagyobb az adott egyed fitnesze, annál nagyobb az egyed esélye a reprodukcióra. A mi példánkban, a kezdeti populációban az összes egyedfitneszének összege Ha minden egyes fitneszt elosztunk mal, az egyes egyedek normalizált fitneszét kapjuk. A normalizált fitneszek összege 1.

12 12 A normalizált fitnesz értékeket a “rulettkerék” eljárásnál használjuk, ahol a rulettkerék minden része (cikke) egy egyednek felel meg. Az egyes cikkek nagysága az egyedek fitnesszétől függ. A rulletkerék forgatásával 8 véletlen számot generálunk 0 és 1 között. Ha a véletlen szám 0 és közé esik, az első egyedet választjuk reprodukcióra a pillanatnyi populációból. Ha a véletlen szám és ( )=0.237 közé esik, a második egyedet választjuk, és így tovább. Ha a véletlen szám ( )=0.872 és 1.0 közé esik, akkor az utolsó egyedet választjuk. Minden egyed kiválasztásának valószínűsége a fitneszével arányos.

13 13 Megtörténhet (habár annak a valószínűsége nagyon kicsi), hogy a legkisebb fitnesszel rendelkező egyed lesz egymás után mind a 8- szor kiválasztva. Sokkal nagyobb a valószínűsége annak, hogy a nagyobb fitnesszel rendelkező egyedek többször lesznek kiválasztva az új populációba. A nyolc véletlen szám: 0.293, 0.971, 0.160, 0.469, 0.664, 0.568, 0.371, Ez rendre a 3, 8, 2, 5, 6, 5, 3, 1 egyedeknek felel meg.

14 14 A következő generáció a következő egyedekből áll: 3: : : : : : : :

15 15 A populációt először véletlenül kiválasztott páronként rendezzük. Mivel a kiválaszott egyedek sorrendje az előző képről véletlen, a szülőket éppen ilyen sorrendben fogjuk összepárosítani. Minden párra generálunk egy véletlen számot amely azt határozza meg, hogy a keresztezés meg fog-e egyáltalán történni. A példában véletlenszerűen határoztuk meg hogy a 4 párból 3-nál fog a keresztezés megtörténni. A keresztezendő pároknál a keresztezési pontokat véletlenül kell meghatározni.

16 16 A populáció keresztezés előtt, és a keresztezési pontok (a), keresztezés után (b), az x értékei (c) és az f(x) értékei (d) keresztezés után

17 17 Minden keresztezendő párnál véletlenszerűen választunk két pontot. A kiválasztott két pont között a bitsorozatok részeit kicseréljük. Az utolsó művelet ebben az egyszerű genetikus algoritmusban a mutáció. A mutáció a véletlenül kiválasztott bitek változtatását jelenti. A mutáció valószínűsége állandó a populáció minden bitjére. A mutáció valószínűsége változhat az alkalmazástól és a problémától függően. A mutáció valószínűségének megszokott értékei és 0.01 között mozognak.

18 18 Mivel a mi populációnkban csupán 64 bit van (8 darab 8 bites egyed), nagy a valószínűsége annak, hogy egy bit sem fog változni. Ezért úgy fogjuk tekinteni, hogy a (b) ábrán látható populáció egyben a végső populáció a GA procedúra első iterációja után. A teljes genetikai procedúra végrehajtásával nyrjük az új generációt. A (b) ábrán látható populáció az első generáció a véletlen kezdeti populáció után.

19 19 A fitneszek új összege most 6.313, míg a kezdeti populációban az egyedek összfitnesze volt. Az új populációban két olyan egyed is van melyeknek a fitnesze 0.99 felett van. Az új generációban az átlagos és a makszimális fitnesz is növekedett. A populáció a (b) ábráról, és a fitnesz értékek a (d) ábráról most készen állnak egy új reprodukciós, keresztezési és mutálási eljárásra, amely megint egy új populációt fog létrehozni.

20 20 Így újabb és újabb generációk születnek amíg nem teljesül valamilyen kilépési (megállási) feltétel. A kilépési feltétel lehet: 1. előre meghatározott makszimális számú generáció elérése. 2. egy előre meghatározott feltétel teljesülése. 3. meghatározott számú egymást követő generációk száma miközben a fitnesz nem javul.

21 21 Az x változó reprezentálására 8-bites bináris értéket használtunk. Viszont, a standard bináris kódolás csak egy lehetőség. Gyakran más kódolási módszerek sokkal alkalmasabbak. Az előző példában a színusz függvény természete az x optimális értékét 128-ra állítja, és akkor a függvény értéke 1.

22 22 A 128 bináris reprezentációja , míg a 127 bináris reprezentációja Ez azt jelenti, hogy a fitnesz érték legkisebb változása az összes bit változását idézheti elő a reprezentáción belül. Ez a kódolási mód következménye, és rosszul hat ki a keresés minőségére. Gyakran alkalmasabb a problémát úgy kódolni, hogy az egymást követő értékek Hamming távolsága 1 legyen. Más szóval, az egymást követő értékek csak egy biten különböznek. Egy ilyen kódolási mód a Grey kódolás.

23 Vége


Letölteni ppt "Mesterséges Intelligencia Genetikus algoritmusok Példa."

Hasonló előadás


Google Hirdetések