PARALELNÍ GENETICKÉ ALGORITMY

Rozměr: px
Začít zobrazení ze stránky:

Download "PARALELNÍ GENETICKÉ ALGORITMY"

Transkript

1 PARALELNÍ GENETICKÉ ALGORITMY PETR POŠÍK DIPLOMOVÁ PRÁCE České vysoké učení technické Praha, 2001

2 Abstrakt Genetické algoritmy (GA) se osvědčily při řešení různých optimalizačních problémů v mnoha oblastech lidské činnosti. Dnes se často používají paralelní modely a paralelní implementace genetických algoritmů, protože při správném nastavení úspěšně redukují dobu potřebnou k nalezení řešení přijatelné kvality. Přestože jsou GA operačně jednoduché, analýza jejich činnosti je naopak značně složitá. Bohužel ještě nerozumíme dobře tomu, jaký efekt má různé nastavení parametrů paralelních GA (PGA) na kvalitu a efektivitu prohledávání stavového prostoru. Díky tomu neumíme navrhnout paralelní GA s takovými parametry, který by dosahoval řešení požadované kvality v co možná nejkratším čase. Cílem této diplomové práce je rozšířit naši znalost vlivu nastavení PGA na jejich činnost se zvláštním zaměřením na parametry migrace. Výzkumy se soustřeďují na vícekmenový model PGA (multi-deme PGA), protože je v praxi nejvíce používaný. Je zde prezentován nový operátor migrace, který by měl být lépe přizpůsoben pro použití v rozsáhlých sítích (např. na Internetu). Účinnost PGA využívajících tento nový operátor je otestována na známých referenčních úlohách a porovnána s účinností jiných migračních operátorů, případně i s jednoduchým GA. ii

3 Abstract Genetic algorithms (GAs) have proved their efficiency in solving various optimisation problems in many domains of human activities. Nowadays, parallel models and parallel implementations of GAs (PGAs) are often used, because, if properly set, they succeed in reduction of time needed to find desirable solution. Despite of their operational simplicity, their analysis is very difficult. Unfortunately, we still do not exactly understand all the effects of various PGA parameter settings to the quality and efficiency of searching the state space. That s the reason we are not able to design PGA with such parameters that would guarantee finding the desired solution in the shortest time possible. The goal of this thesis is to extend our knowledge of influence of the PGA settings to their evolution with special emphasis on parameters of migration. The research considers multi-deme model of PGA because at present it is most frequently used model. In this paper, new migration operator is presented. This operator should be more suitable for use in wide-area networks (e.g. on Internet). Efficiency of PGA using this new operator is verified on known reference problems and compared to efficiency of conventionally used migration operator and with simple GA respectively. iii

4 Obsah 1 Úvod Struktura textu Jednoduché genetické algoritmy Vlastnosti GA Účelová funkce (Objective function) Princip činnosti GA Inicializace Selekce Rekombinace Křížení Mutace Parametry GA Velikost populace Elitismus Velikost překrytí Nahrazovací strategie Druhy GA Práce s omezeními Pokutové funkce Dekodéry a opravné algoritmy Problémově závislá reprezentace Stavební bloky, schéma-teorém Shrnutí 13 3 Paralelní genetické algoritmy Paralelní model vs. paralelní implementace Možnosti paralelizace Paralelizace globálního modelu Vícekmenové PGA (Multi-deme PGA) Hybridní (hierarchické) PGA Problém nadměrného urychlení Shrnutí 17 4 Migrační strategie Migrační kritérium Synchronní migrace Asynchronní migrace Míra konvergence Komunikační topologie Statické topologie Dynamické topologie Stupeň propojení DOC Migrační koeficient Způsob přenosu migrantů Migrace jedinců Migrace schémat...25 iv

5 4.4.3 Úprava ohodnocení migrujících jedinců Cíl experimentů Experimenty Testovací úlohy Reálné funkce dvou proměnných Klamné funkce Problém obchodního cestujícího (TSP) Volba nastavení parametrů PGA Volba velikosti populace Volba ostatních parametrů Migrace synchronní vs. asynchronní, hromadná vs. individuální Statická vs. dynamická topologie Migrace jedinců vs. migrace schémat Migrace bez úpravy ohodnocení vs. migrace s úpravou ohodnocení Volba nové migrační strategie Experimenty s referenčními funkcemi Experimenty s funkcí 10xF Experimenty s funkcí 10xF Experimenty s funkcí 10xF Experimenty s funkcí 50xDF Experimenty s funkcí 50xPDF Experimenty s funkcí TSP Experimenty s funkcí TSP Diskuse výsledků experimentů Závěr Přílohy Příloha A: Popis prostředí pro experimenty Příloha B: Zdrojový kód nadstavby knihovny GAlib pro PGA. v

6 1 Úvod Umělá inteligence je vědní disciplína zabývající se všemi postupy a algoritmy, které vedou k napodobení projevů inteligentního chování člověka [Mařík1993]. Její součástí je tedy i řešení úloh, které jsou ve valné většině NP-obtížné či dokonce NP-úplné (obtížně řešitelné nebo neřešitelné v polynomiálním čase). Proces řešení takových úloh se dá často transformovat na prohledávání stavového prostoru, který představuje množinu všech potenciálních řešení dané úlohy a bývá často příliš velký. Úkolem umělé inteligence je hledání a zdokonalování takových metod prohledávání stavového prostoru, které by zaručily nalezení optimálního či alespoň suboptimálního řešení v přijatelném čase. Pro jednodušší úlohy se používají deterministické metody. Význačným představitelem této skupiny metod jsou metody gradientní, jejichž výhodou je, že vždy naleznou takové řešení, které je na jistém okolí nejlepší (naleznou extrém účelové funkce). Není ale zaručeno, že toto řešení je nejlepší v celém stavovém prostoru (hlavně u složitějších, multimodálních účelových funkcí). Nalezené řešení bývá často pouze suboptimálním řešením daného problému a gradientní algoritmus není schopen bez změny počátečních podmínek sám od sebe najít řešení jiné lepší ve smyslu účelové funkce. Z toho důvodu bylo nutno vyvinout metody, ve kterých se jistým způsobem uplatňuje náhoda metody, které nevynechávají žádnou oblast stavového prostoru a které jsou samy od sebe schopné vymanit se ze spárů suboptimálního řešení. Genetické algoritmy (GA) patří mezi právě takové metody. Řadí se sice mezi stochastické metody prohledávání stavového prostoru, ale využívají také vlastností deterministických metod. Z obou skupin se snaží převzít ty nejlepší vlastnosti od stochastických metod stejnoměrné prohledání všech oblastí stavového prostoru ( exploration ) a od deterministických metod zase zaměření úsilí prohledávání do slibných oblastí ( exploitation ). Mezi těmito dvěma zřejmě protichůdnými požadavky pak GA ustavují kompromis pomocí svých parametrů. Jsou schopny nám poskytnout relativně kvalitní řešení v přijatelně krátkém čase (vzhledem k obtížnosti problému). Proto si plně zasluhují pozornost, která jim je v současnosti věnována po celém světě, i úsilí vědců porozumět jejich zákonitostem a jevům, které se v nich projevují. 1

7 Ve snaze po urychlení GA vznikly paralelní implementace genetických algoritmů. Některé z nich využívají takový model, v němž je populace rozdělena do několika subpopulací, mezi nimiž v určitých intervalech migrují jedinci. Migrace je zvláštní typ operátoru, jehož chování je v některých aspektech nečekané a není ještě zcela uspokojivě vysvětleno ([Cantú-Paz1999b]). Cílem této práce je rozšířit poznatky v oblasti paralelních modelů GA, zvláště pak osvětlit vliv různých parametrů migrační strategie na kvalitu řešení nalezeného pomocí PGA. S využitím těchto poznatků byl navržen nový operátor migrace, pomocí něhož PGA dosahuje výsledků srovnatelných nebo lepších, než dosahuje s využitím dosud používaných migračních operátorů. Nová migrační strategie je ale lépe přizpůsobena pro práci v dynamickém prostředí a pro vývoj subpopulací na geograficky značně vzdálených počítačích (např. v síti Internet). 1.1 Struktura textu Tato diplomová práce je organizována následovně: kapitola 2 shrnuje poznatky o vlastnostech jednoduchých GA (SGA) nutné pro pochopení jejich činnosti; kapitola 3 obsahuje popis možností paralelizace GA, popis jednotlivých modelů paralelních GA a jejich srovnání; v kapitole 4 jsou identifikovány a popsány rysy migračních operátorů a navrženy nové vlastnosti migrační strategie, jejichž účinnost je ověřena experimentálně v kapitole 5. Kapitola 6 shrnuje dosažené výsledky a obsahuje doporučení oblastí pro další studium. 2

8 2 Jednoduché genetické algoritmy Genetické algoritmy se inspirovaly v přírodě a přírodních vědách. Snaží se napodobit evoluci takovým způsobem, jakým probíhá v přírodě. Jako teoretický podklad užívají Mendelovu teorii genetiky a Darwinovu teorii přirozeného výběru. Teorie přirozeného výběru hlásá, zjednodušeně řečeno, přežití silnějšího, tzn., že rychlejší, silnější a inteligentnější jedinci mají větší šanci na přežití v dynamickém a neustále se měnícím prostředí, než jedinci pomalejší, slabší a hloupější. Tito horší jedinci ve svém prostředí přežívají spíše díky tomu, že mají štěstí, než díky svým vlastnostem. Proto se reprodukce (vytváření další generace) zúčastňují také, avšak v menší míře, než jedinci lepší. G. Mendel zase objevil mechanismus přenosu charakterových vlastností z rodiče na potomka. Později se ukázalo, že za jednotlivé vlastnosti jsou zodpovědné geny, které jsou uspořádány lineárně v chromozomech. V oblasti GA se proto také používají výrazové prostředky převzaté z těchto biologických disciplín. Mluvíme o jedincích (nebo o genotypech, chromozomech, strukturách či řetězcích) v populaci. (Pro potřeby GA se většinou dělá určité zjednodušení: každý biologický jedinec má obyčejně více druhů chromozomů zde se předpokládají jedinci s jediným chromozomem, proto je možné oba pojmy sjednotit. Existují ale také implementace GA s diploidními jedinci s jedinci se dvěma chromozomy.) Chromozomy jsou dále tvořeny lineárně uspořádanými 1 geny (jinak také rysy, vlastnostmi či dekodéry). Stav genu reprezentujícího určitou vlastnost (např. barvu vlasů) může nabývat několika hodnot, kterým se říká alely. Každý chromozom reprezentuje jedno potenciální řešení problému. Význam a výklad formátu chromozomů jeho fenotyp je plně v rukou uživatele. Proces evoluce populace jedinců pak odpovídá prohledávání stavového prostoru. 1 Poznamenejme, že GA spadají do širší třídy metod - tzv. evolučních algoritmů (EA). Rozdíl se týká hlavně použitých datových struktur, jimiž už nemusí být lineární binární řetězce. Jedinci mohou být představováni libovolnou datovou strukturou např. maticí, stromem apod. Je třeba k nim ale také doplnit vhodné operátory mutace a křížení viz. dále. 3

9 2.1 Vlastnosti GA GA jsou metody pro prohledávání stavového prostoru aplikovatelné na širokou škálu typů úloh (nejsou závislé na typu řešeného problému) [Michalewicz1995]. Nastavením jejich parametrů lze upravit rovnováhu mezi zaměřením na slibné oblasti a prohledáním co největší části stavového prostoru. Obou těchto vlastností GA používají ke svému prospěchu. Mnoho výzkumníků i praktiků z velice rozmanitých oborů lidské činnosti si oblíbilo GA. Jejich popularita pramení hlavně z následujících vlastností [Michalewicz1995]: GA jsou robustní v tom smyslu, že jsou aplikovatelné na velice rozmanité úlohy, přičemž je na nich potřeba provést pouze minimální úpravy GA umí pracovat se všemi druhy stavových prostorů, včetně nehladkých, multimodálních a nespojitých GA umí hledat řešení z hlediska více kritérií a není přitom nutné explicitně definovat společnou účelovou funkci GA umí nalézt větší počet různých řešení blízkých optimálnímu GA se dají použít pro dynamické optimalizace Jak již bylo řečeno, GA patří do třídy stochastických algoritmů a přesto se velice liší od náhodných prohledávacích metod. Kombinují totiž elementy řízeného i stochastického prohledávání. Další důležitou vlastností GA je to, že pracují s celou populací potenciálních řešení ostatní metody pracují vždy pouze s jedním bodem stavového prostoru, s jediným řešením. Tato populace podstupuje simulovanou evoluci: v každé generaci se lepší jedinci množí, zatímco horší odumírají. Rozlišení mezi horší a lepší provádí již výše zmíněná účelová (ohodnocovací) funkce, která zastupuje v GA roli životního prostředí jedinců. Hodnota účelové funkce pro daný chromozom pak vyjadřuje míru přizpůsobenosti jedince danému prostředí. K řešení určitého problému pomocí GA (nebo pomocí jakéhokoli jiného EA) je třeba splnit následující požadavky [Michalewicz1995]: 1) najít vhodnou reprezentaci potenciálních řešení problému (vhodně zvolit formát chromozomu) 2) najít způsob, jak vytvořit počáteční populaci chromozomů tak, aby představovaly přípustná řešení 3) sestavit účelovou funkci, díky níž budeme schopni rozhodnout, který jedinec je lepší a který horší 4) zvolit nebo vytvořit vhodné genetické operátory, které ovlivňují tvorbu nových potomků 5) vhodně nastavit různé parametry používané v GA (velikost populace, pravděpodobnosti uplatnění genetických operátorů, apod.) V současnosti stále nejsou vyvinuty exaktní a přesné metody pro řešení výše uvedených 5 bodů, protože jsou značně závislé na konkrétním problému. Nastavení GA je proto velice ovlivněno zkušenostmi a odhadem uživatele, takže správná volba parametrů GA se stále ještě považuje spíše za umění [Michalewicz1995]. 4

10 2.2 Účelová funkce (Objective function) Účelová (ohodnocovací) funkce je vlastně jediný element GA, který je zcela a beze zbytku v moci uživatele. Měla by jí být věnována maximální pozornost je to totiž právě ona, která má největší vliv na celý proces evoluce, protože její extrém hledáme. Pomocí ní se určuje kvalita jedince (schopnost přežití v okolním prostředí) ať už přímo, nebo nepřímo přes škálovací funkci. Pro hodnotu, kterou chromozomu účelová (a případně ještě škálovací) funkce přiřadí, se v anglické literatuře vžil název fitness value. Protože neexistuje český ekvivalent tohoto anglického výrazu, budu v této práci dále používat pro hodnoty účelové funkce výraz fitness. 2.3 Princip činnosti GA Populace genetického algoritmu je tvořena jedinci umělými chromozomy představujícími zakódovaná řešení problému, který si přejeme vyřešit. Každý jedinec je ohodnocen. Toto ohodnocení udává, jak dobré řešení problému jedinec představuje. Nejlepší řešení jsou vybírána a rekombinována s ostatními. Během simulované evoluce pak dobré vlastnosti jedinců přežívají a navzájem se mísí, čímž vytvářejí nové a možná kvalitnější jedince. Přirozený výběr zároveň eliminuje v populaci špatné vlastnosti. Běh všech jednoduchých GA se řídí podle následujícího předpisu (P(k) označuje populaci jedinců obhospodařovaných GA v k-té generaci): k = 0 Inicializace P(k) Ohodnocení P(k) Opakuj k = k+1 Selekce P(k) z jedinců v P(k-1) Rekombinace P(k) Ohodnocení P(k) Dokud není splněna terminální podmínka Věnujme se jednotlivým krokům podrobněji Inicializace Každý GA potřebuje znát způsob, jakým může na počátku běhu inicializovat populaci, tzn. jak může vygenerovat první sadu jedinců, od nichž se bude celý vývoj odvozovat. Často se používá náhodná inicializace, která však není vhodná např. při práci s omezeními, kdy není třeba populaci naplnit jen nějakými libovolnými jedinci, ale je vhodné vytvořit ji z jedinců přípustných. V určitých případech je proto nutné vytvořit vlastní způsob inicializace populace pro konkrétní řešený problém. Počáteční populace totiž musí obsahovat dostatek informací, ze kterých by GA mohl vyvinout kvalitní řešení, takže by měla rovnoměrně pokrývat celý stavový prostor. 5

11 2.3.2 Selekce Jak už název napovídá, operátor selekce v GA představuje ekvivalent Darwinova přirozeného výběru. Modeluje princip přežití silnějších jedinců. Vybírá z populace lepší jedince, kteří se pak účastní rekombinace (tvorby nové populace viz. dále). Nejedná se ale o jednoduché vybrání N nejlepších jedinců z populace pokud má selekce napodobovat skutečné biologické procesy, pak musí zaručit to, že se rekombinace může zúčastnit i nejhorší z jedinců v populaci. Toho se většinou dociluje pravděpodobnostními mechanismy výběru jedinců ke každému chromozomu je na základě jeho fitness jistým způsobem přiřazena pravděpodobnost jeho přežití. Způsob výpočtu pravděpodobnosti přežití jedince je závislý na použité selekční metodě. Několik z nich je popsáno v následujících odstavcích. Výčet si neklade žádné nároky na úplnost, uvádím jen nejznámější a nejpoužívanější selekční schémata [Goldberg1989]. Ruletová selekce (Roulette-wheel selection) Pravděpodobnost přežití jedince je přímo úměrná jeho fitness. Rozhodnutí, zda jedinec přežije a objeví se i v další generaci, se dá představit jako náhodný pokus, ve kterém točíme ruletovým kolem (odtud i název metody) a vybíráme vždy toho jedince, na něhož padne kulička. Přitom platí, že čím má jedinec vyšší fitness, tím více ruletových políček zabírá. Toto selekční schéma s sebou ale nese i řadu problémů: má potíže se škálováním, zvládá pouze maximalizační problémy, způsobuje velké vzorkovací chyby a pro správnou funkci vyžaduje relativně velké populace. Pro nápravu těchto vlastností byla vyvinuta další selekční schémata. Pořadová selekce (Rank selection) Pravděpodobnost přežití jedince nesouvisí přímo s jeho kvalitou, ale s jeho umístěním v posloupnosti, kde jsou chromozomy seřazeny podle fitness. Předpokládejme například, že máme populaci o dvou chromozomech A a B, které mají fitness f ( A) = 1 a f ( B) = 99. Ruletová selekce jim přiřadí pravděpodobnosti přežití p ( A) = a p ( B) = Pořadová selekce je nejprve uspořádá podle velikosti poř ( A) = 1, poř ( B) = 2 a nad tímto pořadím proběhne ruletová selekce. Výsledkem je tedy p ( A) = a p ( B) = Takovýto postup odstraňuje problémy se škálováním (omezuje předčasnou konvergenci přílišné omezení různorodosti populace), odstraňuje problémy se vzorkováním u malých populací a zvládá maximalizační i minimalizační problémy. Deterministický výběr (Deterministic sampling) Jde opět o modifikaci ruletové selekce. Výběr probíhá ve dvou fázích. V první fázi se pro všechny jedince v populaci vypočítá pravděpodobnost jejich přežití. Na základě této pravděpodobnosti se určí počet kopií každého jedince v nové populaci: n() i = p() i PopSize (počet kopií i-tého jedince je pravděpodobnost jeho přežití násobená velikostí populace). Tento počet je ale obecně reálné číslo každý jedinec se do nově vytvářené populace zkopíruje pouze tolikrát, kolik udává celá část n(i). 6

12 Ve druhé fázi se zbývající volná místa v populaci, jejichž počet se rovná součtu desetinných částí všech n(i), obsadí tak, že se vybere potřebný počet jedinců z populace seřazené podle velikosti desetinných částí n(i). Zbytkový stochastický výběr (Reminder stochastic sampling) Tato metoda je obměnou deterministického výběru. První fáze probíhá naprosto stejně. Ve druhé fázi se pro rozdělení neobsazených míst v nové generaci aplikuje klasická ruletová selekce. I tato metoda napravuje vliv malé populace. Turnajová selekce (Tournament selection) Tato metoda využívá jiného principu výběru než metody předchozí. Pro obsazení každého jedince v nové generaci se PopSize-krát uspořádá turnaj. Ze staré generace se náhodně vybírají n-tice chromozomů (v nichž se chromozomy buď mohou, nebo nesmí opakovat) a do nové generace se vkládají vždy nejlepší jedinci z těchto n-tic. Volbou n se dá také ovlivňovat selekční tlak (čím větší n, tím větší selekční tlak). V krajním případě, kdy n = PopSize a chromozomy se v n-tici nemohou opakovat, by byla nová populace tvořena ze samých nejlepších jedinců populace stávající (předčasná konvergence) Rekombinace Za krokem Rekombinace se skrývá uplatnění dvou genetických operátorů křížení a mutace. Oběma dohromady se říká rekombinační operátory, protože vytvářejí z rodičů potomky Křížení Křížení je reprodukční operátor, který simuluje náhodnou výměnu informací obsažených v rodičích při vytváření nového potomka. Jeho působením by se měly vytvářet lepší chromozomy. V evolučních algoritmech (EA) obecně mohou být jedinci reprezentováni libovolnou datovou strukturou, k níž je samozřejmě třeba vytvořit vlastní operátor křížení. Mluvíme-li ale o GA, které využívají lineární binární chromozomy, můžeme použít křížení jednobodové, dvoubodové nebo vícebodové. Body, ve kterých dochází ke křížení, se volí náhodně. Volbou n bodů křížení se oba rodiče rozdělí na n+1 částí. Vlastní křížení probíhá tak, že do prvního potomka se zkopírují např. liché části z prvního rodiče a sudé z druhého. U druhého potomka je tomu opačně. Četnost křížení se volí nastavením pravděpodobnosti křížení, což je jeden ze základních parametrů GA (typicky se volí přibližně 0.75). Optimální hodnota závisí na konkrétním řešeném problému a stanovuje se empiricky. Přihlíží se také k obecně přijímanému empirickému pravidlu, že pro malé populace se nastavuje velká pravděpodobnost křížení a naopak. Mezi další varianty křížení patří rovnoměrné křížení. Rovnoměrné křížení je n-bodové křížení, u něhož se nevolí n konkrétních bodů, ale u každého bitu se náhodně rozhoduje s pravděpodobností 0.5, do kterého z potomků bude patřit. Bylo pozorováno, že pomocí křížení se dosahuje rychlejšího prohledávání stavového prostoru, než pomocí mutace, při 7

13 použití účelových funkcí, které obsahují nelineární vztahy mezi jednotlivými bity řetězců [FlexGA1998]. Pokud je pravděpodobnost, že ke křížení dojde za určitým bitem, závislá na pozici v řetězci, říkáme, že operátor křížení má polohové zaměření. Pokud rozdělení počtu bitů prohozených operátorem křížení není rovnoměrné, říkáme, že křížení má distribuční zaměření. Jednobodové křížení má maximální polohové a minimální distribuční zaměření, zatímco u rovnoměrného křížení je to naopak. Jedno a dvoubodové křížení v homogenní populaci generují málo odlišné jednotlivce. Rovnoměrné křížení naproti tomu prohazuje bity nezávisle na jejich pozici. Proto se doporučuje používat u menších populací, kde zaručuje prohledání větší oblasti stavového prostoru. Ve velkých populacích, kde se rozmanitost chromozomů zajišťuje spíše jejich počtem, je vhodnější dvoubodové křížení Mutace Na mutaci se obvykle pohlíží jako na méně důležitý, druhořadý reprodukční operátor, který dokáže vrátit nazpět neuváženě ztracené hodnoty genů (alely), zabraňuje předčasné konvergenci a poskytuje možnosti náhodného prohledávání v blízkém okolí zkonvergované populace (blízké okolí je třeba chápat jako množinu chromozomů, kteří se liší od jedinců v populaci změnou v minimálním počtu bitů). Mutace tedy umožňuje GA dostat se z lokálního extrému účelové funkce. Jak často dojde k uplatnění tohoto operátoru určuje pravděpodobnost mutace, která je dalším ze základních parametrů GA. Typicky se nastavuje na hodnotu velice malou (1% i méně) a v některých implementacích se dokonce dynamicky mění podle míry konvergence populace. Vlastní mutace probíhá ve své základní podobě tak, že se procházejí všechny bity v populaci a s pravděpodobností P mut je jejich hodnota změněna na opačnou. Průměrně je tedy změněna hodnota nmut = Pmut L PopSize bitů, přičemž všechny mutace se mohou vyskytnout v 1 až n mut chromozomech. Pokud se pravděpodobnost mutace nastaví velká, ztrácí se výhody GA a prohledávání stavového prostoru přechází v prohledávání náhodné. Výzkumy ukazují [FlexGA1998], že u malých populací by měla být nastavená velká pravděpodobnost mutace a opačně. Dá se to vysvětlit tím, že u malých populací mutace napomáhá k prohledání větší části stavového prostoru, zatímco u velkých populací je velikost prohledaného stavového prostoru zaručena velikostí populace. 2.4 Parametry GA Jednoduchý předpis GA uvedený v odstavci 2.3 je nejrůznějšími způsoby ovlivňován mnoha parametry. Podívejme se teď na ně podrobněji a jednotlivě Velikost populace Počet jedinců v populaci je jedním z nejdůležitějších atributů, který musíme nastavit, pokud chceme GA použít. Otázka volby adekvátní velikosti populace je velice obtížná, protože silně závisí na obtížnosti problému. Pokud bude populace příliš malá, GA nemusí 8

14 mít dostatek informací, aby identifikoval dobré rysy řešení [Harik1996]. Velká populace naopak může znamenat plýtvání časem při zpracovávání nepotřebných jedinců, což může vést ke značnému snížení efektivity. V literatuře [Harik1996, Cantú-Paz1999c] jsou uvedeny vztahy, pomocí nichž lze pro známé účelové funkce a za určitých zjednodušujících podmínek vypočítat takovou velikost populace, která pro daný problém minimalizuje výpočetní čas. Tyto vztahy však nejsou natolik triviální, jak by si většina uživatelů GA přála, a vyskytují se v nich členy, jejichž význam není na první pohled zřejmý a jejichž hodnota se nesnadno určuje. Příklad použití těchto vztahů najdete v kapitole Elitismus V průběhu vývoje GA je možné, že nejlepší jedinec v populaci vlivem náhodných procesů odumře a v nově vytvořené populaci se již neobjeví. GA tak může zapomenout kvalitní nalezené řešení, pokud si ho nezapamatuje někde mimo populaci. Elitismus představuje způsob, jakým se dá tomuto nežádoucímu jevu předejít. Při jeho použití je několik (typicky 1 či 2) nejlepších jedinců přímo přeneseno do nově vytvářené populace. Kvalita nejlepšího řešení nalezeného genetickým algoritmem se pak v průběhu vývoje může pouze zvyšovat Velikost překrytí Tento parametr se uplatňuje při tvorbě nové generace jedinců. Existují implementace GA s nulovým překrytím [Goldberg1989], tzn. že využívají nepřekrývající se populace. Všichni jedinci z nově vytvořené populace prošli evolučním cyklem, a pokud jsou některé z nich shodné s nějakým jedincem z předchozí generace, pak je to pouze vlivem náhody. Jiné implementace GA [DeJong1975] zase naopak zcela záměrně podrobují evoluci pouze část populace, tzn. že každou generaci se vytvoří např. pouze 60% nových jedinců, zatímco zbylých 40% jedinců zůstává v populaci z předchozí generace Nahrazovací strategie Často opomíjeným parametrem GA jsou také nahrazovací strategie. Po selekci se z rodičů pomocí reprodukčních operátorů vytvoří sada potomků, které by měly být součástí nově vytvářené generace. Které jedince v populaci ale nahradit nově vytvořenými? Existuje mnoho přístupů. Je zřejmé, že nahrazovací strategie se neuplatní u GA, který využívá nepřekrývající se populace. Tam je vytvořena populace zcela nová, která prostě nahradí starou. Pokud se ale použije překrývajících se populací, je třeba rozhodnout, které jedince nahradit nově vzniklými. Potomci mohou např. nahradit své vlastní rodiče, nejhorší nebo náhodně vybrané jedince z populace nebo třeba jedince, kterým jsou nejvíce podobné to často závisí na konkrétní implementaci. Někdy se také nově vygenerovaní jednotlivci prostě připojí k populaci, z níž jsou potom odebráni nejhorší jedinci, čímž populace opět získá svou původní velikost. Nové chromozomy se tedy do nové generace mohou nebo nemusí dostat to záleží na jejich kvalitě. Nejčastěji používaným přístupem je náhrada nejhorších jedinců. 9

15 2.5 Druhy GA V průběhu doby, kdy se GA používají, mnoho experimentátorů vyvinulo vlastní druhy GA a dali jim různé názvy, čímž vytvořili podle mého názoru mylný dojem, že mezi různými druhy GA jsou značné rozdíly. Všechny GA podle mne pracují ve své podstatě podle stejného předpisu a vývoj populace je řízen pomocí sady parametrů popsaných výše. Na druhy GA tak můžeme nahlížet jen jako na sady typických hodnot parametrů, a pokud řekneme, že určitý GA je takového a takového druhu, znamená to pouze to, že přibližně víme, jaké hodnoty parametrů tento GA používá. Následuje stručný popis několika druhů GA a jejich modifikací. Jednoduchý GA (Simple GA). Tento algoritmus popsal Goldberg ve své knize [Goldberg1989]. Používá nepřekrývající se populace a volitelně i elitismus. GA se stálým stavem (Steady-State GA) Tento algoritmus je podobný algoritmu popsanému DeJongem [DeJong1975]. Používá překrývající se populace a je tedy třeba vybrat nahrazovací strategii. Inkrementální GA (Incremental GA) Jedná se o variantu předchozího typu GA. Také používá překrývající se populace, ale s velkým překrytím. Typicky se v každé generaci vytvoří pouze jeden nebo dva potomci. I zde je třeba určit nahrazovací strategii. Nejčastěji se nahrazují nejhorší jedinci v populaci. Mikro GA (µga) Jedná se o variantu GA s velice malou populací. Ukazuje se, že µga se dostává do oblasti blízké optimu rychleji než SGA [FlexGA1998]. Oproti SGA používá µga mnohem menší populace typicky o 5 jedincích. Obyčejné GA s malými populacemi nevykazují dostatečně dobré chování díky nedostatku informací ke zpracování a předčasné konvergenci, proto se u µga pravidelně zavádějí do populace noví jedinci. Téměř vždy se volí elitistická selekce. Jako míru kvality tohoto typu GA je třeba brát nejlepší dosud nalezené řešení a žádné jiné statistické průměrovací míry. GA se stochastickým kódováním (Stochastic GA) Tento algoritmus využívá dynamické kódování řetězců. Ty pak nepředstavují konkrétní řešení problému, ale celé prohledávané regiony stavového prostoru charakterizované normálním rozdělením s vektorem středních hodnot a s variační maticí. V průběhu evoluce se pak mění právě popis rozdělení, tj. střední hodnoty a variační matice, čímž se prohledávané regiony posouvají do slibnějších oblastí stavového prostoru. Nalezení většího počtu extrémů Niching Technika zvaná niching (od niche nika, výklenek) se používá, pokud chceme zjistit větší počet řešení. GA musí obhospodařovat stabilní populace na okolí několika extrémů. Fitness jedinců na různě dobrých extrémech je uměle normalizována, čímž vytvořené skupiny jedinců získají stabilitu. Počet jedinců v té které části populace je vlastně jinou mírou kvality extrému, který tato část populace obývá. Příslušnost jedince 10

16 k výklenku určuje buď míra s vlastnostmi vzdálenosti (časově a výpočetně náročnější) nebo značka, která je součástí chromozomu, ale neúčastní se evoluce. 2.6 Práce s omezeními Omezením není myšleno určení rozsahu každého z parametrů. Určení rozsahu parametrů vymezuje vlastně stavový prostor úlohy n-rozměrný interval (hyperkrychli), ve které GA vyhledává řešení. Problémy nastanou až tehdy, když je obor přípustných řešení podmnožinou stavového prostoru. To se může stát např. tehdy, když jsou jednotlivé parametry optimalizované pomocí GA na sobě vzájemně závislé. Co pak udělat s jedinci, kteří vzniknou působením rekombinačních operátorů, ale přitom představují nepřípustná řešení? Používají se v zásadě tři postupy, jak se s takovými omezeními vypořádat Pokutové funkce Nevyhovující řešení je ponecháno v populaci, ale záměrně se prohlásí za málo kvalitní, takže v dalším běhu GA samo odumře. Tato metoda je velice jednoduchá, ale efektivně pracuje pouze u slabých omezení, kde je poměr počtu přípustných řešení ku počtu prvků prohledávaného prostoru dostatečně velký. Pokud je totiž většina vygenerovaných řešení přípustná, pak se v každé generaci malé množství nepřípustných řešení opravdu eliminuje. Pokud by byla ale většina vygenerovaných jedinců nepřípustná, pak je velká šance, že tato nepřípustná řešení budou přežívat i do dalších generací Dekodéry a opravné algoritmy Na nelegální jedince se snažíme uplatnit speciální postupy, kterými by se chromozomy legalizovaly. Tyto postupy obyčejně vyžadují transformaci genotypu na fenotyp a bývají výpočetně velice nákladné. Existují dvě varianty těchto postupů: Oprava. Fyzické nahrazení nevyhovujícího jedince v populaci nejbližším vyhovujícím (ve smyslu určité metriky). Tato náhrada se pak účastní další evoluce místo původního jedince. Dekódování. Nepřípustný jedinec zůstane v populaci a účastní se další evoluce. Pro určení jeho kvality se ale použije ohodnocení nejbližšího přípustného řešení Problémově závislá reprezentace Ideálním řešením problému s omezeními je případ, kdy se povede najít takovou reprezentaci řešení úlohy, jejíž každá instance je řešením přípustným. Jinou možností je najít takové rekombinační operátory, které by generovaly pouze přípustná řešení. Nalezení jednoho ani druhého však není obecně jednoduchou úlohou (spíš naopak) a často se oba přístupy kombinují. Takto sestavený GA je pak ale specifický pro jeden konkrétní typ úlohy. 11

17 2.7 Stavební bloky, schéma-teorém Jak jsem již uvedl v odstavci 2.3, pokud nás zajímá, proč genetické algoritmy fungují, dostaneme většinou vágní odpověď, že v jedincích identifikují kladné rysy, které kombinují s jinými, zatímco záporné rysy během evoluce odumírají. Co ale jsou ony kladné rysy? Představa kladných vlastností se formalizuje konceptem stavebních bloků. Stavební bloky jsou schémata, která představují dobře přizpůsobené sady vlastností, jež lze najít u většiny dobrých řešení. Jinak řečeno, pro určité typy problémů lze vypozorovat, že mezi přibližně stejně dobrými jedinci v populaci existuje podobnost v tom smyslu, že tito jedinci obsahují na některých svých pozicích stejné bity. Lze tedy říct, že kvalitu jedince hodně ovlivní obsazení určitých konkrétních pozic, zatímco na obsazení ostatních pozic záleží méně. Podobnostmi mezi řetězci se zabývá hypotéza o schématech. Narozdíl od řetězců, které jsou tvořeny pouze abecedou obsahující dva prvky {0,1}, má abeceda schémat navíc ještě jeden prvek - *. Tvoří ji tedy množina {0,1,*}. Pokud se ve schématu objeví symbol *, pak schéma reprezentuje všechny řetězce, které na tomto místě obsahují jakýkoli konkrétní symbol a shodují se v ostatních pozicích se schématem. Pokud tedy schéma obsahuje n symbolů *, pak v případě binární abecedy chromozomů reprezentuje 2 n řetězců. Každému schématu H se přiřazuje jeho řád o(h), což je počet specifických pozic (nul a jedniček) ve schématu. Schéma řádu o(h) obsahuje L-o(H) symbolů *, kde L je délka schématu. Takové schéma tedy pokrývá 2 L-o(H) řetězců. Definiční délka schématu δ(h) je největší vzdálenost dvou specifických symbolů ve schématu. Schémata řádu 0 a 1 (neobsahují žádný nebo pouze jeden konkrétní symbol) mají definiční délku 0. Celkový vliv genetických operátorů na schémata vyjadřuje následující vztah: f ( H ) δ ( H ) m( H, t + 1) m( H, t) 1 PC PM o( H ) f L 1, (2.1) kde jednotlivé symboly mají následující význam: m ( H, t) počet řetězců v populaci, které pokrývá schéma H v čase t (v t-té generaci) f ( H ) fitness schématu (průměrné ohodnocení jedinců odpovídajících schématu) f P C P M střední fitness populace pravděpodobnost křížení pravděpodobnost mutace δ (H ) definiční délka schématu L délka schématu o(h) řád schématu Jednotlivé členy v závorce odpovídají postupně selekci, křížení a mutaci, které byly popsány v předcházejících odstavcích. 12

18 Rozborem vztahu (2.1) lze určit, že stavební bloky chromozomů tvoří krátká nadprůměrná schémata nízkého řádu. Krátká proto, aby s co největší pravděpodobností nebyla porušena křížením, a nízkého řádu, aby co nejpravděpodobněji přežila uplatnění mutace. Zvětšením pravděpodobnosti křížení se zvětší nejen rekombinace stavebních bloků, ale také pravděpodobnost, že budou zničeni i dobří jedinci. Jedno a dvoubodové křížení zachovávají velké množství stavebních bloků, zatímco rovnoměrné křížení prohazuje bity nezávisle na jejich pozici a velké množství stavebních bloků tak poruší. Vztah (2.1) popisující vzrůstající podíl dobrých jedinců v populaci se dá slovy zapsat jako [Michalewicz1995]: Schéma-teorém: Počet krátkých, nadprůměrných schémat nízkého řádu se s přibývajícími generacemi genetického algoritmu v populaci exponenciálně zvyšuje. Okamžitým důsledkem tohoto teorému je, že GA prozkoumávají stavový prostor prostřednictvím schémat s výše uvedenými vlastnostmi, které jsou následně použity k výměně informací během křížení [Michalewicz1995]: Hypotéza o stavebních blocích: GA vyhledává ve stavovém prostoru optimální řešení identifikací a skládáním krátkých, nadprůměrných schémat nízkého řádu, která se označují jako stavební bloky. Hypotéza o stavebních blocích je jinými slovy vyjádřené ono vágní tvrzení uvedené na začátku odstavce 2.7. Zde je vidět, že toto tvrzení není samoúčelné a že existují dobré důvody předpokládat, že hypotéza o stavebních blocích platí. 2.8 Shrnutí V této kapitole byly popsány základní vlastnosti a principy jednoduchých GA. GA se používají při řešení úloh v mnoha odvětvích, a to jak technických (počítačové vědy, strojírenství, robotika, ), tak i netechnických (obchod, plánování, rozvrhování, ) [Goldberg1994]. Mezi velké zápory, které brání masivnějšímu rozšíření SGA, patří také poměrně dlouhá doba běhu u složitých problémů. Jednou z možností, jak urychlit běh GA je paralelizace. Již z popisu uvedeného v této kapitole je zřejmé, že mnoho kroků během vývoje GA je možno úspěšně paralelizovat. O jednotlivých možnostech paralelizace pojednává následující kapitola. 13

19 3 Paralelní genetické algoritmy GA mohou pro vyřešení některých reálných problémů vyžadovat velké množství (desetitisíce či statisíce) volání účelové funkce. V závislosti na čase potřebném k ohodnocení jednoho chromozomu může běh GA trvat celé dny, měsíce nebo dokonce roky, než nalezne přijatelné řešení. Naštěstí GA pracují s populací nezávislých řešení, díky čemuž je snadné rozdělit výpočetní nároky mezi několik procesorů. Paralelní charakter GA byl rozpoznán již před mnoha lety a mnoho experimentátorů použilo paralelní GA (PGA) ke snížení doby potřebné k nalezení řešení značně složitých problémů. Ve skutečnosti by někdo mohl říct, že GA jsou paralelní již ve své podstatě a že tedy není těžké vytvořit rychlé PGA. PGA jsou ale složité nelineární algoritmy ovlivňované mnoha parametry, které určují efektivitu prohledání stavového prostoru a kvalitu nalezeného řešení. Součástí návrhu PGA je např. i rozhodnutí, zda použít jednu populaci či několik populací. V obou případech je třeba opatrně zvolit velikost populace (nebo populací). Pokud chceme navíc použít více populací, musíme určit kolik. Populace mohou zůstat oddělené nebo mezi sebou mohou komunikovat a vyměňovat si jedince. Komunikace s sebou nese další rozhodnutí ohledně komunikačních topologií, počtu vyměňovaných jedinců a četnosti komunikace. Obyčejně se tyto parametry nastavují buď podle výsledků několika provedených experimentů nebo jsou nalezeny náhodou. Problémem těchto přístupů je, že často vedou na plýtvání komunikačními zdroji nebo na neadekvátní kvalitu prohledávání stavového prostoru. Díky tomu se může stát, že experimentátorům se PGA jeví jako nepraktické nebo nevhodné k použití. V této kapitole je popsáno, co vše lze na GA paralelizovat a najdete zde rozdělení PGA podle nejčastěji používaných modelů. 14

20 3.1 Paralelní model vs. paralelní implementace Při použití termínu paralelní genetický algoritmus je třeba rozlišovat mezi případy, kdy slovo paralelní označuje paralelní model GA a kdy paralelní implementaci GA. Modely. Sekvenční model GA (přesněji nazývaný globální model) má jedinou populaci a neklade žádná omezení na to, který jedinec může rekombinovat s jiným. Globální model GA se tradičně slučuje s jednoduchým GA, který bývá popisován v literatuře. V paralelním modelu GA je buď více populací (ostrovní model) nebo jedna populace rozdělená do mnoha subpopulací. Mluvíme-li ovšem o modelu, neklademe žádná omezení na skutečnou implementaci. Implementace. Sekvenční i paralelní modely GA mohou být implementovány paralelně i sekvenčně. Sekvenční implementace globálního modelu je tradiční přístup popisovaný ve většině literatury o GA. Jeden proces běžící na jednom uniprocesoru provádí všechny výpočty. V paralelní implementaci globálního modelu mohou být některé nebo všechny kroky GA (selekce, křížení, mutace, ohodnocování) prováděny současně v několika procesech běžících na paralelním počítači nebo na síti spolupracujících počítačů. V sekvenční implementaci paralelního modelu GA běží několik procesů (každý se stará o svou subpopulaci) a sdílejí strojový čas jednoho procesoru. V paralelní implementaci paralelního modelu běží každý z procesů na svém procesoru paralelního počítače nebo sítě pracovních stanic. Je zřejmé, že sekvenční implementace paralelních modelů nepřináší proti sekvenční implementaci globálního modelu žádné úspory času, spíše by tomu mělo být naopak. Umožňuje nám ale studovat jevy, které se u PGA projevují. Samozřejmě, že pro praktické využití paralelních modelů GA je přirozenější a efektivnější navržený paralelní model také paralelně implementovat. Pokud se v dalším textu objeví výraz paralelní GA (PGA), mám tím na mysli paralelní model GA. Pokud by se mělo jednat o paralelní implementaci některého z modelů, pak to bude výslovně uvedeno. 3.2 Možnosti paralelizace Jak již bylo řečeno, GA jsou díky své struktuře velice vhodné pro paralelní implementace, protože v nich spousta činností probíhá nezávisle (nebo je lze přizpůsobit tak, aby nezávisle probíhaly). První pokusy o paralelní implementace využívaly globální model GA. Následující rozdělení modelů PGA je převzato z [Cantú-Paz1999c]: Paralelizace globálního modelu Algoritmus obhospodařuje jednu populaci stejně jako u obyčejného sekvenčního GA. Máme-li ovšem k dispozici více procesorů, není důvod, proč populaci nerozdělit na několik částí, jejichž ohodnocení bychom svěřili jednotlivým procesorům [Bethke1976, Grefenstette1981]. Ohodnocování jednotlivých chromozomů zřejmě není závislé na ničem 15

21 jiném, takže se dá velice snadno paralelizovat. Tento přístup, nazývaný master-slave, využívá výpočetní možnosti procesorů slave jen z části. Uplatnění všech genetických operátorů je prováděno na procesoru master. Komunikace mezi procesorem master a procesory slave probíhá tehdy, když master odesílá skupiny jedinců jednotlivým slaveům k ohodnocení a když procesory slave vrací vypočtené hodnoty účelové funkce procesoru master. S jistou dávkou opatrnosti se však dá rozdělit mezi jednotlivé procesory slave i uplatňování genetických operátorů. Protože je v modelu jedna populace, selekce bere v úvahu všechny jedince a každý chromozom má šanci reprodukovat se se všemi ostatními. Pokud je algoritmus synchronní (v každé generaci se čeká na dokončení ohodnocování celé populace), algoritmus se chová stejně jako sekvenční GA. Asynchronní implementace (procesory nečekají na dokončení ohodnocení celé populace) se svou činností liší od obyčejného GA a používají se jen zřídka. Pokud se v dalším textu objeví zmínka o globálním modelu, myslí se tím synchronní implementace paralelizace globálního modelu Vícekmenové PGA (Multi-deme PGA) V tomto modelu je využito již o něco složitější myšlenky. Populace je rozdělena do několika subpopulací, neboli kmenů, které se vyvíjejí izolovaně od ostatních a příležitostně si mezi sebou vymění některé ze svých chromozomů [Grefenstette1981]. Této výměně jedinců se říká migrace a je ovlivňována několika parametry (viz. kapitola 4). Rozdělení na kmeny lze považovat za tak úplné, že na každý kmen lze pohlížet jako na zcela samostatný GA (se vším, co k tomu náleží: je možno použít odlišné selekční metody, odlišné metody křížení a mutace, dokonce i odlišné účelové funkce). Vícekmenové PGA zavádějí nové principy v činnosti GA a jejich chování je odlišné od chování jednoduchých GA. V globálním modelu probíhá selekce i reprodukce v rámci celé populace, zatímco u vícekmenových PGA berou genetické operátory v úvahu jen jedince v rámci kmene. Někdy se jim také říká ostrovní PGA, protože v populační genetice existuje model pro relativně izolované populace, kterému se říká ostrovní model. Protože velikost jednotlivých kmenů je menší než velikost celé populace u jednoduchých GA, dalo by se předpokládat, že PGA bude rychleji konvergovat. Tento předpoklad se potvrzuje, ale zároveň bylo zjištěno, že kvalita nalezeného řešení může být horší [Grosso1985]. Podle stupně rozdělení populace na kmeny se navíc rozlišují dvě podskupiny tohoto modelu: Hrubě dělené PGA (Coarse-Grained PGA) populace rozdělena do několika poměrně velkých subpopulací [Grosso1985]. Jemně dělené PGA (Fine-Grained PGA) populace rozdělena do velkého počtu velmi malých subpopulací. Extrémním případem by bylo, kdyby ke každému chromozomu byl přiřazen jeden procesor. Tento model je vhodný pro masivně paralelní architektury počítačů, ale dá se implementovat na jakémkoli multiprocesoru. 16

22 Jemně i hrubě dělené PGA využívají stejných principů a hranice mezi nimi se těžko stanovuje (pokud vůbec existuje). Přesto může být někdy užitečné toto rozdělení provádět. Já sám jsem si tedy stanovil následující hranici mezi hrubě děleným a jemně děleným PGA: pokud je počet kmenů menší než počet jedinců v každém z nich, lze mluvit o hrubě děleném PGA, pokud je tomu naopak, pak takový PGA nazývám jemně děleným Hybridní (hierarchické) PGA Jedná se o poslední model paralelizace. Jak už název napovídá, tato metoda používá kombinaci některých výše zmíněných metod. Snaží se přitom využít dobrých vlastností každé z nich a potlačit jejich nedostatky. Poprvé se tento nápad objevil v [Grefenstette1981]. Základní myšlenka je jednoduchá: použijte PGA s několika kmeny, které jsou samy tvořeny nějakou formou PGA. Ti, kteří používají tento přístup, si od něj slibují lepší výkon, než by měla kterákoliv jeho samotná součást. Jako příklad lze uvést třeba implementaci s několika master-slave PGA na nižší úrovni tvořících kmeny hrubě děleného PGA na úrovni vyšší [Cantú-Paz1999c]. 3.3 Problém nadměrného urychlení Jedním z kontroverzních témat týkajících se PGA je problém nadměrného urychlení (Superlinear Speedup Problem). Spočívá v rozporu mezi teoretickými předpoklady a empirickými výsledky. Teoretická úvaha říká přibližně toto: pokud vyřešení libovolné úlohy trvá jedinému procesoru dobu T, pak je logické tvrdit, že N procesorům bude trvat řešení té samé úlohy minimálně dobu T/N (předpokládá se přitom, že celkový počet výpočetních úkonů potřebný k vyřešení úlohy je pro oba případy stejný). Tedy celý výpočetní proces se při použití N procesorů může urychlit maximálně N-krát. Podle empirických výsledků dochází ale mnohdy i k více než N-násobnému zkrácení výpočetní doby, což je předmětem diskusí na téma nadměrného urychlení. Bylo vytvořeno několik pokusů o vysvětlení tohoto jevu. Nejsmysluplnější se zdá být vysvětlení, které napadá snad jediný napadnutelný předpoklad výše uvedené teoretické úvahy, který říká, že celkový objem výpočetní práce je shodný pro paralelní i pro sekvenční model GA. Možné vysvětlení nadměrného urychlení je to, že paralelní modely nějakým způsobem provádějí méně činnosti než modely sekvenční. Redukce výpočtů je podle jedné hypotézy způsobena hlavně zvýšením selekčního tlaku, za které je odpovědná migrace jedinců mezi populacemi [Cantú-Paz1999c]. Migrace ale není jediným možným vysvětlením tohoto jevu. Jiným vysvětlením může být i to, že menší populace se vejdou celé do vyrovnávacích pamětí procesorů [Belding1995], nebo nesprávné určení velikosti populace, takže není zaručena konvergence ke stejně kvalitnímu řešení. 3.4 Shrnutí Tato kapitola poskytla stručný přehled paralelních modelů GA, principů jejich činnosti, popis jejich vzájemných odlišností i odlišností vůči jednoduchým GA. V odstavci 3.3 byl 17

23 popsán jev nadměrného urychlení vyskytující se u PGA využívajících migraci a právě migrace byla označena jako možné vysvětlení tohoto jevu. Migrační operátor si proto zasluhuje zvláštní pozornost a je mu věnována celá následující kapitola. 18

24 4 Migrační strategie Jak již bylo řečeno, migrační strategie (krátce migrace) má v PGA za úkol provádět výměnu jedinců (migrantů) mezi jednotlivými kmeny. Proč je vlastně ale migrace zapotřebí? Představme si, co se stane, rozdělíme-li populaci jednoduchého GA na r kmenů, jejichž vývoj bude probíhat odděleně. Dostaneme tedy vlastně r genetických algoritmů a každý z těchto r kmenů dosáhne různě kvalitního řešení. Povrchní úvaha nám může napovědět, že více kmenů znamená více pokusů o vyřešení problému, a tedy i větší šanci na nalezení dostatečně kvalitního řešení. Bohužel jsme přitom zapomněli na fakt, že každý z kmenů pracuje s r-krát menší populací, která konverguje mnohem rychleji než původní celková populace jednoduchého GA. Migrace pro nás tedy představuje způsob, kterým chceme udržet různorodost populace na dostatečné úrovni tak, aby byla zajištěna požadovaná kvalita prohledání stavového prostoru. Předtím, než se migrací budu zabývat podrobněji, je třeba si stanovit, čím je migrace definována a co se vlastně za ní skrývá. Definice migrace zatím není nikde exaktně stanovena a různí experimentátoři některé z jejích parametrů zanedbávají nebo vůbec neuvažují. Pro účely této diplomové práce představuje migrace proces výměny chromozomů mezi kmeny, který určují čtyři parametry, z nichž tři jsou netriviální: Migrační kritérium Komunikační topologie Migrační koeficient Způsob přenosu migrantů (jedinců nebo schémat) Podívejme se nyní na význam jednotlivých parametrů a na jejich vliv na běh PGA. 4.1 Migrační kritérium Tento parametr určuje, ve kterých okamžicích bude k migraci docházet. Kritérium zde představuje spoušť, pomocí níž je migrace vyvolávána. Podle způsobu spouštění se 19

25 migrace dělí na synchronní, kdy migrace probíhá v konstantních intervalech, a na asynchronní, kdy komunikace mezi kmeny probíhá jen jako reakce na určitou událost Synchronní migrace Většina vícekmenových PGA využívá synchronní migraci. Její výhodou je, že migrační kritérium je jednoduché, a proto se snadno implementuje a jeho vyhodnocení vyžaduje malé množství strojového času (jedná se pouze o porovnání současné generace vývoje PGA s předdefinovaným migračním intervalem). Nevýhodou synchronní migrace je to, že vůbec nezohledňuje otázku, kdy je vhodná doba pro uskutečnění migrace. Pozorování ukazují, že příliš častá nebo příliš řídká migrace může degradovat efektivitu algoritmu [Tanese1987]. Při konstantním migračním intervalu mohou totiž nastat dva nežádoucí případy: Příliš častá migrace (hraniční případ migrace probíhá každou generaci). Takovým nastavením do značné míry potlačíme hlavní rys hrubě dělených PGA oddělený vývoj kmenů. Počet správných stavebních bloků v migrujících jedincích nemusí být dostatečný k tomu, aby ovlivnil prohledávání stavového prostoru správným směrem. Zjednodušeně řečeno, většina migrujících jedinců nebude natolik dobrá, aby pro cílovou populaci znamenala významnější přínos. Migrace v tomto případě tedy probíhá zbytečně často a plýtvá tak komunikačními zdroji. Nesmíme zapomínat, že vývoj jednotlivých kmenů může probíhat na geograficky značně vzdálených počítačích, a velké množství komunikací značně snižuje efektivitu a zvyšuje náklady na běh programu. Příliš řídká migrace (hraniční případ izolované kmeny). Pokud bude k výměně jedinců docházet jen zřídka, dáváme tím PGA možnost, aby v jednotlivých kmenech vyvinul jedince představující různá lokální optima. Protože kmeny v PGA bývají řádově menší než populace u jednoduchých GA, snáze a rychleji předčasně konvergují k lokálním optimům. Protože mutace bývá u PGA značně nebo úplně potlačena, představuje migrace jediný způsob, jak vnést do subpopulací nový genetický materiál. Na dalších parametrech (migračním koeficientu a kvalitě migrujících jedinců) pak bude záležet to, jaký vliv bude mít tento injektovaný nový genetický materiál na cílový kmen, tzn. zda bude dostatečně silný, aby populaci nějak ovlivnil. Protože běh GA je ve své podstatě náhodný, může se stát, že vlivem stochastických procesů nebudou nově zařazení jedinci pro vývoj populace vůbec použiti Asynchronní migrace Jak již bylo uvedeno, asynchronní migrace využívá kritéria, která spouštějí migraci jako reakci na jistou událost. Podmínky vyskytující se v těchto kritériích mají za úkol se co nejvíce přiblížit odpovědi na otázku, kdy je vhodné migraci provést. Většina takových kritérií obsahuje ve své podmínce míru konvergence populace, kterou porovnává s předem daným prahem [Grosso1985]. Vyhodnocení takového kritéria 20

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví Genetické algoritmy Informační a komunikační technologie ve zdravotnictví Přehled přednášky Úvod Historie Základní pojmy Principy genetických algoritmů Možnosti použití Související metody AI Příklad problém

Více

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function

Více

Evoluční výpočetní techniky (EVT)

Evoluční výpočetní techniky (EVT) Evoluční výpočetní techniky (EVT) - Nacházejí svoji inspiraci v přírodních vývojových procesech - Stejně jako přírodní jevy mají silnou náhodnou složku, která nezanedbatelným způsobem ovlivňuje jejich

Více

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/ Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/07.0354 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Populační genetika (KBB/PG)

Více

2015 http://excel.fit.vutbr.cz Kartézské genetické programování s LUT Karolína Hajná* Abstract Tato práce se zabývá problematikou návrhu obvodů pomocí kartézského genetického programování na úrovni třívstupových

Více

A0M33EOA: Evoluční optimalizační algoritmy

A0M33EOA: Evoluční optimalizační algoritmy A0M33EOA: Evoluční optimalizační algoritmy Zkouškový test Pátek 8. února 2011 Vaše jméno: Známka, kterou byste si z předmětu sami dali, a její zdůvodnění: Otázka: 1 2 3 4 5 6 7 8 Celkem Body: 1 3 2 1 4

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

Statistická teorie učení

Statistická teorie učení Statistická teorie učení Petr Havel Marek Myslivec přednáška z 9. týdne 1 Úvod Představme si situaci výrobce a zákazníka, který si u výrobce objednal algoritmus rozpoznávání. Zákazník dodal experimentální

Více

OSA. maximalizace minimalizace 1/22

OSA. maximalizace minimalizace 1/22 OSA Systémová analýza metodika používaná k navrhování a racionalizaci systémů v podmínkách neurčitosti vyšší stupeň operační analýzy Operační analýza (výzkum) soubor metod umožňující řešit rozhodovací,

Více

12 Metody snižování barevného prostoru

12 Metody snižování barevného prostoru 12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů

Více

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu Masarykova univerzita Fakulta informatiky Evoluce pohybu IV109 Tomáš Kotula, 265 287 Brno, 2009 Úvod Pohyb je jedním ze základních projevů života. Zdá se tedy logické, že stejně jako ostatní vlastnosti

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Pokročilé operace s obrazem

Pokročilé operace s obrazem Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání

Více

Emergence chování robotických agentů: neuroevoluce

Emergence chování robotických agentů: neuroevoluce Emergence chování robotických agentů: neuroevoluce Petra Vidnerová, Stanislav Slušný, Roman Neruda Ústav Informatiky, AV ČR Kognice a umělý život VIII Praha 28. 5. 2008 Evoluční robotika: EA & neuronové

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Základní myšlenka: snaha o zpracování dat paralelně. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem. Řešení: data

Více

1. Statistická analýza dat Jak vznikají informace Rozložení dat

1. Statistická analýza dat Jak vznikají informace Rozložení dat 1. Statistická analýza dat Jak vznikají informace Rozložení dat J. Jarkovský, L. Dušek, S. Littnerová, J. Kalina Význam statistické analýzy dat Sběr a vyhodnocování dat je způsobem k uchopení a pochopení

Více

5.5 Evoluční algoritmy

5.5 Evoluční algoritmy 5.5 Evoluční algoritmy Jinou skupinou metod strojového učení, které vycházejí z biologických principů, jsou evoluční algoritmy. Zdrojem inspirace se tentokrát stal mechanismus evoluce, chápaný jako Darwinův

Více

VÝBĚR A JEHO REPREZENTATIVNOST

VÝBĚR A JEHO REPREZENTATIVNOST VÝBĚR A JEHO REPREZENTATIVNOST Induktivní, analytická statistika se snaží odhadnout charakteristiky populace pomocí malého vzorku, který se nazývá VÝBĚR neboli VÝBĚROVÝ SOUBOR. REPREZENTATIVNOST VÝBĚRU:

Více

1. Úvod do genetických algoritmů (GA)

1. Úvod do genetických algoritmů (GA) 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

Více

Základy umělé inteligence

Základy umělé inteligence Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v

Více

UČENÍ BEZ UČITELE. Václav Hlaváč

UČENÍ BEZ UČITELE. Václav Hlaváč UČENÍ BEZ UČITELE Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/~hlavac 1/22 OBSAH PŘEDNÁŠKY ÚVOD Učení

Více

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

Základy genetiky populací

Základy genetiky populací Základy genetiky populací Jedním z významných odvětví genetiky je genetika populací, která se zabývá studiem dědičnosti a proměnlivosti u velkých skupin jedinců v celých populacích. Populace je v genetickém

Více

Jak měříme genetickou vzdálenost a co nám říká F ST

Jak měříme genetickou vzdálenost a co nám říká F ST Jak měříme genetickou vzdálenost a co nám říká F ST 1) Genetická vzdálenost a její stanovení Pomocí genetické rozmanitosti, kterou se populace liší, můžeme určit do jaké míry jsou si příbuznější jaká je

Více

Modelování a simulace Lukáš Otte

Modelování a simulace Lukáš Otte Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast

Více

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/

Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/ Inovace studia molekulární a buněčné biologie reg. č. CZ.1.07/2.2.00/07.0354 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Populační genetika (KBB/PG)

Více

Náhodné (statistické) chyby přímých měření

Náhodné (statistické) chyby přímých měření Náhodné (statistické) chyby přímých měření Hodnoty náhodných chyb se nedají stanovit předem, ale na základě počtu pravděpodobnosti lze zjistit, která z možných naměřených hodnot je více a která je méně

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně Simulátor označujeme jako kredibilní v případě, že: byla úspěšně završena fáze verifikace simulátoru se podařilo přesvědčit zadavatele simulačního

Více

Numerické metody a programování. Lekce 8

Numerické metody a programování. Lekce 8 Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti. Přednáška č. 1 Úvod do statistiky a počtu pravděpodobnosti Statistika Statistika je věda a postup jak rozvíjet lidské znalosti použitím empirických dat. Je založena na matematické statistice, která je

Více

Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace.

Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace. Genetické algoritmy a jejich praktické využití Pavel Šturc Úvod Cílem této práce je seznámit čtenáře se základním principem funkce genetických algoritmů a nastínit jejich možné aplikování do různých odvětví

Více

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

Rozdělování dat do trénovacích a testovacích množin

Rozdělování dat do trénovacích a testovacích množin Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném

Více

Funkce. Definiční obor a obor hodnot

Funkce. Definiční obor a obor hodnot Funkce Definiční obor a obor hodnot Opakování definice funkce Funkce je předpis, který každému číslu z definičního oboru, který je podmnožinou množiny všech reálných čísel R, přiřazuje právě jedno reálné

Více

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D. Generování pseudonáhodných čísel při simulaci Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky V simulačních modelech se velice často vyskytují náhodné proměnné. Proto se budeme zabývat otázkou, jak při simulaci

Více

Metaheuristiky s populacemi

Metaheuristiky s populacemi Metaheuristiky s populacemi 8. března 2018 1 Společné vlastnosti 2 Evoluční algoritmy 3 Optimalizace mravenčí kolonie Zdroj: El-Ghazali Talbi, Metaheuristics: From Design to Implementation. Wiley, 2009.

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

13. Lineární procesy

13. Lineární procesy . Lineární procesy. Lineární procesy Našim cílem je studovat lineární (iterované) procesy. Každý takový proces je zadán čtvercovou maticí A Mat k k (R). Dále víme, že systém se v čase t n nachází ve stavu

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Obsah přednášky Jaká asi bude chyba modelu na nových datech? Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

Báze a dimenze vektorových prostorů

Báze a dimenze vektorových prostorů Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň

Více

Dijkstrův algoritmus

Dijkstrův algoritmus Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované

Více

Seminář z umělé inteligence. Otakar Trunda

Seminář z umělé inteligence. Otakar Trunda Seminář z umělé inteligence Otakar Trunda Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup:

Více

7. Rozdělení pravděpodobnosti ve statistice

7. Rozdělení pravděpodobnosti ve statistice 7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,

Více

Náhodné chyby přímých měření

Náhodné chyby přímých měření Náhodné chyby přímých měření Hodnoty náhodných chyb se nedají stanovit předem, ale na základě počtu pravděpodobnosti lze zjistit, která z možných naměřených hodnot je více a která je méně pravděpodobná.

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu Jméno: Marek Handl Datum: 4. 2. 2009 Cvičení: Pondělí 9:00 Zadání Zvolte si heuristiku,

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Téma 2: Pravděpodobnostní vyjádření náhodných veličin 0.025 0.02 0.015 0.01 0.005 Nominální napětí v pásnici Std Mean 140 160 180 200 220 240 260 Std Téma 2: Pravděpodobnostní vyjádření náhodných veličin Přednáška z předmětu: Pravděpodobnostní posuzování

Více

Třídy složitosti P a NP, NP-úplnost

Třídy složitosti P a NP, NP-úplnost Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není

Více

S T R A T E G I C K Ý M A N A G E M E N T

S T R A T E G I C K Ý M A N A G E M E N T S T R A T E G I C K Ý M A N A G E M E N T 3 LS, akad.rok 2014/2015 Strategický management - VŽ 1 Proces strategického managementu LS, akad.rok 2014/2015 Strategický management - VŽ 2 Strategický management

Více

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457. 0 cvičení z PST 5 prosince 208 0 (intervalový odhad pro rozptyl) Soubor (70, 84, 89, 70, 74, 70) je náhodným výběrem z normálního rozdělení N(µ, σ 2 ) Určete oboustranný symetrický 95% interval spolehlivosti

Více

"Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Základy genetiky, základní pojmy

Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT . Základy genetiky, základní pojmy "Učení nás bude více bavit aneb moderní výuka oboru lesnictví prostřednictvím ICT ". Základy genetiky, základní pojmy 1/75 Genetika = věda o dědičnosti Studuje biologickou informaci. Organizmy uchovávají,

Více

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost 1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole

Více

2 Hlavní charakteristiky v analýze přežití

2 Hlavní charakteristiky v analýze přežití 2 Hlavní charakteristiky v analýze přežití Předpokládané výstupy z výuky: 1. Student umí definovat funkci přežití, rizikovou funkci a kumulativní rizikovou funkci a zná funkční vazby mezi nimi 2. Student

Více

Dokumentace programu piskvorek

Dokumentace programu piskvorek Dokumentace programu piskvorek Zápočtového programu z Programování II PRM045 Ondřej Vostal 20. září 2011, Letní semestr, 2010/2011 1 Stručné zadání Napsat textovou hru piškvorky se soupeřem s umělou inteligencí.

Více

Markov Chain Monte Carlo. Jan Kracík.

Markov Chain Monte Carlo. Jan Kracík. Markov Chain Monte Carlo Jan Kracík jan.kracik@vsb.cz Princip Monte Carlo integrace Cílem je (přibližný) výpočet integrálu I(g) = E f [g(x)] = g(x)f (x)dx. (1) Umíme-li generovat nezávislé vzorky x (1),

Více

Stanovení nejistot při výpočtu kontaminace zasaženého území

Stanovení nejistot při výpočtu kontaminace zasaženého území Stanovení nejistot při výpočtu kontaminace zasaženého území Michal Balatka Abstrakt Hodnocení ekologického rizika kontaminovaných území představuje komplexní úlohu, která vyžaduje celou řadu vstupních

Více

Simulační modely. Kdy použít simulaci?

Simulační modely. Kdy použít simulaci? Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za

Více

PRAVDĚPODOBNOST A STATISTIKA

PRAVDĚPODOBNOST A STATISTIKA PRAVDĚPODOBNOST A STATISTIKA Definice lineárního normálního regresního modelu Lineární normální regresní model Y β ε Matice n,k je matice realizací. Předpoklad: n > k, h() k - tj. matice je plné hodnosti

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

Jak se matematika poučila v biologii

Jak se matematika poučila v biologii Jak se matematika poučila v biologii René Kalus IT4Innovations, VŠB TUO Role matematiky v (nejen) přírodních vědách Matematika inspirující a sloužící jazyk pro komunikaci s přírodou V 4 3 r 3 Matematika

Více

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a datových modelů Obsah Seznam tabulek... 1 Seznam obrázků... 1 1 Úvod... 2 2 Metody sémantické harmonizace... 2 3 Dvojjazyčné katalogy objektů

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/ Genetické algoritmy Jiří Vomlel Laboratoř inteligentních systémů Vysoká škola ekonomická Praha Tato prezentace je k dispozici na: http://www.utia.cas.cz/vomlel/ Motivace z Darwinovy teorie evoluce Přírodní

Více

Numerická matematika 1

Numerická matematika 1 Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................

Více

Úvod do optimalizace, metody hladké optimalizace

Úvod do optimalizace, metody hladké optimalizace Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

Více

Matematika pro informatiky

Matematika pro informatiky (FIT ČVUT v Praze) Konvexní analýza 13.týden 1 / 1 Matematika pro informatiky Jaroslav Milota Fakulta informačních technologíı České vysoké učení technické v Praze Letní semestr 2010/11 Extrémy funkce

Více

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie

Navrženy v 60. letech jako experimentální optimalizační metoda. Velice rychlá s dobrou podporou teorie Evoluční strategie Navrženy v 60. letech jako experimentální optimalizační metoda Založena na reálných číslech Velice rychlá s dobrou podporou teorie Jako první zavedla self-adaptation (úpravu sebe sama)

Více

Teorie systémů TES 3. Sběr dat, vzorkování

Teorie systémů TES 3. Sběr dat, vzorkování Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 3. Sběr dat, vzorkování ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní

Více

Popis zobrazení pomocí fuzzy logiky

Popis zobrazení pomocí fuzzy logiky Popis zobrazení pomocí fuzzy logiky diplomová práce Ján Fröhlich KM, FJFI, ČVUT 23. dubna 2009 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 1 / 25 Obsah 1 Úvod Základy

Více

Genetické programování

Genetické programování Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace

Více

METODICKÝ APARÁT LOGISTIKY

METODICKÝ APARÁT LOGISTIKY METODICKÝ APARÁT LOGISTIKY Metodický aparát logistiky jedná se o metody sloužící k rozhodování při logistických problémech Metodu = použijeme, v případě vzniku problému. Problém = vzniká v okamžiku, když

Více

12. Globální metody MI-PAA

12. Globální metody MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

Univerzita Pardubice Fakulta ekonomicko-správní. Návrh a realizace systému pro genetické programování Bc. Petr Sotona

Univerzita Pardubice Fakulta ekonomicko-správní. Návrh a realizace systému pro genetické programování Bc. Petr Sotona Univerzita Pardubice Fakulta ekonomicko-správní Návrh a realizace systému pro genetické programování Bc. Petr Sotona Diplomová práce 2009 Prohlašuji: Tuto práci jsem vypracoval samostatně. Veškeré literární

Více

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}. 5. Náhodná veličina Poznámka: Pro popis náhodného pokusu jsme zavedli pojem jevového pole S jako množiny všech možných výsledků a pravděpodobnost náhodných jevů P jako míru výskytů jednotlivých výsledků.

Více

Gramatická evoluce a softwarový projekt AGE

Gramatická evoluce a softwarový projekt AGE Gramatická evoluce a softwarový projekt AGE Adam Nohejl Matematicko-fyzikální fakulta Univerzita Karlova v Praze http://nohejl.name/ 4. 4. 2010 Poznámka: Prezentace založené na variantách těchto slajdů

Více

STATISTICKÉ ODHADY Odhady populačních charakteristik

STATISTICKÉ ODHADY Odhady populačních charakteristik STATISTICKÉ ODHADY Odhady populačních charakteristik Jak stanovit charakteristiky rozložení sledované veličiny v základní populaci? Populaci většinou nemáme celou k dispozici, musíme se spokojit jen s

Více

Propojení výuky oborů Molekulární a buněčné biologie a Ochrany a tvorby životního prostředí. Reg. č.: CZ.1.07/2.2.00/

Propojení výuky oborů Molekulární a buněčné biologie a Ochrany a tvorby životního prostředí. Reg. č.: CZ.1.07/2.2.00/ Propojení výuky oborů Molekulární a buněčné biologie a Ochrany a tvorby životního prostředí Reg. č.: CZ.1.07/2.2.00/28.0032 Genetika populací Studium dědičnosti a proměnlivosti skupin jedinců (populací)

Více

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

10. Složitost a výkon

10. Složitost a výkon Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří

Více

Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky v Brně

Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky v Brně Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologíı Ústav automatizace a měřicí techniky Algoritmy řízení topného článku tepelného hmotnostního průtokoměru Autor práce: Vedoucí

Více

Chyby měření 210DPSM

Chyby měření 210DPSM Chyby měření 210DPSM Jan Zatloukal Stručný přehled Zdroje a druhy chyb Systematické chyby měření Náhodné chyby měření Spojité a diskrétní náhodné veličiny Normální rozdělení a jeho vlastnosti Odhad parametrů

Více

Mezipaměti počítače. L2 cache. L3 cache

Mezipaměti počítače. L2 cache. L3 cache Mezipaměti počítače Cache paměť - mezipaměť Hlavní paměť procesoru je typu DRAM a je pomalá. Proto se mezi pomalou hlavní paměť a procesor vkládá menší, ale rychlá vyrovnávací (cache) paměť SRAM. Rychlost

Více

Úvod do teorie informace

Úvod do teorie informace PEF MZLU v Brně 24. září 2007 Úvod Výměna informací s okolím nám umožňuje udržovat vlastní existenci. Proces zpracování informací je trvalý, nepřetržitý, ale ovlivnitelný. Zabezpečení informací je spojeno

Více

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni KTE/TEVS - Rychlá Fourierova transformace Pavel Karban Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni 10.11.011 Outline 1 Motivace FT Fourierova transformace

Více

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti ZÁKLADNÍ STATISTICKÉ POJMY HROMADNÝ JEV Statistika pracuje s tzv. HROMADNÝMI JEVY cílem statistického zpracování dat je podání informace o vlastnostech a zákonitostech hromadných jevů: velkého počtu jedinců

Více

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více