Praktické využití genetických algoritmů Proč GA selhávají? Kdy použít GA? Úlohy s omez. podmínkami Práce s omez. podmínkami Hybridní gen. algoritmy
Proč genetické algoritmy selhávají? Důvody Neopodstatněné použití Nevhodný typ problému Pochybení při aplikaci genetického algoritmu
Proč genetické algoritmy selhávají? 1. Neopodstatněné použití (nesprávná motivace) Oblast GA je stále velice mladá a populární Přílišná popularizace a snaha o jednoduchost vede k demonstraci funkce na co nejjednodušších úlohách Vzniká potřeba „jít s dobou“ Jsou univerzální a všestranně použitelné, ale to neznamená, že nahradí vše, co zde bylo dosud
Proč genetické algoritmy selhávají? 2. Nevhodný typ problému Klamné problémy (deceptive problems) Izolované optimální řešení obklopené průměrnými Nadprůměrní jedinci tak „vedou GA“ úplně jinam Problém je klamný, pokud průměrná fitness všech schémat neobsahujících jako instanci globální optimum je větší než průměrná fitness všech schémat, která tuto instanci obsahují
Proč genetické algoritmy selhávají? Klamné problémy (deceptive problems) f(x) definovaná dle grafu: g(x1,..,x25) = f(x1)+..+f(x25)
Proč genetické algoritmy selhávají? 3. Pochybení při aplikaci Použití nesprávné reprezentace (redundance) Použití nevhodné fitness funkce (nedostatečný nebo přílišný selekční tlak) Použití nevhodných genetických operátorů (namísto kombinování vhodných vlastností individuí dochází k jejich rozbíjení)
Proč genetické algoritmy selhávají? Použití nesprávné reprezentace Mnoho individuí reprezentuje stejné řešení (yellow,yellow,blue,black) (blue, blue, yellow, black) (yellow,yellow, black, blue) etc.
Proč genetické algoritmy selhávají? Použití nevhodné fitness funkce počet konfliktů vs. rozdílný význam (dopad) konfliktů
Proč genetické algoritmy selhávají? Použití nevhodné fitness funkce počet konfliktů vs. rozdílný význam (dopad) konfliktů
Proč genetické algoritmy selhávají? Použití nevhodného operátoru
Proč genetické algoritmy selhávají? Použití nevhodného operátoru
Kdy je vhodné genetický algoritmus použít? Neexistuje rigorózní odpověď, ale určité indicie přece jen existují Prohledávaný prostor je velký Tento prostor není vyhlazený ani unimodální Struktura prostoru je komplikovaná Není třeba najít optimum globální, ale stačí „přijatelné řešení v přijatelném čase“
Kdy není vhodné použít genetický algoritmus? Prohledávaný prostor lze (vzhledem k jeho velikosti) snadno prohledat V hladkém a unimodálním prostoru velmi snadno zvítězí horolezecký algoritmus K vyřešení problému je nutné najít globální optimum Problém není vhodný svým charakterem pro použití genetického algoritmu (klamný problém)
Optimalizační úlohy Hledání volného extrému (free optimization problem) Hledání vázaného extrému (constraint optimization problem) Hledání řešení splňujícího omezující podmínky (constraint satisfaction problem)
Evoluční algoritmy a úlohy s omezujícími podmínkami
Metody práce s omezujícími podmínkami Penalizace nepřípustných individuí Příliš malá penalizace – nepřípustná individua profitují z porušování podmínek Příliš velká penalizace – příliš potlačí vliv nepřípustných individuí a jakékoliv přípustné potom bude mít v populaci velký vliv Není snadné správně zvolit (velikost a struktura přípustné množiny, charakter účelové funkce, ..)
Metody práce s omezujícími podmínkami Opravné algoritmy a speciální operátory Opravný algoritmus Může být velmi obtížné jej navrhnout, měl by být lokální (jinak to bude náhodné hledání) Speciální operátory Musíme mít počáteční populaci plnou přípustných individuí Není snadné navrhnout
Metody práce s omezujícími podmínkami Dekodéry Chromosom není chápán jako zakódované řešení, ale jako informace, z níž lze přípustné řešení zkonstruovat Musíme mít efektivní algoritmus, který dekódování realizuje Lokálnost – malá změna individua vyvolá malou změnu dekódovaného řešení
Metody práce s omezujícími podmínkami Penalizace nepřípustných individuí = přímé prohledávání celého prostoru S Opravné algoritmy a speciální operátory = přímé prohledávání množiny přípustných řešení F S Dekodéry = nepřímé prohledávání množiny
Evoluční algoritmy a úlohy s omezujícími podmínkami splňování omezujících podmínek problém splňování logických formulí problém N dam hledání vázaného extrému seskupovací problém problém obchodního cestujícího
Evoluční algoritmy a úlohy s omezujícími podmínkami Hybridní genetické algoritmy GA jsou univerzální, robustní, ale téměř nikdy nejsou nejlepšími algoritmy pro daný problém Nevyužívají znalostí o konkrétním problému Cesta ke zvýšení efektivnost vede přes využívání vhodných částí „tradičních“ algoritmů a jejich zahrnutí do algoritmu genetického = hybridizace
Hybridní genetické algoritmy Reprezentace individuí Generování počáteční populace, interpretace individuí Reprodukční operátory
Genetické algoritmy a hybridní genetické algoritmy „.. hybridní genetický algoritmus začíná tam, kde tradiční algoritmus končí ...“ tradiční algoritmus? „tradiční“ genetický algoritmus? „tradiční“ (dosud používaný) algoritmus?
Tradiční genetické algoritmy binární kódování, pevná délka chromosomů, ruletový mechanismus selekce, základní genetické operátory existující teoretické zdůvodnění funkce (věta o schématech) dosud poměrně intenzivně studovány v praktických aplikacích se téměř nevyskytují
Tradiční algoritmy Pro konkrétní problém obvykle existuje „tradiční“ (obvykle používaný) algoritmus, který nevede k optimálnímu řešení, ale dává přijatelné řešení Uživatel tento algoritmus obvykle zná a rozumí mu
Tradiční algoritmy Jeho využitím dle Davise [1991] Získáme důvěru uživatele Získáme naději, že vhodným využitím expertízy v tomto algoritmu obsaženém získáme algoritmus hybridní, který bude lepší než algoritmus původní
Hybridní genetické algoritmy v širším smyslu Hybridní genetické algoritmy nevznikají jen využitím znalostí o tradičních metodách Synergie hlavních směrů soft computingu Využívání dalších poznatků genetiky, adaptace a organizace společenstev živých tvorů, začlenění ekologických interakcí, ...
Hybridní genetické algoritmy v širším smyslu Kulturní algoritmy
Hybridní genetické algoritmy v širším smyslu Koevoluce
Hybridní genetické algoritmy v širším smyslu Interaktivní evoluce
Interaktivní evoluce Kopičová, A.: Aplikace genetických algoritmů. Interaktivní evoluce. Diplomová práce. FIM UHK 2009.
Interaktivní evoluce Kopičová, A.: Aplikace genetických algoritmů. Interaktivní evoluce. Diplomová práce. FIM UHK 2009. Grafická interpretace prvních tří iterací, při nichž jsou vytvářena slova ke zpracování želví grafikou (při použití konstanty α = 31°): - „F+F[-F]“ - „F+F[-F]+F+F[-F][-F+F[-F]]“ - „F+F[-F]+F+F[-F][-F+F[-F]]+F+F[-F]+F+F[-F][-F+F[-F]][-F+F[-F]+F+F[-F] [-F+F[-F]]]“
Hybridní genetické algoritmy v širším smyslu „Jest vznešenost v tomto názoru na život s jeho několika mohutnostmi, jež byly původně vdechnuty Stvořitelem v málo tvarů aneb jen v jeden; a že, co tato oběžnice pokračovala kroužíc dle pevných zákonů všeobecné tíže, z tak prostého počátku vyvinulo a vyvíjí se nekonečně těch nejkrásnějších a nejpodivuhodnějších tvarů.“ Charles Darwin