01.12.2014 Views

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18<br />

2.2 Heuristické metody<br />

V posledních letech se rok od roku neustále zvyšuje výpočetní síla počítačů, což<br />

otevřelo dveře mnoha novým odvětvím. Nový rozmach také nastal ve vývoji a experimentování<br />

s heuristickými metodami řešení složitých optimalizačních problémů. Tyto optimalizační<br />

metody sice nezaručují nalezení globálního řešení úplně přesně, ale poskytují řešení, které se<br />

globálnímu optimu velmi blíží. Výsledné řešení je nalezeno v uspokojivé době a s dostatečnou<br />

přesností. Používají se zejména pro optimalizaci mnohaparametrových funkcí, které nabývají<br />

mnoha extrémů.<br />

2.2.1 Horolezecký algoritmus<br />

Tento algoritmus je zástupcem jednoduchých heuristických metod. V každém kroku<br />

řešení vygeneruje nejbližší okolí v určitém rozsahu a v něm hledá další nejlepší řešení. Nalezené<br />

lepší řešení se použije v následujícím kroku jako základ pro generování nového okolí.<br />

f(x)<br />

I 1<br />

I 6<br />

Obr. 2 Prohledávání okolí HCA algoritmem a uváznutí v lokálním extrému<br />

x<br />

Horolezecký algoritmus má jednu velikou nevýhodu. Jeho prohledávání je totiž závislé<br />

na šířce generování nejbližšího okolí. Pokud nastane případ, kdy v cestě prohledávání stojí<br />

lokální extrém, může se stát, že se zde algoritmus zastaví. Říkáme, že algoritmus uvázne<br />

v lokálním extrému a v tom případě nenajde globální optimum, ale optimum pouze lokální. Vše<br />

je patrné z Obr. 2. Ten zachycuje, jak postupuje algoritmus při hledání optimálního řešení a<br />

uvázne v lokálním extrému v šestém iteračním kroku. Volba šířky generovaného okolí nám<br />

určuje časovou složitost algoritmu. Šířka okolí nemůže být příliš velká, protože by se neúměrně<br />

zvedla časová složitost algoritmu.<br />

Ukončení výpočtu u horolezeckých algoritmů může nastat např. sledováním hodnot<br />

nejlepších řešení. K ukončení dojde tehdy, pokud dva kroky jdoucí po sobě naleznou dvě<br />

naprosto stejné hodnoty. Ukončení lze také provést omezením iteračních kroků.<br />

2.2.2 Genetický algoritmus<br />

Genetické <strong>algoritmy</strong> jsou inspirovány přírodou a Darwinovými zákony přirozeného<br />

výběru. Jedinci dané populace nesou informace zakódované pomocí genetických chromozomů.<br />

Tyto chromozomy je možno dekódovat a určit, jaké vlastnosti má určitý člen populace.<br />

Sledujeme charakteristiky, které jsou důležité pro hodnocení řešeného problému, tedy v případě<br />

řešení optimalizačního problému hodnotu účelové funkce. Jedinci s lepšími charakteristikami<br />

jsou vybíráni do další generační populace a horší jedinci jsou eliminováni.<br />

Genetický algoritmus provede v jedné generaci několik kroků, které mají tři základní,<br />

jasně dané cíle – nejlepší jedince vybrat do další generace, vytvořit z nich pomocí křížení<br />

potencionálně lepší jedince a v poslední řadě udržovat celkovou populaci dostatečně<br />

heterogenní (překonání lokálních extrémů, zefektivnění křížení). Počáteční populace jedinců je<br />

obvykle generována náhodně na předem definovaném prostoru možných řešení.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!