Professional Documents
Culture Documents
EvolúciósMódszerek Teljes
EvolúciósMódszerek Teljes
algoritmusok
Tüű-Szabó Boldizsár
Beadandó feladat leírása
• Feladat: optimalizálási feladat megoldása evolúciós vagy memetikus
algoritmussal
• Határidő: 2020.06.07.
• Lehet folytonos és diszkrét optimalizálási probléma is, néhány
példa:
– Függvényoptimalizálás: Rosenbrock-függvény, Ackley-függvény, Wood-
függvény stb.
– útvonaloptimalizálás: Utazó Ügynök Probléma vagy annak valamely
változata stb.
– Ládapakolási feladatok
– Gráfszínezési feladatok
– Sudoku, 8-puzzle problem, N-királynő probléma stb.
Kérem, hogy a feladat specifikációját előzetesen egyeztessük email-ben
tuu.szabo.boldizsar@sze.hu
Beadandó feladat leírása
• Az alkalmazott algoritmus lehet egy szakirodalomban
publikált módszer választott feladathoz igazított verziója
• Saját algoritmusokat is ki lehet találni
• Programozási nyelvre nincs megkötés
• A feladatról készített dokumentációnak tartalmaznia kell:
- feladat leírását
- az alkalmazott algoritmus részletes bemutatását
pszeudo-kóddal
- futtatási eredmények bemutatását
- az algoritmus kódját
Algoritmusok csoportosítása
Fennsík (plateaux): fennsík az állapottérnek egy
olyan területe, ahol a kiértékelő függvény gyakorlatilag
lapos.
Lehet ez egy lapos lokális maximum, amelyből nincs
tovább felfelé, de lehet egy váll (shoulder), ahonnan
még lehetséges az előrehaladás
Hegygerinc
Hegymászó algoritmus
sztochasztikus hegymászó keresés (stochastic hill climbing): a
felfelé mutató irányokból véletlen módon választ
elsőnek-választott hegymászó algoritmus (first-choice hill
climbing) sztochasztikus hegymászó keresést használ
a követőket véletlen módon addig generálva, amíg az az aktuális
állapotnál nem lesz jobb
jó stratégia lehet, ha egy állapotnak sok követője van
véletlen újraindítású hegymászás (random-restart hill-climbing):
Véletlenül generált kiinduló állapotokból hegymászó keresést végez, amíg
célba nem ér
teljes, de nem hatékony
Lokális keresés (Utazó Ügynök
Probléma)
2-opt: két él cseréje
• Uniform keresztezés:
kromoszóma minden egyes génjénél
véletlenszerűen döntünk, hogy
melyik szülő bitjét kapja az
első utód és melyiket a második
Genetikus algoritmus
Mutáció:
Véletlenszerűen választott egyed génkészletének
véletlenszerű megváltoztatása
Genetikus algoritmus
Szempontok:
• Kezdeti populáció legyen változatos
• Mutációval garantáljuk a változatosságot
• Jobb egyedek szaporodjanak nagyobb valószínűséggel
• Mutáció ne rontsa el a jó egyedeket
Genetikus programozás
• A genetikus programozás ötletét J. Koza javasolta
először 1992-ben
• Cél: meghatározott feladatokat végrehajtó
számítógépes programok automatikus kifejlesztése
• egyedek itt nem egyetlen stringbe vannak bekódolva,
hanem kifejezésfával adottak
• A fát kétféle csomópontok alkotják:
• Terminális csomópontok
• Függvény csomópontok
• Cél: optimális kifejezésfa megtalálása
Genetikus programozás
• Terminálisok és függvények halmazának definiálása
• Paraméterek beállítása
• egyedek száma
• a szülők arány
• a mutációs arány
• a leállási feltétel
• Populáció: fák különböző méretűek és alakúak lehetnek
• Kezdeti populáció: véletlenszerűen létrehozott, de
szintaktikailag érvényes fák alkotják
Genetikus programozás
Genetikus programozás
• Keresztezés
Genetikus programozás
• Mutáció
Bakteriális evolúciós algoritmus