Obsah 1. Úvod do genetických algoritmů (GA)... 2 1.1 Základní informace... 2 1.2 Výstupy z učení... 2 1.3 Základní pomy genetických algoritmů... 2 1.3.1 Úvod... 2 1.3.2 Základní pomy... 2 1.3.3 Operátor selekce... 4 1.3.4 Křížení... 6 1.3.5 Mutace... 6 1.4 Úlohy GA... 6 1.4.1 GA souhrn... 6 1.4.2 Souvislost GA a... 7 1.5 Seznam použité literatury... 7
1. Úvod do genetických algoritmů (GA) 1.1 Základní informace ásleduící text e součástí učebních textů předmětu Umělá inteligence a e určen hlavně pro studenty Matematické biologie. Tato kapitola se zabývá základními pomy z oblasti genetických algoritmů a přibližue postupy obecně používané při eich realizaci. 1.2 Výstupy z učení Zvládnutí učebního textu umožní studentům: Porozumět základním pomům ako edinec, populace, účelová funkce, fitness edince Pochopit operace používané při realizaci genetických algoritmů - selekce, křížení, mutace Seznámit se s vybranými selekčními metodami, budou schopni e navzáem porovnat Pochopit souvislost GA s algoritmy používanými v 1.3 Základní pomy genetických algoritmů 1.3.1 Úvod Genetické algoritmy patří mezi nepříliš asně omezenou, rozsáhlou třídu algoritmů umělé inteligence, která e inspirována biologií. GA obvykle slouží k řešení optimalizačních úloh. Podobně ako se uplatňuí v takových oblastech, kde e nalezení řešení definovaného problému analyticky obtížné, či nedostupné. Velmi stručně a zednodušeně poznameneme, že vlastnosti všech vyšších živých organizmů sou zakódovány v genetické informaci uložené v sadě buněčných struktur aderných chromozomů. Chromozomy obsahuí genetickou informaci vyádřenou v řetězci DA. a tomto řetězci můžeme identifikovat ednotlivé úseky, logické funkční celky, které se nazývaí geny. Opět s istým zednodušením můžeme říci, že konkrétní podoby genů (alely) a eich kombinace, odpovídaí za to, aké vlastnosti bude mít konkrétní edinec. Dle Darwinovy evoluční teorie pak edinci, kteří sou nelépe přizpůsobení svými vlastnostmi prostředí (maí vhodný fenotyp), přežívaí a rozmnožuí se. V průběhu mnoha generací pak evoluční tlak vede k výběru v daném prostředí neúspěšněší populace. GA e rodina poměrně mladých algoritmů, která se uplatňue cca od 60. let dvacátého století a využívá výše zmíněné poznatky biologie. Konkrétně, ak už z eich názvu vyplývá, se edná o oblast genetiky a evoluční teorie. 1.3.2 Základní pomy Mezi základní pomy GA patří edinec. Ten e v GA v souladu s biologickou analogií popsán sadou svých chromosomů a konkrétním obsahem ednotlivých genů. Konkrétní reprezentace edince může být v GA představována ediným (haploidní edinec) řetězcem (polem) číselných hodnot, kde konkrétní pozice v tomto řetězci odpovídá konkrétnímu genu a hodnota v tomto poli pak zprostředkovaně určue vlastnost daného edince. Číselné hodnoty nečastěi implementueme z důvodu ednoduchosti práce s nimi ako binární, ale mohou obecně nabývat reálných hodnot. Jedince v GA můžeme tedy za použití binárních hodnot popsat ako řetězec (1),,..., 0, k 2 1 k 1
Populace e pak tvořena sadou edinců (2) Aktuální populaci edinců nazýváme generací. Účelová funkce f () provádí mapování z prostoru binárního genotypu do prostoru reálných čísel. Každý edinec se tedy proevue prostřednictvím hodnoty své účelové funkce, která modelue prostředí. Jeí hodnota e analogií fenotypu a provádí transformaci (3) Platí, že čím e hodnota účelové funkce nižší, tím e daný edinec optimálněší v kontextu daného konkrétního řešeného problému. Jedinec s minimální hodnotou účelové funkce tedy představue nevhodněší aktuálně známé řešení daného problému. Účelová funkce e tedy kriteriem, které odhadue blízkost daného edince k řešení (edinci) optimálnímu a které se snažíme minimalizovat. V e analogickým minimalizačním procesem hledání optimálních hodnot vah sítě v průběhu adaptační dynamiky minimalizace chybové funkce sítě. Každého edince v populaci tedy můžeme ohodnotit dle eho potenciálu, kondici k přežití vůči ostatním, dle eho výhodnosti vzhledem k prostředí. Fitness edince e zobrazení F() (4) Z praktických důvodů e vhodné zavést normalizaci tak, aby hodnota fitness byla v intervalu (0,1), zavádíme tedy renormalizovanou fitness, kde platí: (5) P, 1 2,..., 0,1 k R P n F( ) P i f F F 0 : f 1 2 1 2 P F( ) 1 F( i) F( ) (6) eednodušším způsobem, ak vyčíslit fitness edince e provést lineární interpolaci ednotlivých bodů fitness z účelové funkce f -> F 1 F( ) 1 f ( ) fmin f f f min max, kde e hodnota blízká nule. max
(7) Řešení úlohy pomocí GA vypadá rámcově tak, že máme k dispozici počáteční populaci edinců, představuící několik prvků z prostoru řešení. Abychom byli schopni prozkoumat pokud možno co neširší oblast řešení, musíme mít k dispozici možnost vytvářet edince nové, necháme tedy stávaící populaci rozmnožit a vygenerueme tak populaci novou představuící další prvky z prostoru řešení. Celý prostor možných řešení ale ve většině případů vzhledem k eho velkým rozměrům vygenerovat a vyhodnotit nelze. Proto nenecháme rozmnožovat všechny edince, ale pouze edince nenaděněší z pohledu fitness. Ostatní edinci s nižší hodnotou fitness se zpravidla nerozmnožuí a umíraí. Je tak vytvořena populace nová, která e představována potomky z populace předcházeící. Celková velikost populace zůstává zpravidla konstantní. Řešení či skupina možných řešení úlohy pomocí GA e tedy představováno hledáním takových edinců, kteří maí z pohledu daného problému optimální vlastnosti. Je zřemé, že GA musí mít možnost generovat nové edince a vybírat z nich ty nelepší. K tomu slouží operátory (křížení, mutace, selekce), které sou blíže popsané v dalších podkapitolách. 1.3.3 Operátor selekce Operátor selekce slouží k výběru edinců, kteří sou v populaci zvoleni k dalšímu rozmnožování. Existue celá řada algoritmů, které většinou pracuí s fitness edince. Hlavní metody pro výběr edinců sou uvedeny dále. 1.3.3.1 Ruletová selekce Pravděpodobnost výběru i-tého edince z populace o edincích e Fi p ( i) F (8) Očekávaná hodnota výběru edince e rovna podílu kvality daného edince vůči průměrnému edinci v populaci (aritmetickému průměru) Fi * Fi EV ( i) F F (9) Očekávaná hodnota výběru edince e tedy úměrná eho kvalitám vyádřeným Fitness funkcí vůči zbytku populace. Tento algoritmus tedy při výběru edinců od začátku silně preferue elitněší edince. Algoritmus rychle konvergue k řešení, ale preferováním elitních edinců může algoritmus současně během své přímé cesty prostorem možných řešení uváznout v lokálním minimu. 1.3.3.2 Seřaďovací metoda Jedince v populaci seřadíme vzestupně podle hodnoty eich fitness funkce. Posledního -tého edince ohodnotíme hodnotou H > 0. H = EV() (10)
Očekávanou hodnotu ostatních edinců v populaci určíme dle vztahu i 1 EV ( i) D ( H D) 1, kde D = EV(1) prvního edince v řadě. (11) Očekávaná hodnota výběru tak závisí pouze na pozici edince v realizovaném seřazení. Snahou e zabránit předchozímu případu (ruletová selekce), kdy dochází s vysokou pravděpodobností k selekci pouze několika málo elitních edinců a mohlo tak doít k nedostatečnému prozkoumání prostoru řešení. evýhodné zde naopak může být, že uvedeným mapováním pouze na pozici v řadě ztrácíme informaci o skutečné kvalitě edince. 1.3.3.3 Selekce lineárním a exponenciálním výběrem Tyto způsoby selekce vyžaduí populaci o edincích seřazených od nehoršího edince k nelepšímu dle hodnoty fitness. Pravděpodobnost výběru i-tého edince zde pak závisí pouze na pozici (indexu i) edince v daném seřazení. Tato závislost e buď lineární 1 i 1 p( i) ( n ( n n )) 1, kde poměr n - / respektive n + / e pravděpodobnost výběru nehoršího, respektive nelepšího edince. (12) nebo exponenciální p ( i) (13) Základ exponentu c se volí z intervalu (0,1). Změnou tohoto parametru lze zvyšovat či snižovat selektivitu algoritmu a vytvářet tak rozdílný populační tlak na výběr edinců. Selekční algoritmus s exponenciálním výběrem patří mezi algoritmy v praxi často používané. 1.3.3.4 Boltzmanův výběr Boltzmanův výběr představue analogii se simulovaným žíháním, se kterým sme se setkali v Boltzmanově stroi. Pracue tedy s proměnnou nazývanou teplotou T. Proměnná T se mnění v čase, respektive se mění v průběhu ednotlivých generací populací edinců. V počátku e opět teplota nastavena ako vysoká a postupně klesá k nule. Tím se postupně zvyšue selekční tlak a při nízké teplotě, tedy ke konci algoritmu, iž necháváme rozmnožovat en nelepší edince. Smysl algoritmu e stený, ako v případě Boltzmanova stroe tedy omezení pravděpodobnosti uváznutí v lokálním minimu a větší pravděpodobnost dosažení minima globálního, zde ve smyslu účelové funkce. EV ( i) (14) c i c Fi e F
1.3.3.5 Další typy selekce Předcházeící metody selekce předpokládali, že e vždy v každé nové generaci vytvořena populace nová a rodičovská populace zaniká. emusí tomu tak ale vždy, zmiňme stručně alespoň některé z dalších metod. Metoda turnaového výběru má více variant, například náhodně vybereme dva edince a lepší z nich postoupí do reprodukce. ení tedy nutné vyhodnocovat a porovnávat charakteristiky všech edinců současně. Další možností metody selekce e elitismus, který zachovává nelepší edince. eúspěšněší edinci dané generace neumíraí, ale sou přeneseni spolu s potomky do generace následuící. Jinou metodou selekce e ořezávání, kdy e populace rozdělena na dvě či více částí a do reprodukce postupuí pouze edinci z úspěšněší skupiny. Další alternativou e náhodný výběr, kdy sou edinci vybíráni naprosto náhodně. 1.3.4 Křížení Operátor selekce dokáže ve stávaící generaci populace nalézt ty, kteří se maí rozmnožovat a vytvořit tak populaci novou. Máme tedy k dispozici edince, představuící rodiče. Operátor křížení vygenerue eich potomky. ečastěší e ednobodové křížení dvou rodičů, kdy si rodiče od určitého náhodného genu (pozice v řetězci) zbývaící část řetězce vymění, (1110011 1011) X (1111111 1000) => (1110011 1000) a (1111111 1011). Dále obvykle rozhodneme, zda postoupí do další generace oba potomci, nebo například en ten lepší. Operátor křížení opět existue v celé řadě variant, kdy může docházet i k vícebodovému křížení i mezi více než dvěma rodiči. ebo mohou někteří rodiče postoupit bez rozmnožování přímo do další generace, ak bylo zmíněno v selekci elitismem. 1.3.5 Mutace Operátor mutace zavádí podobně ako v přírodě do rozmnožování prvek náhody a umožňue tak uniknout z lokálního minima, pokud se mutace ukáže ako výhodná. Mutace e většinou realizována ako ednobodová, kdy e s určitou pravděpodobností náhodně provedena změna obsahu ednoho genu (1110011 1011) X (1111111 1000) => (1110011 1000) a (1111111 1111). Mutace vlastně představue pokus o úkrok stranou, kde se zmutovaný edinec vyskytue pravděpodobně mimo dosud prozkoumávanou oblast prostoru řešení. Jsou tak prověřeny i nové možnosti a prostor řešení e prozkoumáván do větší šířky s ohledem na snahu nalezení globálního minima. 1.4 Úlohy GA 1.4.1 GA souhrn Typické kroky GA lze shrnout následovně: 1. Inicializace populace, kódování a nastavení parametrů edinců. První generace. 2. Ohodnocení populace, definice kritérií pro edince. Výpočet fitness. 3. Selekce edinců k reprodukci. 4. Křížení rodičovských edinců, vytvoření potomků. Výběr potomků pro příští generaci. 5. Mutace některých edinců v nové populaci.
6. Vyhodnocení edinců nové populace, zda některý není řešením. Ano = konec. 7. Pokud není, pak pokraču bodem 2 pro novou populaci. Genetické algoritmy sou vhodné pro úlohy, které sou inými prostředky obtížně řešitelné analyticky. Jeich implementace bývá relativně ednoduchá, nicméně často vyžaduí mnoho stroového času a operační paměti. Velkou implementační výhodou GA e možnost eich snadné paralelizace na více výpočetních ednotkách. GA vždy dosáhnou něakého řešení, otázkou e, zda bude dostatečně kvalitní, záruka eho optimálnosti neexistue. Lze zde pozorovat istý rozdíl od klasických algoritmů, které při hledání řešení postupuí gradientními metodami, v zásadě tedy v ednom pravděpodobně nesprávněším směru dle hodnoty gradientu chybové funkce. GA oproti tomu prozkoumávaí širší oblast řešení a operátor mutace umožňue prozkoumat i řešení zcela mimo aktuální lokální minimum. GA zpravidla rychle konverguí k nalezení konkrétního suboptimálního řešení, ale další zpřesňování k nalezení optimálního řešení v této prohledávané oblasti bývá pomalé. Proto se často používaí tzv. hybridní algoritmy, kdy e neprve použit GA a optimální řešení e pak prohledáváno lokálně gradientní metodou. 1.4.2 Souvislost GA a GA lze s úspěchem použít i pro optimalizaci neuronových sítí. ečastěi se GA uplatňuí v procesu organizační a adaptační dynamiky, kdy GA optimalizuí topologii, respektive váhy neuronové sítě. GA mohou být ve fázi organizační dynamiky používány při nalezení optimálního počtu neuronů, eich parametrů, uspořádání do vrstev a spoů. Obvykle algoritmy vycházeí buď z minimální struktury sítě a postupně přidávaí další neurony, nebo e postup opačný a počáteční komplexní síť e postupně při zachování výkonnostních parametrů zednodušována. Realizace GA e ve fázi organizační dynamiky s ohledem na nutnost prověření velkého množství komplexních edinců výpočetně velmi náročná a vyžadue nemalé systémové prostředky. Každý edinec e zde představován komplexní topologickou strukturou a i eho samotné prověření a ohodnocení fitness není triviální. Ve fázi adaptační dynamiky e topologie sítě neměnná, GA hledá optimální nastavení hodnot vah ednotlivých neuronů. Váhy mohou být reprezentovány ako reálné hodnoty, ale obvykle sou kódovány ako binární, což vede na ednodušší realizaci GA. evýhodou e, že sme schopni při dané délce řetězce popisuícího edince zachytit pouze omezený počet hodnot vah, což nemusí být dostatečné. Prodlužováním řetězce lze eich hodnoty zpřesňovat, nicméně eich prodlužování významně zpomalí GA. GA e možné použít i současně ak ve fázi adaptační, tak organizační dynamiky. Přínosněší se eví použití GA i přes eich náročnost ve fázi dynamiky organizační, protože GA sou schopny nalézt při zachování výkonnostních parametrů síť s co možná neednodušší a neoptimálněší strukturou. Pro adaptaci vah sítě máme mimo GA k dispozici například gradientní backpropagation algoritmus, který e mnohem méně výpočetně náročný a přes nebezpečí uváznutí v lokálních minimech přináší většinou uspokoivé výsledky. 1.5 Seznam použité literatury [1] Šíma, J., eruda, R.: Teoretické otázky neuronových sítí, MATFYZPRESS, 1996, ISB 80-85863- 18-9. [2] Volná, E.: euronové sítě 2. Skripta Ostravská universita v Ostravě, Ostrava, 2008.
[3] V. Kvasnička, L. Beňušková, J. Pospíchal, I. Farkaš, P. Tiňo, and A. Kráľ. Úvod do teórie neurónových sietí, IRIS, Bratislava, 1997, ISB 80-88778-30-1. [4] PAVLOVIČ, Jan. Multikriteriální hybridní evoluční algoritmy pro výběr a optimalizaci dekontaminačních technologií, 2008. Rigorózní práce, Masarykova univerzita, http://is.muni.cz/th/4035/fi_r/.