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

Genetikus algoritmusok Hatwágner F. Miklós, 2009.

Hasonló előadás


Az előadások a következő témára: "Genetikus algoritmusok Hatwágner F. Miklós, 2009."— Előadás másolata:

1 Genetikus algoritmusok Hatwágner F. Miklós, 2009

2 Evolúciós számítások Evolúciós stratégiák Evolúciós stratégiák Rechenberg (1973), Schwefel Rechenberg (1973), Schwefel Repülőgépszárnyak valós paramétereinek optimalizálása Repülőgépszárnyak valós paramétereinek optimalizálása Evolúciós programozás Evolúciós programozás Fogel (1966), Owens, Walsh Fogel (1966), Owens, Walsh Egyszerű problémák  véges automaták  állapot- átmeneti mátrix véletlenszerű változtatása Egyszerű problémák  véges automaták  állapot- átmeneti mátrix véletlenszerű változtatása

3 Evolúciós számítások Genetikus programozás Genetikus programozás Koza (1992) Koza (1992) Szg. programok (LISP) automatikus fejlesztése Szg. programok (LISP) automatikus fejlesztése Genetikus algoritmusok Genetikus algoritmusok Holland (1975) Holland (1975) A szelekció és adaptáció számítógépes és matematikai modellezése, optimalizációs módszer. A szelekció és adaptáció számítógépes és matematikai modellezése, optimalizációs módszer.

4 Genetikus algoritmusok Problémák széles körére alkalmazható Problémák széles körére alkalmazható Általában nem használ területfüggő tudást (problémafüggetlen metaheurisztika) Általában nem használ területfüggő tudást (problémafüggetlen metaheurisztika) Globális optimalizáció Globális optimalizáció Lehetséges megoldások populációja Lehetséges megoldások populációja Egyedek (individual) Egyedek (individual) A lehetséges megoldáshoz kódoló függvénnyel jól manipulálható jelsorozatot rendelünk (genotípus) A lehetséges megoldáshoz kódoló függvénnyel jól manipulálható jelsorozatot rendelünk (genotípus)

5 Genetikus algoritmusok Az előállított jelsorozat: fenotípus. Az előállított jelsorozat: fenotípus. Genotípus pozíciói: gének, ezek értékei: allélok. Genotípus pozíciói: gének, ezek értékei: allélok. Rátermettségi függvény (fitness function) Rátermettségi függvény (fitness function) Szelekciós operátor (selection) Szelekciós operátor (selection) Rekombináció/keresztezés operátor (recombination/crossover) Rekombináció/keresztezés operátor (recombination/crossover) Mutációs operátor (mutation) Mutációs operátor (mutation)

6 Az algoritmus általános szerkezete 1. kezdetiPopulációLétrehozása(P 0 ); 2. t = 0; 3. while(!kilépés(P t )) { 4. P t ’ = újEgyedek(P t ); /* szelekció, keresztezés, mutáció */ 5. P t+1 = újPopuláció(P t ’, P t ) ; 6. t++; 7. }

7 Tipikus paraméter-értékek Populáció elemszáma: Populáció elemszáma: Kezdeti populáció feltöltése véletlenszerű értékekkel. Kezdeti populáció feltöltése véletlenszerű értékekkel. Kilépés feltétele: általában a szükséges számú ( ) generáció létrejötte Kilépés feltétele: általában a szükséges számú ( ) generáció létrejötte Ha P t ’ elemszáma == P t elemszáma  generációs Ha P t ’ elemszáma == P t elemszáma  generációs Ha csak egy új elemet hozunk létre: helybeni (steady state) Ha csak egy új elemet hozunk létre: helybeni (steady state) Régi generáció legrátermettebb egyedének átvitele: elitista (elitist) Régi generáció legrátermettebb egyedének átvitele: elitista (elitist)

8 Gráfszínezési probléma Irányítatlan gráf, k-színezés Irányítatlan gráf, k-színezés Megoldások kódolása: direkt kódolás, sorrendi kódolás  eltérő módon megvalósított operátorok Megoldások kódolása: direkt kódolás, sorrendi kódolás  eltérő módon megvalósított operátorok

9 Direkt kódolás Színek megfelelő sorrendben történő felsorolása Színek megfelelő sorrendben történő felsorolása Könnyű előállítani véletlenszerű színezést és rátermettségi függvényt („hibás” élek száma  eredeti érték mínusz egyszerese, reciproka) Könnyű előállítani véletlenszerű színezést és rátermettségi függvényt („hibás” élek száma  eredeti érték mínusz egyszerese, reciproka) Rekombináció: pl. egypontos keresztezés (single point crossover) vagy egyenletes keresztezés (uniform crossover) lehet Rekombináció: pl. egypontos keresztezés (single point crossover) vagy egyenletes keresztezés (uniform crossover) lehet Mutáció: minden gén kis valószínűséggel változhat Mutáció: minden gén kis valószínűséggel változhat

10 Direkt kódolás Színek: Piros Fehér Zöld Egy egyed fenotípusa pl.: PPFPZ PZPFP

11 Egypontos keresztezés PPFFZ PPFFP PFFFP

12 Egyenletes keresztezés ZPFFZ ZFFFP PFFFP

13 Mutáció PPFFZ PZFPZPZFPZ

14 Sorrendi kódolás Meghatározzuk a színek felhasználásának sorrendjét: legyen pl. Meghatározzuk a színek felhasználásának sorrendjét: legyen pl. 1. Piros 2. Fehér 3. Zöld Egyszerű heurisztika: bejárjuk a gráf csúcsait, és mindig a lehető legkisebb sorszámú olyan színt használjuk fel, amivel még nem keletkezik hibás él. Ha ez lehetetlen, üresen hagyjuk a csúcsot. Egyszerű heurisztika: bejárjuk a gráf csúcsait, és mindig a lehető legkisebb sorszámú olyan színt használjuk fel, amivel még nem keletkezik hibás él. Ha ez lehetetlen, üresen hagyjuk a csúcsot.

15 Sorrendi kódolás FZFPF

16 Sorrendi rekombináció (OX) 1. Két keresztezési pont kiválasztása 2. Második szülő „középső” génjei átkerülnek a gyermekbe, azonos pozícióra 3. A gyermekből hiányzó értékek milyen sorrendben fordulnak elő az első szülőben? 4. Ebben a sorrendben, a második keresztezési ponttól kezdve beírjuk ezeket a gyerekbe.

17 Sorrendi rekombináció (OX) A második szülőből nem került át: 1, 2, 4. Ezek ilyen sorrendben bukkannak fel az első szülőben: 1, 4, 2.

18 Sorrendi mutáció Permutáció:

19 Problémafüggetlen komponensek Rátermettség-arányos szelekció: minél nagyobb a rátermettség a populáció átlagos rátermettségéhez képest, annál nagyobb a kiválasztás valószínűsége. Rátermettség-arányos szelekció: minél nagyobb a rátermettség a populáció átlagos rátermettségéhez képest, annál nagyobb a kiválasztás valószínűsége.

20 Problémafüggetlen komponensek Egy rátermettség-arányos szelekció: rulettkerék (roulette wheel)

21 Problémafüggetlen komponensek Pár-verseny szelekció (tournament) Pár-verseny szelekció (tournament) Rangsorolás (ranking) a „beragadás” elkerülésére; rátermettség szerint sorba rendezés, majd rátermettség módosítása pl. lineáris fv. segítségével. Rangsorolás (ranking) a „beragadás” elkerülésére; rátermettség szerint sorba rendezés, majd rátermettség módosítása pl. lineáris fv. segítségével. Speciális operátorok beépítése: hegymászó (hill climber), niching, elitizmus, kényszerített mutáció, stb. Speciális operátorok beépítése: hegymászó (hill climber), niching, elitizmus, kényszerített mutáció, stb.

22 Érdekességek Tesztfüggvények Tesztfüggvények Alkalmazások: Alkalmazások: HelloWorld HelloWorld Saját GA implementáció Saját GA implementáció MATLAB GA Toolbox MATLAB GA Toolbox H. A.: hengerfej optimalizálása H. A.: hengerfej optimalizálása


Letölteni ppt "Genetikus algoritmusok Hatwágner F. Miklós, 2009."

Hasonló előadás


Google Hirdetések