Masarykova univerzita. Fakulta informatiky. Evoluce pohybu

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

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Gramatická evoluce a softwarový projekt AGE

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

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ. Uživatelská příručka k programu FloodFilling Art

Přírodou inspirované metody umělé inteligence

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

1.1.7 Rovnoměrný pohyb I

Genetické algoritmy a jejich praktické využití

Koncept Hayekova stroje pro řízení robotů Khepera IV

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

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

Jak se matematika poučila v biologii

Studentská tvůrčí a odborná činnost STOČ 2015

Neuropočítače. podnět. vnímání (senzory)

12. Aproximační algoritmy

Obecný úvod do autoelektroniky

Úvod do mobilní robotiky AIL028

Umělá inteligence I. Roman Barták, KTIML.

MODELOVÉ SROVNÁNÍ VÝNOSOVOSTI NÍZKÉHO A VYSOKÉHO DUBOVÉHO LESA

ZRYCHLENÍ KMITAVÉHO POHYBU

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

L A B O R A T O R N Í C V I Č E N Í

(Auto)korelační funkce Statistické vyhodnocování exp. dat M. Čada ~ cada

PLÁNOVÁNÍ CESTY MOBILNÍHO ROBOTU POMOCÍ MRAVENČÍCH ALGORITMŮ MOBILE ROBOT PATH PLANNING BY MEANS OF ANT ALGORITHMS

MODELOVÁNÍ OBNOVY KMENOVÝCH BUNĚK Jan Šilar, Jiří Kofránek, Tomáš Kulhánek, Katarina Forgáčová, Emanuel Nečas

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

2. Mechanika - kinematika

Příklady: 7., 8. Práce a energie

GRAFY A GRAFOVÉ ALGORITMY

Inovace výuky prostřednictvím šablon pro SŠ

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

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

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

A B = A A B P A B C = P A P B P C = =

Jiří Brus. (Verze ) (neupravená a neúplná)

2. RBF neuronové sítě

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

Konstrukce voltmetru a ampérmetru

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

NA LOUCE živo ichové- bezobratlí ela medonosná melák zemní

EVA VOLNÁ MARTIN KOTYRBA MICHAL JANOŠEK VÁCLAV KOCIAN

První partnerská soužití českých mužů a žen

Zajímavé pokusy s keramickými magnety

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Pivovar Chmelokvas. KIV/PT Semestrální práce

3. série 2015/2016. Termín odeslání 3. série:

Gymnázium Přírodní škola Mapa výjezdů Přírodní školy

Analyzátor, minimalizátor kombinačních logických obvodů

Laboratorní měření 1. Seznam použitých přístrojů. Popis měřicího přípravku

Zvyšování kvality výuky technických oborů

( ) ( ) ( ) Soustavy dvou lineárních rovnic o dvou neznámých II. Předpoklady: 2310

5 Rekurze a zásobník. Rekurzivní volání metody

+ ω y = 0 pohybová rovnice tlumených kmitů. r dr dt. B m. k m. Tlumené kmity

Petr Chvosta. vlevo, bude pravděpodobnost toho, že se tyč na počátku intervalu τ B nachází nad vpravo

PŘEVODOVÉ ÚSTROJÍ. přenáší výkon od motoru na hnací kola a podle potřeby mění otáčky s kroutícím momentem

MĚŘENÍ PORUCH PŘEDIZOLOVANÝCH POTRUBNÍCH SYSTÉMŮ POMOCÍ PŘENOSNÉHO REFLEKTOMETRU BDP

GENETICKÉ UČENÍ NEURONOVÝCH SÍTÍ GENETIC LEARNING OF NEURAL NETWORKS. Roman Biskup, Anna Čermáková

PŘEMĚNA ENERGIE KINETICKÉ NA ELEKTRICKOU

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Zajímavé aplikace teorie grafů

ISO 400 1/250 sekundy f/2,8 ohnisko 70 mm. 82 CANON EOS 550D: Od momentek k nádherným snímkům

SBÍRKA ZÁKONŮ. Ročník 2009 ČESKÁ REPUBLIKA. Částka 139 Rozeslána dne 11. prosince 2009 Cena Kč 44, O B S A H :

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

VLASTNÍ HODNOCENÍ ŠKOLY

Experimentální hodnocení kvality algoritmů

B.1 bis AKUTNÍ TOXICITA ORÁLNÍ METODA FIXNÍ DÁVKY. 1 METODA je v souladu s právem Evropských společenství 7a).

Č e s k ý m e t r o l o g i c k ý i n s t i t u t Okružní 31,

Biologicky inspirované výpočty: evoluční algoritmy

KVALITA DREVA ˇ OD ROKU důvodů pro zakoupení podlahy Kährs

Vyšší odborná škola a Střední průmyslová škola elektrotechnická Božetěchova 3, Olomouc Laboratoře elektrotechnických měření

Monitorování svazku elektronů a zvýšení jeho stability na mikrotronu MT 25

Rezervační systém TROJHŘIŠTĚ hriste.pist.cz

Některé zákony rozdělení pravděpodobnosti. 1. Binomické rozdělení

AD4M33AU Automatické uvažování

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN. Informatika, II. ročník

TÉMATICKÝ OKRUH TZD, DIS a TIS

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

Barevné formy zebřiček a jejich genetika - část II. příklady

ZÁKON ze dne 8. června 2011, kterým se mění zákon č. 262/2006 Sb., zákoník práce, ve znění pozdějších předpisů

A0M33EOA: Evoluční optimalizační algoritmy

ŘEŠENÍ PROBLÉMU LOKACE HUBŮ POMOCÍ GENETICKÉHO ALGORITMU SOLVING THE SINGLE ALLOCATION HUB LOCATION PROBLEM USING GENETIC ALGORITHM

6. Kde v DNA nalézáme rozdíly, zodpovědné za obrovskou diverzitu života?

Klíčová slova prediktory absolvování studia medicíny, logistická regrese, ROC křivky

Analytické programování v C#

POLYMERTEST Tř.T.Bati 299, Zlín

Ultrazvukový detektor úniku plynu GM. Jak rychle váš systém detekce plynu detekuje úniky? Protože každý život má smysl...

Úloha I.E... tři šedé vlasy dědy Aleše

Základy umělé inteligence

INSPEKČNÍ ZPRÁVA. Mateřská škola Pohádka, Praha 4, Imrychova 937. Imrychova 937, Praha 4 - Kamýk. Identifikátor školy:

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

Prof. Ing. Miloš Konečný, DrSc. Nedostatky ve výzkumu a vývoji. Klíčové problémy. Tyto nedostatky vznikají v následujících podmínkách:

UNIVERZITA KARLOVA V PRAZE 3. LÉKAŘSKÁ FAKULTA (tématické okruhy požadavků pro přijímací zkoušku)

Seminární práce k předmětu Didaktika matematiky. Téma práce: Aplikační matematické úlohy

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

Síla. Měření tažné síly robota. Tematický celek: Síla. Úkol:

13. Vlnová optika I. Interference a ohyb světla

Transkript:

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 a chování živočichů, se pohyb vyvinul evolucí. Počítačovou obdobou evoluce jsou genetické algoritmy. Pomocí nich se dá naleznout řešení velmi složitých problémů s mnoha stupni volnosti. Tato práce se zabývá vývojem specifického chování pro pevně zvolené tělo. Tělo se skládá z kvádříků a pohybuje se ve 3D prostoru. K naprogramování byl použit programovací jazyk Java spolu s knihovnou jme Physics 2 [http://wiki.jmephysics.irrisor.net/tiki-index.php]. Hypotézy Genetickými algoritmy se podaří vyvinout efektivní chování pro pohyb. Očekáváme chování, které se bude za daných podmínek snažit co nejlépe plnit danou hodnotící funkci (uražená vzdálenost viz dále). Pohyb, který se objeví bude podobný žijícím živočichům, protože ti se pohybují efektivně. 2D vs 3D Původním záměrem bylo simulovat 2D pohyb ve vodě podobné jako Springbots [2] nebo Genetic Robots [1]. Živočichové (lépe řečeno roboti) jsou v modelu jako grafy s proměnlivou délkou hran (rovnovážná délka pružiny). V případě pevných délek kostí použijeme graf typu strom (kostra), aby v grafu nevznikaly cykly, což by nebylo produktivní (zabraňuje volnému pohybu). Jako pohony by pak sloužily klouby (vrcholy grafu), které by měly proměnlivou hodnotu úhlu mezi dvěma hranami. Ukázalo se, že naprogramování simulátoru byť se jedná o jednoduchý fyzikální modelu pro 2D grafy je velmi netriviální problém. Vhodných knihoven, které se zabývají 2D fyzikou také není příliš mnoho. Fyzika kapalin (pro pohyb ve vodě) také nebývá běžným prostředkem, protože voda má zvláštní charakteristiky. Nakonec jsem se rozhodl pro knihovnu jme Physics 2, která má svá omezení, ale v relativně krátkém čase umožňuje velké pokroky. Umožňuje použití základních prostorových tvarů (koule, kvádr) a jejich spojení pomocí kloubů. Model Program modeluje vývoj pohybu pro pevně zvolené tělo. Zvolil jsem přijatelně jednoduchý tvar tak, aby byl schopen složitějšího pohybu, ale zároveň nebyl příliš složitý na koordinaci. Výsledná podoba připomíná housenku. Tělo se skládá ze čtyř kvádříků. Mezi nimi jsou dohromady tři klouby. Na jednom z konců je volně připojená hlava. Klouby jsou implementovány jako rotační síla působící v opačném směru na přilehlé části těla (na působišti síly nezáleží). O zbytek fyziky se postará použitá fyzikální knihovna. Na obrázku snímek aplikace. Roboti se snaží pohybovat doprava od počátku (zelený kříž).

Genetický algoritmus Pro fyzikální model bylo třeba vymyslet model chování, které by mělo vhodný rozsah možností. V úvahu připadaly neuronové sítě (ty jsou však náročné), fuzzy logika, cyklometrické funkce (různá fáze, amplituda) nebo obecné posloupnosti. Použil jsem poslední možnost. Genetická informace Předpokládám, že pokud se má tělo pohybovat neustále, pak se pohyb začne být po jisté době periodický. Zvolil jsem tedy posloupnost čísel pevné délky šest (může obsahovat i menší periody délky 1, 2 a 3; není ještě příliš složité). Každý kloub má svoji posloupnost. Hodnoty jsou v intervalu [-1; 1]. Znamenají v tomto okamžiku aplikuj na kloub sílu maximální*hodnota (znaménko odlišuje směr). Dohromady tedy charakterizuje jeden vzor chování 3*6=18 hodnot z intervalu [-1; 1]. Těchto 18 hodnot nám reprezentuje genetický kód. I kdybychom rozlišovali pouze mezi hodnotami {-1, 0, 1}, můžeme vytvořit 3 18 vzorů chování. Počítáme však s reálnými čísly. Fitness Pro genetický algoritmus je důležité stanovit hodnotící funkci. To znamená ohodnotit kvalitu každého jedince. V našem případě nám jde o to, jak rychle se jedinec pohybuje. Další hodnocení může být výška nebo délka skoku, elegance pohybu, strnulost v pozici nebo kvalita interakce s okolím (kopání do míče). Nemáme za cíl srovnávat bojové schopnosti proti sobě a obstání v konkurenci. Vzdálenost je

absolutní a neměnná charakteristika. Měříme, jak daleko bude v pevně stanoveném čase hlava jedince (mohli bychom zvolit i jinou část těla nebo jiné kritérium vzdálenosti). Stanovená doba měření je klíčová. Je-li příliš krátká, zvítězí nejspíše jedinci, kteří obětují všechno úsilí na jediný skok. Naopak příliš dlouhá doba je zbytečná a neodliší ty, kteří se náhodou zasekli, od pomalých. Protože měříme vždy stejný okamžik, můžou se vyvinout jedinci, kteří jsou právě v tomto okamžiku v maximu, ale jinak nevynikají. Vhodná doba se experimentálně pohybuje v rozmezí 3 7 cyklů chování. Na grafu je ohodnocení jedinců v průběhu času. Bílá místa oddělují generace. Je vidět rostoucí tendence, velikost různorodosti a taky role náhody. Generace Generace je soubor jedinců existujících současně. Na její velikosti závisí rychlost a kvalita výpočtu. Běžně používám počet 10ti jedinců. Méně je už pro genetický algoritmus opravdu málo a více jedinců je náročnější počítat najednou. Fyzikální knihovna pracuje v reálném čase, není tedy možné simulaci urychlit. Na druhé straně zvládá špatně mnoho jedinců a to vede k nepřesnostem. Je nemožné odsimulovat jedno chování dvakrát stejně, což je mrzuté. Na druhou stranu to vede ke vzniku náhody a klade na jedince větší nároky na robustnost chování jedinců. Křížení a mutace Po uběhnutí zvoleného času poslední generací, se přiřadí jedincům hodnocení podle vzdálenosti, kterou urazili. Na řadu přichází alchymie s nastavováním pravděpodobnosti přežití, rozmnožení a mutací. S malou pravděpodobností může jedinec zmutovat (změní se mu jedna z hodnot genu na náhodnou hodnotu). Nejlepší jedinci se náhodně zkříží (použije se prvních n hodnot prvního a zbylých 18-n hodnot genu druhého jedince). Kvalitnější jedinci mají větší šanci na rozmnožení, nekvalitní mají větší

šanci na vyhynutí. Výsledky Model je citlivý na chaos (vzorkování fyzikálního chování může pro jedno chování dávat jiné hodnocení). Simulovat 2D pohyb ve 3D způsobuje komplikace (vyvrácení jedince do strany a dále se nemůže pohybovat). Z náhodného chování často vznikne pomocí GA v krátké době poměrně efektivní chování. Bohužel se zatím nepodařilo nastavit GA tak, aby konvergoval aspoň do lokálního optima, takže výsledkem není populace dokonalých jedinců. Algoritmu se však daří najít nějaký velmi dobrý optimální běh. Na totální maximum se často dostane během prvních desítek generací. Vzory chování připomínají chování existujících živočichů (postupná vlna stonožka, odrážení a skákání, valení těla přes sebe). Na druhou stranu se vyskytují také chaotické a trhané. Přirozené pohyby jsou úspěšnější. Závěr I přes nepřesnosti modelu (je to model) se podařilo vytvořit širokou škálu efektivních vzorů chování. I pro člověka by byl nelehký úkol vytvořit je za daných podmínek ručně. Genetické algoritmy jsou pro danou tématiku velmi vhodným nástrojem. Svědčí o tom také spousta videí na internetu. Model je závislý na reprezentaci fyzikálních podmínek a na nastavení parametrů GA. Pro základní pochopení principů je tento model vhodný, pro další výzkum bych volil raději ověřené nástroje. Literatura [1] Genetic Robots http://www.teamten.com/lawrence/projects/genetic_robots/ [2] Springbots http://www.youtube.com/watch?v=u4vjp5q3jlo&feature=related [3] Self aware robot http://www.ted.com/index.php/talks/hod_lipson_builds_self_aware_robots.html [4] Přednášky IV109 Modelování a simulace jaro 09