Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Genetikus algoritmusok
Mesterséges Intelligencia Genetikus algoritmusok Példa
2
Genetikus algoritmusok
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
Genetikus algoritmusok
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
Genetikus algoritmusok
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
Genetikus algoritmusok
Egy egyszerű (kanonikus) genetikus algoritmus megvaló-sításához a következő műveleteket kell végrehajtani: A populáció inicializációja Minden populációbeli egyed fitneszének a meghatározása A kiválasztott egyedek reprodukciója az új populáció kialakításához Rekombináció (keresztezés) és mutáció genetikus műveletek végrehajtása a populáción 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
Genetikus algoritmusok
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
Genetikus algoritmusok
A mi példánkban azt az x értéket kell megtalálni amely a következő függvényt fogja makszimizálni a 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.
8
Genetikus algoritmusok
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
Genetikus algoritmusok
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
Genetikus algoritmusok
Az f(x) az egyed fitnesz-ét (jóságát) jelöli
11
Reprodukció 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
Reprodukció 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
Reprodukció 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
Reprodukció A következő generáció a következő egyedekből áll:
3: 8: 2: 5: 6: 1:
15
Rekombináció (keresztezés)
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
Rekombináció (keresztezés)
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
Mutáció 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
Mutáció 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
Megjegyzések 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
Megjegyzések Í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: előre meghatározott makszimális számú generáció elérése. egy előre meghatározott feltétel teljesülése. meghatározott számú egymást követő generációk száma miközben a fitnesz nem javul.
21
Változók reprezentálása
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
Változók reprezentálása
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.