this dir | view | cards | source | edit | dark
top
Přednáška
- cvičení
- jeden domácí úkol → 10 bodů
- dva online kvízy s neomezeným časem (budou na ně dva týdny) → 10 bodů
- na konci zápočtový projekt – navrhnout řízení pro virtuálního robota (ale mohl by být i hardwarový, akorát tam se nedá dělat evoluce) → 15 bodů
- závěrečná zkouška (60 %)
- čtyři otázky, písemná odpověď, společně to projdeme
- historie
- automatizace už ve starověkém Řecku
- da Vinci: mechanický rytíř
- Descartes
- biskup Albertus Magnus
- mechanická kachna
- R.U.R.
- robot pro světovou výstavu v New Yorku, 1939
- manipulátory
- Shakey
- Khepera – dá se použít i k hardwarové evoluci
- e-Puck – varianta Khepery
- simulátory
- soutěže
- Robocup – cílem je v roce 2050 sestavit robotické mužstvo, které porazí mistry světa ve fotbale
- Istrobot
- Eurobot
- návrh robota
- hardware – mechatronika (mechanika a elektronika)
- řídicí software
- evoluční robotika
- chceme, aby robot řešil úlohu
- dochází k tomu pomocí selektivní reprodukce (na základě interakce s prostředím)
- používají se neuronové sítě, přírodou inspirovaný design, …
- jak vypadá evoluční vývoj
- máme robota, ten se pohybuje v nějakém světě
- definujeme úlohu, např. má hledat nějaký objekt v tom světě
- jeho řízení zakódujeme do chromozomů – jeden chromozom kóduje celý řídicí systém
- tak jsme dostali nultou generaci
- vyzkoušíme každý chromozom, ohodnotíme je fitness funkcí (podle toho, jakých dosahovali výsledků)
- přechod k další generaci
- selekce (vybereme ty nejlepší)
- reprodukce (např. křížení)
- mutace
- učení vs. evoluce
- učení je během života robota
- evoluce je mezi generacemi
- behavior-based robotics (robotika založená na chování)
- robot má sadu několika základních chování, ta mezi sebou interagují
- příklady chování: plním konkrétní úkol, hledám potravu, …
- dochází mi energie → musím hledat potravu (na úkor plnění úkolu)
- chování spolu můžou soutěžit
- kompetitivní koordinace – jeho řízení vítězí → subsumption method
- kooperativní koordinace – jednotlivá řízení přispívají k celkovému výsledku
- vnímání je těsně navázané na akce
- hierarchie chování
- robotické učení
- řídicí systém se učí pomocí neúplných dat a generalizuje
- typicky se učí zobrazení, které mapuje vstupy senzorů na výstupy motorů
- umělý život
- simulace světa, kde se pohybuje více organismů
- cílem je vyvinout systém, který se dokáže přizpůsobit změnám prostředí
- k čemu by to mohlo být dobré
- evoluce by nám mohla pomoct navrhnout řízení i morfologii robota, aby mohl řešit úlohu
- můžeme se inspirovat přírodou a naopak – možná nějaké takové mechanismy zpětně objevíme v přírodě
- přístupy k návrhu
- klasický – perception, planning, execution
- behavior-based – rozdělení do jednotlivých základních chování
- ale může se stát, že základní chování bude složitější než původní chování
- evoluční – necháme to na evoluci
- chceme najít předmět v bludišti a zůstat tam
- je snadné určit jednotlivé úlohy, které robot musí plnit, ale je těžké je zkombinovat
- evoluční robotika tohle řeší
- biologie
- přirozená evoluce – jak je možné, že se vyvinula taková spousta úspěšných forem života?
- chceme vytvořit podobně úspěšnou umělou evoluci
- v přírodě funguje jedno kritérium – přežití druhu
- bootstrap problém (problém inicializace)
- když náhodně vygenerujeme řídicí systémy, neřeší problém → skóre 0
- evoluce se nemá čeho chytit
- možná řešení
- inkrementální evoluce
- začneme s jednodušší úlohou, postupně přidáváme obtížnost, až se dostaneme k reálné úloze
- je jednodušší upravovat výběrové kritérium (fitness funkci) než navrhovat přímo řízení
- koevoluce
- např. dravec a kořist
- dravec se snaží ulovit kořist, kořist se snaží utéct před dravcem
- vlastně závody ve zbrojení
- neměníme kritérium, ale stejně dochází k postupnému zlepšování
- celoživotní učení
- jedinec umí využívat senzorické vjemy, učí se, adaptuje svoje řízení
- příklad: dvě neuronové sítě v robotovi, jedna předpovídá výsledky té druhé (?)
- jak dobře se organismus může vyvíjet? (přizpůsobovat změnám prostředí)
- genotyp – množina dědičných charakteristik
- fenotyp – konkrétní realizace genotypu ve formě chování
- na základě konkrétního prostředí
- tzn. prostředí ovlivňuje vývoj konkrétních znaků (tedy jak se genotyp zobrazí na fenotyp)
- v evoluční robotice je problém zobrazení z genotypu na fenotyp problémem reprezentace
- v přirozené evoluci se to zobrazení evolučně vyvíjí, v umělé evoluci to obvykle zadává autor experimentu
- využití
- nemusíme navrhovat každý detail, něco za nás řeší evoluce
- může spolu interagovat biologie a robotika
- evoluční biorobotika
- biorobotika – stavění modelů, které se podobají živým organismům (např. mečoun)
- pomocí evoluční robotiky se robot naučí řízení
- vývojová robotika
- jak se mládě vyvíjí v dospělce?
- mohl by se podobně vyvíjet robot?
- proces dospívání
- snažíme se vyvinout robota, který je schopný se doučit, dorůst
- evolučně-vývojová robotika (evo-devo-robot)
- zkušení jedinci můžou ovlivňovat méně zkušené
- v přírodě: postupná evoluce pohybu po souši – plazení, běh, létání
- robotické organismy z krychlí s klouby
- rojová robotika
- koordinace robotů ve skupině
- malé robotické moduly, které se dovedou poskládat dohromady
- měkká robotika
- zvednutí vajíčka pomocí (pod)tlaku vzduchu
Evoluční algoritmy
- genetické algoritmy
- populace umělých chromozomů se cyklicky podrobuje selektivní reprodukci, která upřednostňuje výkonnější jedince, a náhodným změnám
- umělý chromozom (genotyp) = řetězec symbolů kódující vlastnosti jedince (fenotyp)
- může to být binární hodnota proměnné nebo posloupnost hodnot proměnných
- mnoho typů kódování (binární, Grayův kód, reálné hodnoty)
- Grayův kód – dvě čísla v posloupnosti se liší o jeden bit
- je jednoduché ho sestavit (opíšu v opačném pořadí, doplním o nuly a jedničky)
- příklady: 1, 0; 10, 00, 01, 11
- abecedy – např. binární, ternární, …
- fitness funkce – kritérium výkonosti (zobrazení: genotyp → reálné číslo)
- obecný algoritmus
- vytvoř populaci N náhodně vygenerovaných chromozomů
- opakuj: 1) dekóduj všechny chromozomy a spočítej jejich fitness, 2) vytvoř novou populaci
- skončí, když se objeví hledaný jedinec (který plní úlohu) nebo když to trvá dlouho…
- Hillclimber – gradientní algoritmus
- N=1
- novou populaci tvoříme tak, že zmutujeme chromozom a nahradíme jim ten původní, pokud má lepší fitness
- nemůže nastat zhoršení
- μ … pravděpodobnost mutace
- pk(μ) … pravděpodobnost, že se počet jedniček zvýší z k na k+1
- najde jenom lokální maximum
- možná řešení
- začít z různých pozic
- dovolit zhoršení fitness (simulované žíhání)
- simulované žíhání
- velikost kroku i směr závisí na teplotě, která se postupně snižuje
- pravděpodobnost přijetí zhoršení fitness (= teplota) se s časem zmenšuje
- na začátku jsou kroky téměř náhodné
- po ochlazení v podstatě deterministické
- jednoduchý genetický algoritmus (Goldberg)
- víc než 1 chromozom v populaci
- selektivní reprodukce, křížení, mutace
- jednoduchá selekce
- čím lepší jedinec, tím více jeho kopií se může objevit v nové populace
- reprodukce ruletou
- každý jedinec dostane výseč kruhu úměrnou své fitness funkci (musí být nezáporná)
- problémy
- všichni mají podobnou fitness → náhodné prohledávání (nic moc se neděje)
- jeden jedinec (nebo dva) má obrovskou fitness → téměř všichni v populaci budou kopií toho stejného jedince
- řešení
- škálování – zvětšení nebo zmenšení rozdílů
- selekce podle pořadí (rank based) – nezáleží na konkrétní hodnotě fitness
- rank based s ořezáváním – nejlepších M zkopírujeme O-krát, aby N=M×O
- turnajová selekce – náhodně se vyberou dva jedinci, ten lepší jedinec s určitou pravděpodobností vyhraje a bude zkopírován (jinak ten druhý)
- elitismus – nejlepší jedinci se beze změny zkopírujou (abychom nepřišli o dosud nejlepší řešení)
- křížení
- jedinci jsou náhodně spárováni a každý pár je s danou pravděpodobností zkřížen
- jednobodové nebo vícebodové křížení
- mutace
- abychom měli možnost prohledat celý prostor
- aby nám algoritmus nekonvergoval příliš brzo
- s určitou pravděpodobností flipneme bit
- nedeterminismus
- GA je nedeterministický, používá náhodné veličiny
- typicky se sleduje průměrná a maximální fitness, aby se GA mohl ve vhodnou chvíli zastavit
- GA se pouští opakovaně se stejnými nebo pozměněnými parametry
- fitness krajina (fitness landscape)
- tvar fitness funkce – v mnohadimenzionálním prostoru
- chceme, aby se fitness postupně zvětšovala
- schémata
- schéma – oproti chromozomu má jeho abecedu jeden prvek navíc (typicky hvězdičku)
- je to jakoby maska popisující víc chromozomů
- schéma s r hvězdičkami reprezentuje kr řetězců (r je velikost původní abecedy)
- každý řetězec délky m je reprezentovaný 2m schématy
- řád schématu – …
- kolik jedinců určených daným schématem bude v dané populaci?
- jak schéma ovlivní selekce?
- jak schéma ovlivní křížení?
- když křížím jedince ze stejného schématu, tak jsou pokrytí i potomci
- když je jeden rodič mimo schéma, tak potomek může být mimo schéma
- ale záleží, kde se kříží (viz hvězdičkový prefix/suffix)
- co mutace?
- musí se změnit jeden z pevných symbolů schématu
- věta o schématech
- krátká nadprůměrná schémata s nízkým řádem pokrývají exponenciálně rostoucí počet řetězců v po sobě jdoucích generacích genetického algoritmu
- pozor, máme omezenou velikost populace
- hypotéza o stavebních blocích
- genetický algoritmus hledá řešení blízké optimu řetězením krátkých schémat
- evoluce nefunguje dobře, když se optimum nedá poskládat z krátkých bloků
- jsou GA dobrou simulací biologické evoluce?
- evoluce nekončí a nezačíná vždy od nuly (bootstrapping)
- SAGA – proměnlivá délka genotypu; značně zkonvergovaná populace se mění postupnými mutacemi, ne křížením
- neutrální sítě
- další variace GA spojené s dospíváním a učením
- co se nemění – genetická reprezentace jedince, interakce s prostředím
- vylepšení GA
- dělení na druhy
- definuje se vzdálenost – míra podobnosti jedinců
- křížení jenom v rámci druhu
- ochrana nových druhů – jedinec má čas, aby se zdokonalil
- proměnlivá velikost populace
- optimální velikost populace se těžko určuje
- stárnutí – jedinec je po určitém počtu generací vyřazen
- těžko se nastavují parametry