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

Podobné dokumenty
Jak se matematika poučila v biologii

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

Genetické programování

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

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

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

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

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

A0M33EOA: Evoluční optimalizační algoritmy

PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Pokročilé operace s obrazem

Základy umělé inteligence


Genetické algoritmy a jejich praktické využití

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.

5.5 Evoluční algoritmy

Využití metod strojového učení v bioinformatice David Hoksza

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Biologicky inspirované výpočty. Schématické rozdělení problematiky a výuky

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

Gramatická evoluce a softwarový projekt AGE

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Úvod do optimalizace, metody hladké optimalizace

Genetické algoritmy. Vysoká škola ekonomická Praha. Tato prezentace je k dispozici na:

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE Jan Šulc

Metaheuristiky s populacemi

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

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

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

Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

Ukázka knihy z internetového knihkupectví


Umělá inteligence aneb co už není sci -fi

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/

Užití systému Matlab při optimalizaci intenzity tepelného záření na povrchu formy

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

2. RBF neuronové sítě

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

Otázky ke státní závěrečné zkoušce

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

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Moderní systémy pro získávání znalostí z informací a dat

OSA. maximalizace minimalizace 1/22

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Neuronové časové řady (ANN-TS)

1 Úvod do celočíselné lineární optimalizace

Modelování a simulace Lukáš Otte

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ

Obsah. Obsah. Předmluva Úvod Část I: Genetické algoritmy Genetický algoritmus krok za krokem...19

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

Exponenciální modely hromadné obsluhy

zpravidla předpokládá, že hodnoty intenzity poruch a oprav jsou konstantní.

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

Inovace studia molekulární a buněčné biologie

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

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/

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

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

Obsah. Obsah. Předmluva Úvod Část I: Genetické algoritmy Genetický algoritmus krok za krokem...19

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Datové struktury 2: Rozptylovací tabulky

Teorie systémů TES 1. Úvod

Numerické metody a programování. Lekce 8

Úvod do informatiky. Miroslav Kolařík

Popis zobrazení pomocí fuzzy logiky

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

7. Rozdělení pravděpodobnosti ve statistice

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

5. Umělé neuronové sítě. Neuronové sítě

GIS Geografické informační systémy

GIS Geografické informační systémy

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA STROJNÍ BAKALÁŘSKÁ PRÁCE. 2016/2017 Monika Knolová

Chyby měření 210DPSM

SOUBĚŽNÉ UČENÍ V KARTÉZSKÉM GENETICKÉM PROGRAMOVÁNÍ CO-LEARNING IN CARTESIAN GENETIC PROGRAMMING

FACULTY OF MECHANICAL ENGINEERING INSTITUTE

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

1 Nejkratší cesta grafem

Buněčné automaty a mřížkové buněčné automaty pro plyny. Larysa Ocheretna

Softwarový nástroj CESim pro grafický návrh, simulaci a analýzu C-E Petriho sítí

Základní pojmy I. EVOLUCE

Registrační číslo projektu: CZ.1.07/1.5.00/

Dynamické datové struktury I.

Algoritmy pro spojitou optimalizaci

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

ALGORITMY A DATOVÉ STRUKTURY

Architektury počítačů a procesorů

Genetické programování v prostředí Mathematica

Geneticky vyvíjené strategie Egyptská hra SENET

Nastavení optimální trajektorie robota s využitím symbolické regrese. Bc. Jiří Jílek

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

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

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Stromy, haldy, prioritní fronty

Transkript:

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 vlastnosti a chování - Klasickým představitelem jsou genetické algoritmy, nejmladším představitelem je genetické programování. Něco k historii - 1. polovina 60. let 3 studenti univerzity v Berlíně, kteří se zabývali konstrukcí převodovek, přišli s myšlenkou náhodně kombinovat dvojice existujících konstrukcí ve snaze nalézt konstrukci s lepšími užitnými vlastnostmi (připomíná to přírodní křížení v rámci téhož biologického druhu) - 2. polovina 60. let evoluční programování evoluce chování konečných automatů a vyvinutí jejich schopnosti predikovat změny prostředí, v němž se automat nachází - 1975 položen základ genetickým algoritmům - 1989 systematické studium genetických algoritmů z pohledu technického, tedy z pohledu, který se snaží genetické algoritmy chápat jako techniku obecně aplikovatelnou na širokou třídu úloh - 1992 genetické programování jeho cílem je automatizovaně generovat počítačové programy, které řeší určitou konkrétní úlohu nebo skupinu úloh. Od genetických algoritmů se genetické programování liší v tom, jak jsou reprezentováni jedinci podílející se na evolučním procesu a jak jsou tito jedinci interpretováni a ohodnocováni.

Základní charakteristiky EVT - V přírodní evoluci je základní úlohou biologického druhu vyhledávání výhodných adaptací vůči složitému a dynamicky se měnícímu prostředí. Znalost, která charakterizuje každý biologický druh, byla získána vývojem a je shrnuta v chromozomech každého jedince. - Evoluci v přírodě lze tedy chápat jako optimalizaci, kdy vyhledávané adaptace (změny) musí být výhodné ve smyslu nějakého hodnotícího kritéria. V přírodě je zpravidla tímto hodnotícím kritériem schopnost přežití a reprodukce, tzv. fitness. - Z myšlenek o přírodě vychází také algoritmické využití EVT. - Nejčastěji se používají pro hledání ve stavovém prostoru, jejich cílem je nalezení optimálního řešení dané úlohy. - Jsou to stochastické algoritmy, jejichž prohledávací schopnost je posílena modelováním Darwinovského zápasu o přežití a modelováním genetické dědičnosti. - Tradiční optimalizační postupy iterativně vylepšují jeden počáteční odhad řešení. - EVT nepracují s jedním kandidátem řešení, ale s jejich množinami, tj. s populacemi jedinců kandidátů řešení x t,i ve tvaru G(t) = {x t,1, x t,2,, x t,n } kde t je vývojový čas a N označuje rozsah populace. Vývojový čas zpravidla běží v diskrétních krocích a o posloupnosti populací se často hovoří jako o generacích. Všichni jedinci v populaci jsou implementováni pomocí týchž datových struktur S. Každý jedinec x t,i je ohodnocen svojí mírou kvality (fitness), která je vyjádřena obvykle reálným číslem.

- Obecný tvar algoritmu EVT sestává z následujících kroků: {t = 0 inicializace G(t) vyhodnocení G(t) dokud není splněna zastavovací podmínka, pak {t = t+1 selekce vhodných jedinců z G(t-1) pro G(t) změna některých jedinců pro G(t) vyhodnocení G(t) náhrada generace G(t-1) generací G(t) } } - Při inicializaci je počáteční populace obvykle vytvořena náhodně, může však být vytvořena i na základě apriorní znalosti úlohy. Při vyhodnocení se počítá kvalita (fitness) všech jedinců v populaci. Selekce simuluje proces přirozeného výběru a jsou při ní vybíráni jedinci z předchozí populace, kteří se budou podílet na vytvoření populace nové. Selekce je obvykle realizována nějakým pravděpodobnostním mechanismem, přičemž lepší jedinci (tj. jedinci s větší kvalitou) mají větší šanci být vybráni. Průměrné ohodnocení následující populace by tedy mělo být lepší. Změna reprezentuje inovaci v celém vývojovém procesu a je obvykle realizována pomocí tzv. rekombinačních operátorů (někdy se nazývají též genetické operátory). Ty jsou obvykle 2 typů: o Mutace nový jedinec se vytváří malou změnou původního jedince o Křížení jeden nebo více jedinců se generuje z několika (dvou či více) jedinců rodičů

Náhrada představuje postup (vývojovou strategii), jak ze smíšené množiny rodičů a potomků vybrat množinu, kterou budeme v dalším vývoji považovat za novou populaci. Obvykle se používají 2 typy vývojových strategií: o Generační strategie jedna populace se úplně nahradí populací následující (analogie s jednoletými rostlinami) o Postupná strategie změna se týká jen malé části populace a rodiče koexistují se svými potomky (analogie s déle žijícími živočichy a s víceletými rostlinami) Zastavovací podmínka ukončuje činnost algoritmu. Obvykle se nastavuje tak, že algoritmus končí ve chvíli, kdy nedochází ke změnám v generacích. Genetické algoritmy (GA) - Charakteristické tím, že jedinci jsou reprezentováni pomocí struktur S ve tvaru řetězců (s 1, s 2,, s L ) délky L nazývaných chromozomy. Každá pozice v řetězci (chromozomu) se nazývá alela, konkrétní symbol s i v chromozomu se nazývá gen. Standardní genetické algoritmy - Jedinci jsou reprezentovány pomocí řetězců (chromozomů) fixní délky tvořených dvouhodnotovými symboly (zpravidla 0 a 1). - Při křížení se generují právě 2 potomci ze dvou rodičů. - Používá se tzv. jednobodové křížení: o Zvolí se tzv. křížící bod jako náhodné celé číslo v rozsahu 1 až (L-1), kde L je délka řetězce o V křížícím bodě se vede řez oběma rodičovskými řetězci

o Potomci vzniknou tak, že jeden je vytvořen levou částí řetězce prvního rodiče a pravou částí řetězce druhého rodiče, u druhého potomka je tomu naopak - Při mutaci se náhodně vybere několik jedinců a u nich se invertuje jeden náhodně vybraný znak (gen)

Příklad hledání potravy: Najděte optimální cestu, při které mravenec (znázorněný křížkem) najde během svého života co nejvíce krmítek s potravou (znázorněna hnědými políčky). Předpokládejte, že délka života mravence je 12 kroků. S Z V J délka života 12 kroků => chromozomy jsou tvořeny 12 znaky (geny) geny 4 směry: V Z S J inicializace 4 náhodní jedinci kvalita (fitness) = počet nalezených kousků potravy (hnědá políčka) selekce úměrně kvalitě

selekce křížení mutace Generace 0 fitness Generace 1 fitness VSVJZSVJJVSV 1 VSVJZSV JJVSV VSVJZSVVVSJV VSVJZSVVVSJV 0 ZZZJJJZVVSJV 2 ZZZJJJZ VVSJV ZZZJJJZJJVSV ZZZJJJZJJVJV 4 JZSZJJZVVZSJ 1 ZZZJJJZVV SJV ZZZJJJZVVZSJ ZZZJJJZVVZSJ 2 JVZZJVJVSVVS 0 JZSZJJZVV ZSJ JZSZJJZVVSJV JZSZJJZSVSJV 1

Oblasti aplikace genetických algoritmů - základní otázkou efektivní aplikace je vždy nalezení vhodné reprezentace jedinců - aplikace v architektuře a stavebním inženýrství jde o úlohy návrhu konstrukčních a tvarových struktur. Základním východiskem je existence slovníku elementárních struktur, např. geometrických tvarů, v různém natočení a v různé velikosti. Tyto struktury jsou reprezentovány pomocí bitových řetězců. Pospojováním takovýchto elementárních struktur vznikne chromozom popisující nejrůznější tvarové struktury. Účelovou funkcí, jejíž extrém se hledá, je ohodnocení konstrukční realizovatelnosti a estetický vzhled nalezené kompozice. - aplikace v počítačovém a informačním inženýrství např. plánování úloh na víceprocesorových systémech - aplikace ve strojním a průmyslovém inženýrství rozvrhování výroby, optimalizace nářezového plánu (jak rozřezat dlouhou tyč na menší různých délek nebo jak z plechu vyřezat zadané tvary tak, aby bylo co nejméně odpadu) - identifikace zločinců vytváření podoby obličeje pachatele (svědkovi se prezentuje několik různých obličejů, on je seřadí podle podobnosti s pachatelem. Nejpodobnější jsou využity ke generování potomků, které by měly být pachateli podobnější než rodiče )

Genetické programování (GP) - vychází z principu genetických algoritmů, ale liší se od nich ve 2 směrech: o aplikační oblastí GA je hledání hodnot nezávisle proměnných, pro které určitá hodnoticí funkce nabývá optima; GP je určeno pro automatickou syntézu programů, algoritmů či rozhodovacích postupů o u GA jsou jedinci reprezentováni chromozomy ve tvaru lineárních řetězců, u GP se využívají nejčastěji stromové struktury. - hledaným řešením v GP jsou výrazy, programy či algoritmy. Ty lze obvykle reprezentovat ve tvaru stromových struktur. Strom je obvykle konstruován ze 2 množin symbolů z terminálních symbolů, které jsou reprezentovány listovými uzly, a z neterminálních symbolů, které jsou reprezentovány vnitřními (nelistovými) uzly. Neterminální symboly reprezentují funkce či operace, terminální symboly reprezentují vstupní proměnné, konstanty nebo výstupy senzorů. - Při křížení se generují právě 2 potomci ze dvou rodičů v každém z rodičovských chromozomů se náhodně vybere po jednom uzlu a podstromy vycházející z těchto uzlů se vzájemně zamění - Mutace probíhá tak, že ve zvoleném jedinci se náhodně vybere jeden uzel a podstrom, který z něho vychází, se zcela nahradí nově vygenerovaným stromem. Oblasti aplikace genetického programování - hledání analytického předpisu pro generování posloupností - generování programu popisujícího cílené individuální chování - generování programu popisujícího chování kolektivu na základě chování jednotlivce

Závěrečné poznámky - evoluční výpočetní techniky jsou základem tzv. umělého života (Alife), jehož cílem je z jednoduchých mikroskopických spolupracujících prvků generovat takové chování na úrovni makroskopické, které je možné interpretovat jako projev života - umělý život sleduje dva cíle: o prohloubit naše znalosti o přírodě (a zdokonalit naše představy o umělých modelech) o umožnit tak zlepšení výkonnosti těchto modelů - existují 3 definice umělého života: o slabá definice jedná se pouze o simulace, o silná definice umělé entity jsou skutečně živé, o supersilná definice život na bázi křemíku bude dalším evolučním krokem; tato forma života překoná naše schopnosti a pravděpodobně nás i nahradí,