Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilKlára Horáková
1
Genetické algoritmy Filip Dušek Filip Dušek 2004 – V 53 ČVUT v Praze – fakulta Stavební
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ů. 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
1 1 0 1 0 1 1 1 chromozóm gen jedinec Ukázka postupu vývoje populace při optimalizaci funkce f
8
11110011 01010101 00011101 00111001 01100000 10000011 00000111 11111000 náhodně vytvořená generace f (11110011) = 1,794 f (01010101) = 8,889 f (00011101) = 4,031 f (00111001) = 6,943 f (01100000) = 9,389 f (10000011) = 9,992 f (00000111) = 1,067 f (11111000) = 1,067 kvalita náhodně vytvořené generace 1.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ě. 2.Necháme naší funkci f zjistit, jak dobré řetězce jsme dostali.
9
Řetězecf pravděpodob- nost (%) 111100111,794 4,16 010101018,889 20,59 000111014,031 9,34 001110016,943 16,08 011000009,389 21,75 100000119,992 23,14 000001111,067 2,47 111110001,067 2,47 průměrná kvalita řetězce 5,397 pravděpodobnosti pro vylosování.velikost výsečí na ruletě 3.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.
10
Řetězecf 001110016,943 010101018,889 010101018,889 100000119,992 011000009,389 100000119,992 000001111,067 011000009,389 průměrná kvalita řetězce 8,069 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
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čů. 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. a)Křížení 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čů. b)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. 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
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. Graf evoluce
24
Podklady http://ivopeterka.mysteria.cz/index2.php http://ivopeterka.mysteria.cz/index2.php http://cs.felk.cvut.cz/~xobitko/ga/ http://cs.felk.cvut.cz/~xobitko/ga/ http://neuralnets.czweb.org/ http://neuralnets.czweb.org/ http://www.sweb.cz/jaroslav.teda/ http://www.sweb.cz/jaroslav.teda/ http://kocour.ms.mff.cuni.cz/~petricek/papers/ga/ http://kocour.ms.mff.cuni.cz/~petricek/papers/ga/ http://www-troja.fjfi.cvut.cz/~kucharik/projects/ga/gen.html~ http://www-troja.fjfi.cvut.cz/~kucharik/projects/ga/gen.html~
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.