+ All Categories
Home > Documents > GA a predčasná konvergence

GA a predčasná konvergence

Date post: 22-Jan-2016
Category:
Upload: kenda
View: 38 times
Download: 0 times
Share this document with a friend
Description:
GA a predčasná konvergence. Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení Co způsobuje předčasnou konvergenci? příliš velký selekční tlak - přílišné upřednostňování několika výjimečných jedinců na úkor zbytku populace - PowerPoint PPT Presentation
20
GA a predčasná konvergence Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení Co způsobuje předčasnou konvergenci? příliš velký selekční tlak - přílišné upřednostňování několika výjimečných jedinců na úkor zbytku populace nedostatečná velikost populace - optimální velikost populace roste exponenciálně (!) s velikostí řešeného problému obsah počáteční populace špatně navržené genetické operátory - nutná rovnováha mezi prohledáváním (exploration) a zachováním důležitých stavebních bloků ( exploration) klamnost - nadprůměrná schémata pokrývající falešný extrém
Transcript
Page 1: GA a predčasná konvergence

GA a predčasná konvergence

• Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení

• Co způsobuje předčasnou konvergenci?

– příliš velký selekční tlak - přílišné upřednostňování několika výjimečných jedinců na úkor zbytku populace

– nedostatečná velikost populace - optimální velikost populace roste exponenciálně (!) s velikostí řešeného problému

– obsah počáteční populace

– špatně navržené genetické operátory - nutná rovnováha mezi prohledáváním (exploration) a zachováním důležitých stavebních bloků (exploration)

– klamnost - nadprůměrná schémata pokrývající falešný extrém

Page 2: GA a predčasná konvergence

Gentické algoritmy s omezenou konvergencí

• Genetic Algorithms with Limited Convergence (GALCO)

• Idea – neřešit, co dělat v případě, kdy nám už populace zkonvergovala ale naopak určit maximální povolenou míru konvergence a zajistit, že nebude během výpočtu překročena

nepřipustit možnost, že by nějaký gen (stavební blok) zcela převládl v populaci

Page 3: GA a predčasná konvergence

GALCO cont.

• Celkový genotyp populace – limit na konvergenci v rámci sloupců populace

• Jednotlivé geny mohou na dané pozici převládnout maximálně o hodnotu C – parametr konvergence

i-tá pozice v chromozomu = sloupec populace

.

.

.

...

...

...

...

...

...

...

chromozomy

Page 4: GA a predčasná konvergence

GALCO Algorithm

Step 1 Generate an initial population

Step 2 Choose parents

Step 3 Create offspring using the 2-point crossover

Step 4 Insert the offspring into the population according to the following ruleif(max(child1, child2) > max(parent1, parent2))then replace both parents with the childrenelse{ find(current_worst) replace_with_mask(child1, current_worst) find(current_worst) replace_with_mask(child2, current_worst)}

Step 5 if (not finished) then goto Step 2

Page 5: GA a predčasná konvergence

Replace_with_mask operator

for(i=0; i<chrom_length; i++){

change = child.genes[i] – current_worst.genes[i]

if (PopSize/2 – C < conv[i] + change < PopSize/2 + C ) then{

conv[i] = conv[i] + change

current_worst.genes[i] = child.genes[i]

}

}

• Slučuje chromozomy potomka a nejhoršího jedince v populaci

– Pokud na dané pozici nedojde k překročení povolené míry konvergence, tak se použije bit z potomka, jinak z nejhoršího jedince

– Vektor conv[] – maska, určující, z kterého jedince bude daný bit použit

Page 6: GA a predčasná konvergence

Výsledky experimentů na známých úlohách

Page 7: GA a predčasná konvergence

Pokrytí více extrémů

Rozdělení populace po 50 000 iterací

24-18-19-19-20

Rozdělení populace po 500 000 iterací

26-16-22-17-19

Page 8: GA a predčasná konvergence

GALCO - poznámky

• Typ inkrementálního GA

• Generuje nová řešení i po nalezení globálního optima

• Pkřížení = 1.0

• Pmutace = 0.0

• Vystačí si s menšími velikostmi populace než klasický GA

– důležité z hlediska efektivnosti výpočtu

Page 9: GA a predčasná konvergence

Další přístupy

• Duální GA

• Messy GA

• Selective X-over

Page 10: GA a predčasná konvergence

Duální Genetické Algoritmy

• Idea – zavedením redundance do genetického kódu se zvýší diversita populace

• Meta-gen připojen ke každému chromozomu

• Meta-gen řídí interpretaci chromozomu– 0 ... přímá– 1 ... Invertovanáv populaci mohou být 2 jedinci s totálně opačným

genotypem ale se stejným fenotypem

• Operátor zrcadlení – invertuje celý chromozom

bity kódující parametry řešení1/0

Page 11: GA a predčasná konvergence

Vazba stavebních bloků (linkage)

• Pevná – kompaktní stavební bloky

• Volná – roztroušené stavební bloky (snadno porušitelné)

...

Page 12: GA a predčasná konvergence

Messy Genetic Algorithms

• Idea – nešlechtit přímo celé chromozomy, namísto toho hledat slibná schémata (resp. stavební bloky) a postupně z nich budovat řetězce rostoucí délky

• Podobně jako v přírodě, kde vývoj začal od nejjednodušších forem života k vyšším a složitějším, které od nich přebíraly to dobré

• Od 1-buněčných organismů k Homo sapiens s genetickou výbavou kolem 2.000.000 genů

Page 13: GA a predčasná konvergence

Messy GA - representation

• Reprezentace - řetězce dvojic (jméno, hodnota) proměnné délky

underspecification – nejsou definovány všechny bity

• bere se např. první hodnota zleva (first-come-first-served)

overspecification – některý bit má v řetězci vícenásobnou definici

• na neúplné řetězce lze nahližet jako na schémata

• Přípustné řetězce pro 4-bitový problém:

{(1, 0) (2, 0) (4, 1) (4, 0)} 001

{(1, 1) (3, 0) (4, 0) (2, 1) (4, 1) (3, 1)}

Page 14: GA a predčasná konvergence

Výpočet fitness neúplného řetězce

• Průměrování– několikrát se náhodně doplní nespecifikované bity a vezme

se průměrná fitness takto dolepených chromozomů

– příliš evlký rozptyl nepřesné

• Competitive templates1. Pomocí metody hill-climbing se najde lokální optimum

2. Neúplné schéma se doplní bity z tohoto lokálního optima

3. Pokud schéma vylepší lokální optimum, stává se toto schéma novým lokálním optimem

Page 15: GA a predčasná konvergence

Funkční schéma Messy GA

1. Inicializace počáteční poplace – uplný výčet schémat řádu k

2. Primordinal fáze – naplnění populace slibnými schématy

• pouze selekce a kopírování jedinců

• v určitých intervalech půlení populace

3. Juxtapositional fáze – vzájemná rekombinace schémat

• selekce + cut & splice operátor

{(2, 0) (3, 0) (1, 1) (4, 1) (6, 0)} {(2, 0) (3, 0) (1, 1)}

{(4, 1) (6, 0)}

{(3, 1) (2, 0) (1, 1)} + {(4, 1) (6, 0)} {(3, 1) (2, 0) (1, 1) (4, 1) (6, 0)}

Page 16: GA a predčasná konvergence

Slabiny Messy GA

• Jak volit k ?– Velice konkrétní apriorní znalost o řešené úloze

• Inicializace počáteční populace a její proveditelnost– l ... délka chromozomu

– k ... velikost minimálních (fundamentálních) schémat

– velikost populace n=2k(lk)

Př: l=30, k=3 n = 32 480

l=64, k=8 n 1012

Page 17: GA a predčasná konvergence

Pravděpodobnostně úplná inicializace

• Populace inicializována řetězci o délce

k << l’< l

– řetězce pokrývají mnoho schémat řádu k

• Odhad n’tak, že každé schéma řádu k bude v populaci

• Parazitující bity – poškozují dobrá schémata obsažená v delších řetězcích

– building-block filtering – náhodné ořezávání bitů

• Př: Klamný problém l=150, k=5

– normálně by potřebovali n = 18.931.200.960

Page 18: GA a predčasná konvergence

Selective X-over

• Idea – převzít od každého rodiče jen to dobré

• Dceřinný chromozom se buduje bit po bitu

–výsledek je nezávislý na struktuře st. bloků (délce, řádu)

• U každého bitu se rozhodujeme podle pravidla:

i-tý bit se vezme z toho rodiče, u kterého změna daného bitu způsobí menší zlepšení (nebo větší škody) než u rodiče druhého

– rozhodujeme se na základě vyšetření okolí rodič. chromozomů

Page 19: GA a predčasná konvergence

Selective X-over (cont.)

02468

1012141618202224262830

0000

1000

0100

0010

0001

0011

0101

0110

1001

1010

1100

1110

1101

1011

0111

1111

string

fitn

ess

Page 20: GA a predčasná konvergence

Poznámky k Selective X-over

• Klamné problémy

+ optimálně nastavený stavební blok již nemůže být rozbit – platí pouze u klamných problémů

- špatně se nastavují opt. st. Bloky

• Obecně – pokud jsou nějaké interakce mezi bity, tak to už nemusí fungovat

• Mnoho výpočtů navíc – O(PopSizelchrom)


Recommended