350 likes | 483 Views
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.
E N D
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 Ú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 přípustných řešení F S
Evoluční algoritmy a úlohy s omezujícími podmínkami Ú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 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