1 / 24

Genetické algoritmy

ČVUT v Praze – fakulta Stavební. Genetické algoritmy. Filip Dušek. 2004 – V 53. Úvod. začátkem 60. let vzniká nový směr v rozvoji informatiky – genetické algoritmy tyto algoritmy vycházejí z Darwinovy teorie o vývoji druhu. úspěšně se používají k řešení optimalizačních problémů.

Download Presentation

Genetické algoritmy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ČVUT v Praze – fakulta Stavební Genetické algoritmy Filip Dušek 2004 – V 53

  2. Úvod • začátkem 60. let vzniká nový směr v rozvoji informatiky – genetické algoritmy • tyto algoritmy vycházejí z Darwinovy teorie o vývoji druhu. • úspěšně se používají k řešení optimalizačních problémů

  3. Genetický algoritmus • algoritmus určený pro řešení optimalizačních úloh prostřednictvím opakovaného používání genetických operací na jeho jedincích (genech) • mezi základní genetické operace řadíme reprodukci, mutaci a křížení

  4. Princip genetického algoritmu • podle teorie Charlese Darwina v přírodě přežívají silnější jedinci a tito pak mají šanci předat svoji genetickou informaci do další generace. Důležité přitom je, že každý organismus je potomkem dvou rodičů a tudíž se v něm mísí genetické informace obou rodičů. Neboli informace uložené v jeho chromozómech jsou z části převzaté od jednoho z rodičů a z části od rodiče druhého. Na těchto základních principech pracuje i genetický algoritmus. Algoritmus tedy pracuje s jistými jedinci (populací jedinců), jejichž vlastnosti má reprezentovány v určité struktuře, která je připodobněním chromozómu tohoto organismu. Cílem algoritmu je přitom vytvářet v populaci jedinců stále silnější jedince. Tato vlastnost předurčuje algoritmus k použití na řešení optimalizačních problémů.

  5. Základnípojmy • gen -konkrétní symbol v chromozómu • chromozóm - genetická informace ve tvaru řetězce • jedinec - nositel genetické informace (jedno konkrétní zakódované řešení) • generace - je populace jedinců v určitém kroku genetického algoritmu • populace - větší množství jedinců, na kterou aplikujeme různé genetické operace • křížení - ze dvou jedinců vzniknou dva noví, každý má část genů od prvního jedince a část od druhého

  6. mutace - náhodná změna jednoho genu některého jedince, rozšiřuje prohledávaný prostor o řešení, které není možno dosáhnout křížením, protože nebyla součástí inicializace populace • reprodukce - jedinci jsou kopírováni do nové populace podle výše své hodnotící funkce (jedinci s lepšími vlastnostmi s větší pravděpodobností)

  7. Ukázka postupu vývoje populace při optimalizaci funkce f jedinec gen 1 1 0 1 0 1 1 1 chromozóm

  8. Genetický algoritmus pracuje s populací řetězců, proto musíme před spuštěním algoritmu nějakou generaci již mít. Tuto generaci získáme tak, že řetězce vytvoříme náhodně. • Necháme naší funkci f zjistit, jak dobré řetězce jsme dostali. náhodně vytvořená generace kvalita náhodně vytvořené generace

  9. Reprodukce • Při reprodukci se do nové generace kopírují řetězce ze staré generace. • Čím je řetězec lepší, tím větší je pravděpodobnost, že bude do nové generace okopírován. Jedním ze způsobů reprodukce je výběr pomocí rulety. pravděpodobnosti pro vylosování. velikost výsečí na ruletě

  10. kvalita vylosované generace Porovnáme-li průměrnou kvalitu řetězce původní a vylosované generace, zjistíme, že zde došlo k výraznému nárůstu. Tento výsledek není nijak překvapující, neboť díky způsobu výběru řetězců pro další generaci jsme dávali přednost lepším řetězcům.

  11. Kdybychom tedy pro vývoj generace používali pouze opakovaně prováděnou reprodukci, degenerovala by generace takovým způsobem, že by se v ní po čase objevovalo několik nejlepších řetězců z počáteční generace. Nedosáhli bychom tak v žádném případě toho, že by se v nových generacích objevovali řetězce, které by byly lepší, než řetězce v počáteční generaci. Za účelem zlepšování kvality řetězců jsou zde dvě operace. • Křížení Tato operace spočívá ve výměně informací mezi řetězci. Celý mechanismus křížení začíná tak, že se z nově vylosované populace náhodně vyberou dva řetězce. Tyto dva řetězce lze chápat jako dva rodiče. Jejich potomci budou potom obsahovat genetické informace svých rodičů. rodiče potomci

  12. Křížením nám vzniknou dva zcela nové řetězce, které si ovšem nesou některé informace od svých rodičů. Podívejme se, jaká je kvalita potomků vzešlých z křížení. f(00000000) = 0 f(01100111) = 9,631 První potomek dopadl při vyhodnocení zcela katastrofálně a díky nulové kvalitě nemá šanci projít přes další provedení reprodukce. Oproti tomu druhý potomek je silnější než kterýkoli z jeho rodičů. • Mutace Rozšiřuje prohledávaný prostor o řešení, které není možno dosáhnout křížením, protože nebyla součástí inicializace populace. Extrémním případem takové situace je například stav, kdy se do první, náhodně vylosované generace dostane jeden velmi silný řetězec a zbytek řetězců bude slabý. V takovém případě může nastat situace, kdy se do další generace dostane dostanou pouze exempláře jediného silného řetězce. Nastane-li takováto situace, můžeme dostat jiný řetězec pouze tak, že některý z exemplářů zmutujeme. Tato funkce mutace funguje i v neextrémních případech, kdy nám pomáhá udržet různorodost generace.

  13. Ukažme si ještě, jaký vliv by mohla mít mutace na některý z řetězců v naší generaci. Například zmutuje-li poslední řetězec – 01100111 na čtvrté pozici 01100111 01110111 potom f(01100111)= 9,631 f(01110111)= 9,956 mutace nám v tomto případě pomohla zlepšit kvalitu daného řetězce. mutovanýgen

  14. Křížení • je operace, při níž nová generace vznikne z té předchozí tak, že rodiče si vymění část svého kódu a tato kombinace tvoří potomky Druhy křížení : • jednobodové - při tomto typu křížení vybereme náhodně jednu pozici, na níž jedince rozdělíme a jejich části navzájem vyměníme • dvoubodové - dvoubodové křížení je obdobou křížení jednobodového, jen se vyberou náhodně dvě dělící pozice a prostřední části jedinců se navzájem vymění • uniformní - pro každý gen náhodně určí, do kterého z nových jedinců se zařadí

  15. Mutace • genetická operace, kdy jedince v další generaci získáme z nějakého jedince v předchozí generaci změněnou jednoho znaku v jeho kódu Druhy mutace : • uniformní -mění hodnotu genu u jedince zcela náhodně v definovaném rozmezí • hranicová - mění hodnotu genu, se stejnou pravděpodobností, buď na horní nebo dolní hranici povoleného intervalu • Gaussova - nová hodnota genu je určena z Gausova rozložení, kde střed rozložení je v nule a rozptyl je roven staré hodnotě genu. Nová hodnota musí ležet v předem definovaném rozmezí účelové funkce

  16. Reprodukce • operace, která na základě kvality jedince vybírá příští generaci Druhy výběru : • nejlepší - tento operátor vybere z populace vždy jedince z nejvyšším skórem • ruleta - tato metoda výběru jedince je založena na poměru skóre jedince vzhledem ke zbytku populace, čím větší skóre jedinec má, tím má větší šanci na to, že bude vybrán • turnaj - tento selektor používá předchozí metodu k výběru dvou jedinců, z nichž vybere toho s vyšším skóre. Tato metoda typicky vybere jedince s vyšším skóre častěji, než metoda rulety

  17. deterministický - selektor užívá dvoufázové selekční procedury. V první fázi se vypočítá předpokládané skóre jedince. Dočasná populace je naplněna jedinci s nejvyššími očekávanými hodnotami. Ostatní pozice jsou obsazeny původními jedinci s nejvyšší pozicí v seznamu setříděném podle desetinné části jejich skóre. Druhá fáze je uniformní náhodnou selekcí z dočasné populace • stochastický - selektor také využívá dvoufázové selekční procedury. První fáze počítá předpokládané skóre a naplní dočasnou populaci jedinci s nejvyššími hodnotami. Každá desetina očekávaného skóre dá jednici pravděpodobnost být vybrán. Druhá fáze je opět uniformní náhodnou selekcí z této dočasné populace.

  18. uniformní - tento selektor vybírá jedince náhodně z celé populace. Každý jedinec má stejnou pravděpodobnost, že bude vybrán

  19. Předpoklady využití • jestliže je nutno nalézt nejvhodnější z velkého počtu alternativ • alternativy je možno popsat konečným počtem vlastností • neexistuje algoritmus, jak explicitně vybrat nejlepší alternativu nebo tento algoritmus je natolik složitý, že je vhodnější použít náhodný výběr • existuje jednoznačně definovaná funkce, která hodnotí kvalitu každé z alternativ, pokud již je specifikována

  20. Hledání maxima účelové funkce – program GaVisualiser Příklad účelové funkce - Schwefel

  21. První generace jedinců – náhodně vybraná Max. funkce

  22. Závěrečná generace jedinců

  23. Graf evoluce • znázorňuje průběh evoluce v čase, resp. znázorňuje skóre populace vzhledem ke generacím. Skóre populace se znázorňuje jako skóre nejlepšího jedince.

  24. Podklady • http://ivopeterka.mysteria.cz/index2.php • http://cs.felk.cvut.cz/~xobitko/ga/ • http://neuralnets.czweb.org/ • http://www.sweb.cz/jaroslav.teda/ • http://kocour.ms.mff.cuni.cz/~petricek/papers/ga/ • http://www-troja.fjfi.cvut.cz/~kucharik/projects/ga/gen.html~

More Related