24.07.2013 Views

Umelá inteligencia v humanoidných systémoch

Umelá inteligencia v humanoidných systémoch

Umelá inteligencia v humanoidných systémoch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TECHNICKÁ UNIVERZITA V KOŠICIACH<br />

FAKULTA ELEKTROTECHNIKY A INFORMATIKY<br />

KATEDRA KYBERNETIKY A UMELEJ INTELIGENCIE<br />

<strong>Umelá</strong> <strong>inteligencia</strong> v <strong>humanoidných</strong> <strong>systémoch</strong><br />

MÁRIA VIRČÍKOVÁ<br />

Diplomová práca<br />

2010


TECHNICKÁ UNIVERZITA V KOŠICIACH<br />

FAKULTA ELEKTROTECHNIKY A INFORMATIKY<br />

Katedra kybernetiky a umelej inteligencie<br />

Centrum pre inteligentné technológie<br />

<strong>Umelá</strong> <strong>inteligencia</strong> v <strong>humanoidných</strong> <strong>systémoch</strong><br />

Vedúci diplomovej práce:<br />

DIPLOMOVÁ PRÁCA<br />

Mária Virčíková<br />

Košice 2010<br />

Prof. Ing. Peter Sinčák, PhD.


Analytický list<br />

Autor: Mária Virčíková<br />

Názov práce:<br />

Jazyk práce: slovenský<br />

Typ práce: Diplomová práca<br />

Počet strán: 90<br />

Akademický titul: Inžinier<br />

<strong>Umelá</strong> <strong>inteligencia</strong> v <strong>humanoidných</strong> <strong>systémoch</strong><br />

Univerzita: Technická univerzita v Košiciach<br />

Fakulta: Fakulta elektrotechniky a informatiky (FEI)<br />

Katedra: Katedra kybernetiky a umelej inteligencie (KKUI)<br />

Študijný odbor: <strong>Umelá</strong> <strong>inteligencia</strong><br />

Študijný program: <strong>Umelá</strong> <strong>inteligencia</strong><br />

Mesto: Košice<br />

Vedúci DP: Prof. Ing. Peter Sinčák, PhD.<br />

Konzultant DP: Prof. Ing. Peter Sinčák, PhD.<br />

Dátum odovzdania: 7. mája 2010<br />

Dátum obhajoby: 24. mája 2010<br />

Kľúčové slová: Interakcia človek– robot, Inteligentné systémy, Humanoidná<br />

robotika, Robotický tanec, Interaktívna evolúcia, Evolučné al-<br />

goritmy, Genetické algoritmy, Spoločenská robotika<br />

Kategória; Konspekt: Výpočtová technika; <strong>Umelá</strong> <strong>inteligencia</strong><br />

Citovanie práce: Virčíková, Mária: <strong>Umelá</strong> <strong>inteligencia</strong> v <strong>humanoidných</strong> systé-<br />

moch. Diplomová práca. Košice: Technická univerzita v Koši-<br />

ciach, Fakulta elektrotechniky a informatiky, 2010, 90s.<br />

Názov práce v AJ:<br />

Artificial Intelligence in Humanoid Systems<br />

Kľúčové slová v AJ: Human– robot interaction, Intelligent systems, Humanoid ro-<br />

botics, Robotic dance, Interactive evolution, Evolutionary al-<br />

gorithms, Genetic algorithms, Social robotics


Abstrakt<br />

Diplomová práca sa zaoberá použitím prostriedkov umelej inteligencie v huma-<br />

noidnej robotike a konkrétne sa zameriava na spoločenskú robotiku a využitie interak-<br />

tívnej evolúcie pre systém robotického tanca. V práci sú opísané základy a hlavné vlast-<br />

nosti interaktívnych evolučných algoritmov nasledované prehľadom ich výskumu a ap-<br />

likácií. Táto technika optimalizuje systém na základe subjektívneho hodnotenia použí-<br />

vateľom. Algoritmus je aplikovaný na systém návrhu robotického tanca, kde evolučný<br />

algoritmus pomáha užívateľovi v procese tvorenia choreografie tanca robotov. Systém<br />

bol implementovaný v jazyku Python a v simulačnom prostredí Webots. Experimenty<br />

s niekoľkými ľudskými hodnotiteľmi dokázali, že prístup s použitím interaktívneho ge-<br />

netického algoritmu na navrhovanie choreografie robotického tanca je sľubný.<br />

Abstract<br />

This thesis deals with a usage of artificial intelligent techniques in humanoid ro-<br />

botics. The focus is on social robotics and how to use the interactive evolution for robo-<br />

tic dance system. In this diploma thesis the definition, principles and basic features of In-<br />

teractive Evolutionary Computation are described and followed by an overview of their<br />

research and applications. This technique optimizes systems based on subjective human<br />

evaluation. The algorithm is applied to a system of the design of robotic dance, in which<br />

the evolutionary algorithm helps user to create choreography of the robotic dance. The<br />

system was implemented in language Python and simulation environment Webots. The<br />

experiments with several human subjects show that the interactive genetic algorithm ap-<br />

proach to robotic dance choreography design aid system is promising.


Čestné vyhlásenie<br />

Diplomovú prácu som vypracovala samostatne s použitím uvedených referencií.<br />

V Košiciach, 6. mája 2010 .........................................<br />

Podpis


Poďakovanie<br />

Ďakujem mamke a profesorovi Sinčákovi za všetko, čo pre mňa urobili.


FEI KKUI<br />

Život je pomerne jednoduchý:<br />

Robíte nejaké veci.<br />

Väčšina z nich zlyhá.<br />

Niektoré fungujú.<br />

Urobíte viac toho, čo funguje.<br />

Ak to funguje veľmi dobre, ostatní to rýchlo odkopírujú.<br />

Potom urobíte niečo iné.<br />

Trik je robiť niečo iné.<br />

Leonardo da Vinci


FEI KKUI<br />

Predhovor<br />

Toto je vek strojov, vo všetkých zjavných aj skrytých významoch tohto slova.<br />

Thomas Caryle, 1795 – 1881, škótsky filozof a historik<br />

Jorge Luis Borges 1 píše v poviedke Babylonská knižnica o Knižnici, ktorá pozostáva<br />

z neurčitého a nekonečného počtu kníh – zahŕňa knihy, ktoré kedy boli napísané a kni-<br />

hy, ktoré niekedy napísané budú. Ak má nejaká kniha jestvovať, stačí pripustiť možnosť<br />

jej jestvovania. Väčšina kníh obsahuje nezmysly a rozumné súvislosti sú takmer zázrač-<br />

né výnimky, no nachádzajú sa medzi nimi aj knihy, ktoré obsahujú všetku znalosť ves-<br />

míru.<br />

Borgesova Babylonská knižnica je hypotetická, abstraktná konštrukcia všetkých<br />

možných permutácií slov. Dnes sa model jeho Knižnice pomocou počítačov a vedy stá-<br />

va dosiahnuteľným, keďže je možné napísať podobný program (samozrejme nemáme<br />

dostatočne veľké miesto na jeho uloženie), no Knižnica je dynamicky tvorená, keď uží-<br />

vateľ skúma jej potenciálne výsledky. Cestovateľ v takejto Knižnici zisťuje (ako Borges<br />

predpokladal), že nájsť jeho vysnívané riešenie je veľmi náročné, keďže väčšina „kníh“<br />

je len nezrozumiteľný zhluk písmen.<br />

Ako by sa dalo uľahčiť cestovateľovi nájsť „majstrovský kus “ v nekonečnom<br />

priestore možností? Keby sme ohraničili Knižnicu do takej miery, aby stále poskytovala<br />

dostatok možností výberu, potom by stačilo len mať nástroj, ktorý by prehľadával prie-<br />

stor efektívne a takým spôsobom by sme našli niečo inšpirujúce.<br />

Jedným z nástrojov by mohol byť práve evolučný algoritmus, ktorý prehľadáva<br />

priestor možných riešení. Patrí do triedy slabých algoritmov, ktoré nekladú veľké po-<br />

žiadavky a dokážu riešiť široké spektrum úloh.<br />

Evolučné algoritmy sú inšpirované biologickou teóriou evolúcie, podľa ktorej bo-<br />

hatosť druhov vznikla ich postupným rozdeľovaním na viacero nových v priebehu času<br />

z generácie na generáciu. Jej základy položili Jean–Baptiste Lamarck (1744– 1829) a<br />

Charles Darwin (1809– 1882).<br />

1 Jorge Luis Borges, poviedka Babylonská knižnica: Záhrada s chodníkmi, ktoré nás rozvetvujú, 1941


FEI KKUI<br />

Obaja zastávali názor, že organizmy sa menia postupne v priebehu času, prispôso-<br />

bujúc sa ich prostrediu a vyvinuli sa z jednoduchších organizmov.<br />

Lamarck uviedol teóriu dedičnosti získaných vlastností, ktorú prvýkrát predstavil v<br />

roku 1801: Ak sa organizmus mení v priebehu života s cieľom prispôsobiť sa jeho pro-<br />

strediu, potom sú tieto zmeny prenesené na jeho potomkov. Inak povedané, vlastnosti<br />

fenotypu získané adaptáciou sú prenosné dedičnosťou na potomkov. Časti tela, ktoré nie<br />

sú využívané, postupne miznú. Lamarck tiež veril, že vývoj sa uskutočňuje podľa vo-<br />

pred stanoveného plánu, o výsledkoch ktorého už bolo rozhodnuté.<br />

Naopak, Darwinova teória hovorí, že zmeny v organizme v priebehu jeho života<br />

nemajú vplyv na vývoj druhov. Organizmy, aj keď sú rovnakého druhu, sú všetky rôzne<br />

a tie, ktoré sa odlišujú v odchýlkach, ktoré im pomáhajú prežiť v ich prostredí, majú<br />

sklon mať viac potomkov. Potomkovia sa rodia s užitočnými črtami, ktoré zdedili<br />

a postupne, ako sa rozmnožujú, jedinci s týmto zvláštnosťami tvoria väčšinu a ostatní<br />

jedinci, ktorí nie sú tak dobre prispôsobení, vymierajú. Darwin tiež veril, že evolúcia<br />

neprebieha v závislosti od nejakého plánu.<br />

Evolučný proces je teda proces adaptácie, v rámci ktorého sa maximalizuje sila or-<br />

ganizmu konvergujúc podľa hesla „najsilnejší prežíva“.<br />

Za otca konceptu evolučných výpočtov sa považuje Holland 2 , ktorý genetické al-<br />

goritmy (bližšie popísané v kapitole 3.) charakterizoval ako:<br />

„Počítačové programy, ktoré sa vyvíjajú (angl. evolve) spôsobmi, podobnými vý-<br />

beru v prírode, poskytujúc riešenia zložitých problémov aj vtedy, keď im ich tvorcovia<br />

dokonale nerozumejú.“<br />

Avšak Turing 3 , už takmer tridsať rokov pred Hollandom uvažuje:<br />

„Existuje genetické alebo evolučné prehľadávanie, v ktorom sa hľadá kombinácia<br />

génov, kde kritériom je hodnota prežitia.“<br />

Turing nešpecifikoval ako viesť toto „genetické alebo evolučné prehľadávanie“ na<br />

riešenie problémov a hlavne nespomenul koncept populácie alebo rekombinácie, ale<br />

o dva roky neskôr uvádza 4 :<br />

2 John Holland v roku 1975 vydal knihu „Adaption in Natural and Artificial Systems“<br />

3 Alan Turing v roku 1948 v knihe „Intelligent Machinery“<br />

4 v roku 1950 v článku „Computing Machinery and Intelligence“


FEI KKUI<br />

„Nemôžeme očakávať, že nájdeme dobrého potomka na prvý pokus.“ 5<br />

Interaktívne evolučné výpočty takýmto spôsobom, inšpirujúc sa evolúciou<br />

v prírode, prehľadávajú priestor možných riešení a používateľ rozhoduje o vývoji<br />

„knižníc“ podobných Borgesovej, ktoré majú podobu obrázkov, hudobných kompozícií,<br />

architektonických a dizajnérskych produktov.<br />

Mojou ambíciou je použiť nadobudnuté teoretické poznatky o evolučných algo-<br />

ritmoch v aplikácii robotického tanca, kde človek vstupuje do procesu tvorby choreo-<br />

grafie tanca a na základe jeho vlastného vkusu a preferencií vzniká nový tanec.<br />

5 Turing takisto načrtol prepojenie medzi procesom hľadania lepšieho riešenia (hovoriac o strojoch)<br />

a evolúciou pomocou identifikátorov ako dedičný materiál (štruktúra potomka), mutácie (zmeny potom-<br />

ka), prirodzená selekcia (posúdenie experimentátora).


FEI KKUI<br />

Obsah<br />

Zoznam obrázkov ......................................................................................................... 13<br />

Zoznam tabuliek ........................................................................................................... 15<br />

Zoznam symbolov a skratiek ....................................................................................... 16<br />

Úvod ............................................................................................................................... 17<br />

1 Formulácia úlohy .................................................................................................. 20<br />

1.1 Ciele diplomovej práce ................................................................................... 20<br />

1.2 Štruktúra diplomovej práce ............................................................................ 20<br />

2 Úvod do humanoidnej robotiky ........................................................................... 22<br />

2.1 Výskum humanoidnej robotiky ........................................................................ 22<br />

2.2 Použitie prostriedkov umelej inteligencie v <strong>humanoidných</strong> <strong>systémoch</strong> .......... 27<br />

2.2.1 Fuzzy logika v <strong>humanoidných</strong> <strong>systémoch</strong> .................................................. 30<br />

2.2.2 Neurónové siete v <strong>humanoidných</strong> <strong>systémoch</strong> ............................................ 31<br />

2.2.3 Evolučné prístupy v <strong>humanoidných</strong> <strong>systémoch</strong> .......................................... 32<br />

2.3 Tanec v humanoidnej robotike ....................................................................... 33<br />

3 Úvod do evolučných výpočtov so zameraním na interaktívnu evolúciu .......... 37<br />

3.1 Základné teoretické východiská evolučných výpočtov .................................... 37<br />

3.2 Interaktívna evolúcia ...................................................................................... 41<br />

3.3 Problematika interaktívnych evolučných výpočtov ......................................... 44<br />

4 Návrh systému pre robotický tanec pomocou interaktívnej evolúcie .............. 46<br />

4.1 Motivácia ........................................................................................................ 46<br />

4.2 Navrhované riešenie ....................................................................................... 46<br />

4.3 Humanoidný robot Nao a simulácia jeho tanca v prostredí Webots .............. 50<br />

4.4 Implementácia genetického algoritmu ............................................................ 57<br />

4.4.1 Chromozóm ................................................................................................ 59


FEI KKUI<br />

4.4.2 Meranie vhodnosti ...................................................................................... 60<br />

4.4.3 Selekcia ....................................................................................................... 61<br />

4.4.4 Genetické operátory .................................................................................... 61<br />

5 Realizácia demonštračných experimentov na vyvíjanom systéme ................... 63<br />

5.1 Návrh experimentov ........................................................................................ 63<br />

5.2 Experimentálne výsledky generovania robotického tanca .............................. 65<br />

5.2.1 Časti fenotypu ............................................................................................. 65<br />

5.2.2 Hodnotenie subjektu č. 1 a evolúcia fenotypov .......................................... 66<br />

5.2.3 Hodnotenie subjektu č. 2 a evolúcia fenotypov .......................................... 71<br />

5.3 Analýza dosiahnutých výsledkov ..................................................................... 75<br />

Výsledný tanec č. 1 ........................................................................................................ 76<br />

Výsledný tanec č. 2 ........................................................................................................ 79<br />

6 Zhodnotenie a záver .............................................................................................. 83<br />

6.1 Splnenie téz diplomovej práce ........................................................................ 83<br />

6.2 Práca do budúcna ........................................................................................... 84<br />

Epilóg ............................................................................................................................. 86<br />

Zoznam použitej literatúry .......................................................................................... 88<br />

Prílohy ............................................................................................................................ 90


FEI KKUI<br />

Zoznam obrázkov<br />

Obr. 1 Evolúcia výskumu v robotike za posledných päťdesiat rokov podľa [5] ........................................ 24<br />

Obr. 2 Najväčšie projekty androidných robotov na svete podľa http://www.androidworld.com............... 28<br />

Obr. 3 Tancujúci robot : učenie pozorovaním od užívateľa ....................................................................... 34<br />

(LFO: learning from observation) podľa [12] ........................................................................................... 34<br />

Obr. 4 Tancujúci Robot Mahru z Južnej Kóreii [14] ................................................................................. 35<br />

Obr. 5 Vývojové prostredie robota SDR– 4X vyvinuté autormi uvádzanými v [2] .................................. 35<br />

Obr. 6 Robot ako tancujúci partner vyvinutý na Tohoku University [14] ................................................. 36<br />

Obr. 7 Reprodukcia dvoch chromozómov a následná mutácia ich potomka [4] ........................................ 38<br />

Obr. 8 Príklad reprezentácie GP funkcie +(– (0,5),/(PI,*(a,b))) ............................................................... 40<br />

Obr. 9 Proces GA a IGA [13] .................................................................................................................... 42<br />

Obr. 10 Schéma navrhovaného riešenia ..................................................................................................... 47<br />

Obr. 11 GUI, na ktorom užívateľ ohodnotí na základe vlastných preferencií predvedený tanec robotov na<br />

stupnici od 1 (najlepší tanec) do 5 (tanec sa v ďaľšom kroku nebude vôbec brať do úvahy ) ................... 48<br />

Obr. 12 Navrhnutý systém: evolučný algoritmus vygeneruje súbor s fenotypmi obsahujúci informáciu<br />

o nastavení jednotlivých kĺbov robotov, ktorý načíta simulátor a vykoná pohyb ...................................... 50<br />

Obr. 13 Robot Nao: reálna podoba ............................................................................................................ 51<br />

Obr. 14 Vývojové prostredie simulátora Choreographe ............................................................................ 53<br />

Obr. 15 Vývojové prostredie simulátora Webots ....................................................................................... 53<br />

Obr. 16 Kroky práce so simulátorom Webots: model, program, simulácia a transfer na reálne roboty<br />

(www.cyberbotics.com/products/webots/) ................................................................................................. 54<br />

Obr. 17 Zhotovené prostredie vo Webotsi na simuláciu evolúcie robotického tanca siedmich robotov,<br />

ktorí sú odlíšení farbou .............................................................................................................................. 54<br />

Obr. 18 Kinematika robota Nao: 25 stupňov voľnosti [6] ......................................................................... 55<br />

13


FEI KKUI<br />

Obr. 19 Kinematika robota Nao znázornená na jeho „kostre“ [6] ............................................................. 55<br />

Obr. 20 Genetický algoritmus systému, ktorý bol realizovaný v jazyku v Python: schéma jednotlivých<br />

časti algoritmu ........................................................................................................................................... 58<br />

Obr. 21 Kódovanie chromozómu ............................................................................................................... 60<br />

Obr. 22 Prostredie navrhovaného systému, v ktorom používateľ priradzuje fitness jednotlivým tancom<br />

robotov ....................................................................................................................................................... 60<br />

Obr. 23 Dva kroky vo všeobecnej schéme selekcie ................................................................................... 61<br />

Obr. 24 Schéma uniformného kríženia ...................................................................................................... 62<br />

Obr. 25 Inicializačná poloha robotov ......................................................................................................... 64<br />

Obr. 26 Po dokončení simulácie tanca sa po každom kroku evolúcie v konzolovom okne vypíše, že<br />

jednotlivé roboty ukončili pohyb ............................................................................................................... 65<br />

Obr. 27 Bity fenotypu, ktoré predstavujú nastavenie daných kĺbov robota v stupňoch ............................. 66<br />

14


FEI KKUI<br />

Zoznam tabuliek<br />

Tabuľka č. 1 Vlastnosti robota Naa: Všeobecné vlastnosti robota, stupne voľnosti, obsahujúce<br />

multimédiá a podporované programovacie jazyky (www.aldebaran-robotics.com) .................................. 51<br />

Tabuľka č. 2 Technické parametre robota Naa: kĺby a ich rozpätie v stupňoch ........................................ 56<br />

Tabuľka č. 3.: Nultá generácia hodnotiteľa č. 1. ........................................................................................ 66<br />

Tabuľka č. 4.: Prvá generácia hodnotiteľa č. 1. ......................................................................................... 67<br />

Tabuľka č. 5.: Druhá generácia hodnotiteľa č. 1. ....................................................................................... 67<br />

Tabuľka č. 6.: Tretia generácia hodnotiteľa č. 1. ....................................................................................... 68<br />

Tabuľka č. 7.: Štvrtá generácia hodnotiteľa č. 1. ....................................................................................... 68<br />

Tabuľka č. 8.: Piata generácia hodnotiteľa č. 1. ......................................................................................... 69<br />

Tabuľka č. 9.: Šiesta generácia hodnotiteľa č. 1. ....................................................................................... 69<br />

Tabuľka č. 10.: Siedma generácia hodnotiteľa č. 1. ................................................................................... 70<br />

Tabuľka č. 11.: Ôsma generácia hodnotiteľa č. 1. ..................................................................................... 70<br />

Tabuľka č. 12.: Nultá generácia hodnotiteľa č. 2. ...................................................................................... 71<br />

Tabuľka č. 13.: Prvá generácia hodnotiteľa č. 2. ....................................................................................... 71<br />

Tabuľka č. 14.: Druhá generácia hodnotiteľa č. 2. ..................................................................................... 72<br />

Tabuľka č. 15.: Tretia generácia hodnotiteľa č. 2. ..................................................................................... 72<br />

Tabuľka č. 16.: Štvrtá generácia hodnotiteľa č. 2. ..................................................................................... 73<br />

Tabuľka č. 17.: Piata generácia hodnotiteľa č. 2. ....................................................................................... 73<br />

Tabuľka č. 18.: Šiesta generácia hodnotiteľa č. 2. ..................................................................................... 74<br />

Tabuľka č. 19.: Siedma generácia hodnotiteľa č. 2. ................................................................................... 74<br />

Tabuľka č. 20.: Ôsma generácia hodnotiteľa č. 2. ..................................................................................... 75<br />

15


FEI KKUI<br />

Zoznam symbolov a skratiek<br />

DOF Degree of Freedom – stupeň voľnosti<br />

EC, EV Evolutionary Computation – evolučné výpočty<br />

ED Evolutionary Design – evolučný dizajn<br />

FL Fuzzy Logika<br />

GA Genetic Algorithms – genetické algoritmy<br />

GP Genetic Programming – genetické programovanie<br />

GUI Graphical User Interface – grafické používateľské rozhranie<br />

HR Humanoid Robotics – humanoidná robotika<br />

HRI Human–Robot Interaction – interakcia medzi človekom a robotom<br />

IE Interactive Evolution – interaktívna evolúcia<br />

IEC, IEV Interactive Evolutionary Computation – interaktívne evolučné výpočty<br />

IGA Interactive Genetic Algorithms – interaktívne genetické algoritmy<br />

NN Neural Network – neurónová sieť<br />

UI <strong>Umelá</strong> Inteligencia<br />

16


FEI KKUI<br />

Úvod<br />

17<br />

Ak by človek vznikol náhodou,<br />

život by nemal žiaden zmysel alebo význam.<br />

Morris, Henry M., 1918 – 2006, americký kreacionista<br />

<strong>Umelá</strong> <strong>inteligencia</strong> tvorí výpočtové systémy inšpirované rozličnými aspektmi života.<br />

Evolučné výpočty (ďalej EV, EC) sú biologicky podnietené počítačovo orientované vý-<br />

počtové prístupy, ktoré vychádzajú z Darwinovej teórie.<br />

Cieľom mojej diplomovej práce je teoreticky analyzovať tieto výpočtové prístupy<br />

a následne sa pokúsiť navrhnúť podobný systém v oblasti robotiky, konkrétne robotic-<br />

kého tanca. Používateľ ovplyvňuje vývoj tanečných pohybov robotov. Evolúcia bude<br />

vedená užívateľom, ktorý si vyberá z ponúknutých možných tanečných úsekov<br />

a takýmto spôsobom tvorí nový tanec.<br />

Tézy diplomovej práce sú uvedené v prvej kapitole.<br />

Navrhnutý systém robotického tanca využíva techniky umelej inteligencie ako sú<br />

evolučné algoritmy. Obsahom druhej kapitoly je prehľad použitia umelej inteligencie<br />

v <strong>humanoidných</strong> <strong>systémoch</strong> vo svete. Z prostriedkov umelej inteligencie sa zameriam<br />

práve na evolučné algoritmy a aplikačnú oblasť robotického tanca.<br />

V tretej kapitole zhrniem základné definície, vlastnosti, genetické operátory<br />

a zložky evolučných výpočtov. Uvediem ich fundamentálne charakteristiky a rozobe-<br />

riem ich výpočtové kroky. Druhá časť kapitoly sa špecializuje na oblasť interaktívnej<br />

evolúcie – predstavím interaktivitu, ktorú niektorí vedci nazývajú ideológiou, iní tech-<br />

nológiou. Človek sa vďaka interaktívnej evolúcii stáva tvorcom a systém plní funkciu<br />

prostriedku, ktorý mu to umožňuje. Následne rozviniem otázky súčasného výskumu,<br />

ktorých väčšina súvisí práve so spoluprácou človeka so systémom.<br />

V štvrtej kapitole je opísaný návrh systému využitia interaktívnych evolučných<br />

výpočtov pri evolúcii tanca a obsahom ďalšej, piatej kapitoly sú experimenty s týmto<br />

systémom a ich analýza.<br />

Moja diplomová práca je založená na preštudovaní viacerých publikácií svetovo<br />

najuznávanejších autorov v tejto oblasti.


FEI KKUI<br />

Úvod do teoretických základov je zväčša inšpirovaný prácou autorov, ktorí sú po-<br />

važovaní za zakladateľov a prvých výskumníkov evolučných výpočtov. Opis stavu vý-<br />

skumu evolučných algoritmov je založený na výsledkoch výskumu autorov, ktorí sa vo<br />

veľkej miere zaslúžili o vývoj a pokroky v tejto oblasti umelej inteligencie. Dovolím si<br />

predstaviť niektorých z nich:<br />

Peter J. Bentley prednáša na univerzite v Londýne a jeho výskum zahŕňa okrem<br />

evolučných algoritmov aj umelé imúnne systémy, kolónne a iné zložité systémy, apli-<br />

kované v rôznych oblastiach, vrátane dizajnu, riadenia, robotiky, nanotechnológie, bez-<br />

pečnosti a umenia.<br />

Richard Dawkins, etnológ, evolučný biológ a populárny vedecký autor, prednáša<br />

na univerzite v Oxforde a je tvorcom Biomorfickej Krajiny.<br />

David E. Goldberg je profesor na univerzite v Illinois a vedie laboratórium gene-<br />

tických algoritmov (IlliGAL). Jeho kniha „Genetic Algorithms for Search, Optimiza-<br />

tion, and Machine Learning“ je jedna z najcitovanejších publikácií v počítačovej vede.<br />

Hideyuki Takagi je profesor na Kyushu univerzite a patrí medzi popredných sú-<br />

časných vedcov zaoberajúcich sa interaktívnymi evolučnými výpočtami.<br />

John Holland bol expertom v počítačovom programovaní a pre IBM navrhoval<br />

prvú kalkulačku, popri návrhu ktorej si všimol, že medzi biológiou a výpočtovou vedou<br />

existuje prepojenie. Jeho kniha „The Genetic Theory of Natural Selection“ vstúpila do<br />

dejín vedy, lebo evolúcia bola opísaná ako motor pre adaptáciu. Keďže jeho teória fun-<br />

govala pre živé organizmy, prečo nie aj pre počítačové programy. Takto vznikla teória<br />

genetických algoritmov.<br />

Z oblasti humanoidnej robotiky ma najviac inšpirovali:<br />

Cynthia Breazeal, ktorá pôsobí v Media lab na MIT v Bostone, zakladateľka Per-<br />

sonal Robots Group. Vyvinula viaceré roboty – napríklad známeho spoločenského ro-<br />

bota, ktorý vyjadruje emócie – Kismeta. Jej výskum sa zameriava na rozvíjanie princí-<br />

pov, techník a technológií pre osobné roboty. Vyvinula rad robotických bytostí, ako sú<br />

malé hexapoidné roboty, zabudované robotické technológie do každodenných artefak-<br />

tov, ako je napríklad oblečenie alebo lampa, až po vysoko expresívnych humanoidov.<br />

Jej v súčasnosti prebiehajúci výskum zahŕňa rozvoj spoločensky inteligentných robotic-<br />

kých partnerov, ktorí komunikujú s ľuďmi, spolupracujú s nimi a tým sa od ľudí učia.<br />

18


FEI KKUI<br />

Rodney A. Brooks, vedúci MIT Computer Science and Artificial Intelligence La-<br />

boratory, zakladateľ Humanoid Robotics Group – je aj vo vedení známej spoločnosti<br />

iRobot Corp.<br />

Shuji Hashimoto, ktorý pôsobí na Waseda University v Japonsku, kde je od ro-<br />

ku 2000 riaditeľom Humanoid Robotics Institute. Medzi jeho záujmy patrí okrem hu-<br />

manoidnej robotiky aj spracovanie obrazu, hudobné systémy, neurónové siete<br />

a KANSEI inžinierstvo.<br />

Z nežijúcich osobností umelej inteligencie spomeniem meno:<br />

Alan Turing (1912 – 1954) – geniálny britský matematik, logik a kryptograf,<br />

ktorý je častokrát považovaný za otca modernej počítačovej vedy. Počas druhej svetovej<br />

vojny sa mu podarilo odhaliť tajomstvo šifrovacieho stroja Enigma. Spolu s kolegom<br />

Welchmanemom skonštruovali počítač na dešifrovanie správ. Niekoľko rokov pred<br />

smrťou zhotovil tzv. Turingov test.<br />

19


FEI KKUI<br />

1 Formulácia úlohy<br />

1.1 Ciele diplomovej práce<br />

Úlohou tejto diplomovej práce bolo:<br />

1) Vypracovať prehľad použitia umelej inteligencie v <strong>humanoidných</strong> systé-<br />

moch vo svete.<br />

2) Analyzovať teoretické východiská evolučných výpočtov.<br />

3) Realizovať teoreticko – experimentálnu analýzu problematiky evolučných<br />

výpočtov s dôrazom na interaktívne prístupy.<br />

4) Navrhnúť systém využitia interaktívnych evolučných výpočtov pri evolúcii<br />

tanca.<br />

5) Vytvoriť užívateľské rozhranie pre daný systém.<br />

6) Prezentovať demonštráciu výsledku evolúcie minimálne na dvoch tancoch<br />

a dvoch hodnotiteľov procesu.<br />

7) Vypracovať abstrakt v anglickom jazyku v rozsahu min. 7 strán<br />

s predpísanou osnovou.<br />

8) Vypracovať dokumentáciu podľa pokynov vedúceho diplomovej práce.<br />

1.2 Štruktúra diplomovej práce<br />

Práca je rozdelená do šiestich kapitol, v ktorých sú postupne realizované jednot-<br />

livé zadané úlohy.<br />

Kapitola 2. je rozdelená do troch častí, z ktorých prvá opisuje vý-<br />

skum humanoidnej robotiky a druhá sa sústreďuje na používanie prostriedkov umelej<br />

inteligencie v tejto oblasti. Cieľom tejto kapitoly je poskytnúť prehľad vývoja robotiky<br />

so zameraním na moderné inteligentné techniky riadenia a učenie spoločenských vzo-<br />

rov. Na základe preštudovanej literatúry sa pokúsim zhrnúť tradičné témy vo výskume<br />

humanoidnej robotiky od priemyselných a mobilných robotov po nové trendy v tejto<br />

oblasti, ktoré sa zameriavajú hlavne na interakciu medzi človekom a robotom. Posledná<br />

20


FEI KKUI<br />

časť tejto kapitoly sa orientuje konkrétne na robotický tanec a systémy tanca<br />

v humanoidnej robotike vo svete.<br />

V kapitole 3. je uvedený prehľad vlastností evolučných výpočtov, ich základné<br />

princípy a jednotlivé kroky evolučného algoritmu. Druhá časť tejto kapitoly vysvetľuje<br />

pojem interaktívna evolúcia a obsahuje prehľad o súčasnom výskume interaktívnych<br />

evolučných výpočtov.<br />

Návrh programového systému v oblasti interaktívneho robotického tanca je ná-<br />

plňou kapitoly 4., výsledky a vykonané experimenty sú uvedené v kapitole 5. Táto kapi-<br />

tola obsahuje stručný opis robota Naa a programovanie jednotlivých pohybov cez nasa-<br />

denie genetického algoritmu, až po následné zavedenie interaktívnej evolúcie do systé-<br />

mu, pomocou ktorej užívateľ ovplyvňuje vývoj tanečných pohybov robota.<br />

Obsahom kapitoly 5. je realizácia demonštračných experimentov na vyvíjanom<br />

systéme, kde jednotliví hodnotitelia vytvárajú tanečné choreografie.<br />

Posledná kapitola dokumentuje splnenie téz diplomovej práce a predkladá mož-<br />

nú budúcu prácu na systéme.<br />

Jadro predloženej diplomovej práce tvorí kapitola 4 – Návrh systému pre robo-<br />

tický tanec pomocou interaktívnej evolúcie.<br />

Súčasťou diplomovej práce sú prílohy:<br />

- prehľad <strong>humanoidných</strong> robotov (príloha A),<br />

- aplikácie interaktívnej evolúcie (príloha B),<br />

- výťah v anglickom jazyku (príloha C),<br />

- používateľská a systémová príručka (príloha D a E).<br />

21


FEI KKUI<br />

2 Úvod do humanoidnej robotiky<br />

2.1 Výskum humanoidnej robotiky<br />

Prírode sa nedá porúčať inak, než, že ju poslúchame.<br />

22<br />

Francis Bacon<br />

Absolútny sen umelej inteligencie je zhotoviť inteligenciu na ľudskej úrovni. Sen<br />

vyrobiť umelého človeka sa objavuje takmer v každej etape ľudskej histórie a aj v dneš-<br />

nej modernej kultúre. Postaviť humanoidného robota je výzva par excellence pre ved-<br />

cov pôsobiacich v oblastiach umelá <strong>inteligencia</strong> a robotika [3].<br />

Vývoj výskumu v robotike za posledné polstoročie sa tvoril ako odpoveď na zme-<br />

ny v ľudských potrebách, od priemyselných robotov, ktoré nahrádzali ľudského operá-<br />

tora od rizikových alebo nebezpečných úloh, až po súčasnú explóziu najmä humanoid-<br />

nej robotiky (ďalej HR) a služobných robotov, ktoré asistujú človeku. Dnešný stav vo<br />

svete vo výskume HR sa pohybuje od oblastí zahrňujúcich pohyb po interakciu medzi<br />

robotom a človekom.<br />

Súčasná popredná oblasť robotiky, na ktorú sa orientuje výskum, sa nazýva slu-<br />

žobná a spoločenská robotika (v angl. service and social robotics), z dôvodu jej vše-<br />

obecného cieľa – približovať robotov bližšie k ľudom a ich, v prvom rade, spoločen-<br />

ským potrebám. Do spektra služobnej robotiky patrí medicínska a terénna robotika,<br />

konštrukčné a humanoidné roboty [5].<br />

Humanoid (z anglického „human” – človek, ľudský a „–oid“ – podobný) je niečo,<br />

čo sa zjavom podobá na ľudskú bytosť. Pojem humanoid sa po prvý krát objavil v roku<br />

1912 označujúc skameneliny, ktoré boli morfologicky podobné, ale nie identické s ľud-<br />

skou kostrou [5]. Takéto používanie termínu humanoid bolo frekventované v 20. storo-<br />

čí, ale dnes sa slovo humanoid (humanoidný) vzťahuje vo všeobecnosti na čokoľvek s<br />

ľudskými vlastnosťami.<br />

V najširšom ponímaní humanoidný robot je robot, s výzorom napodobňujúcim<br />

ľudské telo, pripúšťajúc interakciu medzi ním a človekom. Jednotná definícia neexistu-<br />

je, ale podľa [1]: „Humanoidy sú stroje, ktoré majú tvar a funkcie ľudí.“


FEI KKUI<br />

Je dôležité oddeliť humanodiné roboty, ktoré napodobňujú človeka tvarom od po-<br />

kusov namodelovať „inteligenciu“ a správanie inšpirované ľudským – to znamená, roz-<br />

lišovať hardvér od softvéru.<br />

Mohlo by sa zdať, že softvér je dôležitejší, ale existuje viacero dôvodov, prečo by<br />

takýto robot mal mať aj ľudskú formu a tvar, v prípade, že chceme simulovať inteligen-<br />

ciu na ľudskej úrovni. Podľa Johnson a Lakoffa ako je uvedené v [1], tvar nášho tela je<br />

súčasťou reprezentácie nášho vnútorného modelu vonkajšieho sveta. Čiže, forma nášho<br />

tela je kritická vzhľadom k tomu, ako svet okolo seba chápeme, ako si ho interne myš-<br />

lienkovo reprezentujeme a potom tieto reprezentácie používame v myslení a napríklad<br />

v reči. Robot s ľudskou inteligenciou by mal mať aj človeku podobné telo, aby sa<br />

u neho vyvinula rovnaká, resp. podobná reprezentácia sveta. Aby robot získal skúse-<br />

nosti z interakcie s druhými ľuďmi, museli by s ním ľudia komunikovať ako<br />

s človekom. Z pozorovaní bolo zistené, že len málo ľudí komunikuje s robotom, ako by<br />

to bol človek. To sú niektoré dôvody, prečo je dôležité, aby humanoidné roboty mali<br />

tvar pripomínajúci ľudí.<br />

K časti modelovania inteligentného správania treba poznamenať, že je ťažké usta-<br />

noviť, čo sa myslí pod výrazom „správať sa ako človek.“ Zvyčajne sa tým myslí, že ro-<br />

bot by mal vykazovať správanie spôsobom, aby bežný ľudský pozorovateľ povedal, že<br />

sa správa viac ako človek než stroj 6 .<br />

Jeden z primárnych cieľov HR je vytvoriť roboty spôsobilé pracovať v širokej šká-<br />

le prostredí a schopné vysporiadať sa s neočakávanými situáciami. Humanoidné roboty<br />

sú dynamicky stabilné chodiace roboty. Autonómne bipedické roboty sa prvý krát obja-<br />

vili v roku 1967, keď Vukobratovic realizoval prvé experimenty [5]. Prvé bipedické ro-<br />

6 Čo sa týka „mentálnej“ časti návrhu robotov, Hashimoto navrhuje ignorovať prvé<br />

Asimovo pravidlo, tzv. prvý zákon robotiky, ktorý hovorí, že robot by mal byť napro-<br />

gramovaný tak, aby nikdy neublížil človeku 6 . Podľa Hashimota roboty by mali mať<br />

schopnosť rozhodovania sa aj v tom prípade, ak by došlo k takejto situácii.<br />

(http://www.physorg.com/news76185210.html)<br />

23


FEI KKUI<br />

boty boli veľmi zjednodušené stroje, ale neskorší vývoj viedol k sofistikovaným, ľah-<br />

kým a zručným robotom.<br />

Výskum sa podľa [5] postupne združil do týchto oblastí:<br />

– generovanie chôdze,<br />

– udržiavanie stability a<br />

– návrh robotov.<br />

Nasledujúci obrázok vyjadruje rozvoj robotického výskumu od roku 1960.<br />

Obr. 1 Evolúcia výskumu v robotike za posledných päťdesiat rokov podľa [5]<br />

Nové trendy v HR indikujú výskum smerom k schopnosti prirodzenej interakcie<br />

medzi humanoidom a ľuďmi, čo zahŕňa otázky bezpečnosti pri takejto spolupráci, až po<br />

schopnosti robota vyjadrovať emócie. Úmyslom je zaradiť humanoidné roboty do ľud-<br />

ského prostredia, konkrétne napríklad asistovať starším a invalidným osobám, zabaviť<br />

deti a komunikovať v prirodzenom jazyku.<br />

24


FEI KKUI<br />

Podľa [1] výskum interakcie medzi človekom a robotom zahŕňa nasledujúce témy:<br />

1) Priateľské rozhrania človek–robot, ktoré uľahčujú neskúseným užívate-<br />

ľom obsluhovať robota. Príkladom tejto kategórie je systém rozpoznáva-<br />

nia reči.<br />

2) Bezpečnosť interakcie človek–robot – návrh robota musí zahŕňať bezpeč-<br />

né ovládanie riadenia robota, ktoré minimalizuje riziká v prípade nekon-<br />

trolovaného pohybu a bezpečné plánovanie robotického pohybu.<br />

3) Vyjadrovanie emócií a vnímanie – výskum v tejto oblasti smeruje<br />

k vyvíjaniu aplikácií osobných a spoločenských robotov.<br />

4) Spoločenské učenie, kde sa uvažuje o nových prístupoch smerom k čoraz<br />

dôveryhodnejšiemu napodobňovaniu ľudských spôsobov. V kontraste so<br />

štatistickými prístupmi, nové učiace prístupy napomáhajú robotom sa<br />

rýchlo učiť novým schopnostiam a zvládať rozličné úlohy takými spô-<br />

sobmi ako prirodzenými inštrukciami od človeka alebo demonštráciami<br />

človeka robotovi. Takto vedené učenie robotov človekom zastrešuje uče-<br />

nie imitáciou a opaterou.<br />

Cieľom časti robotického výskumu, ktorá sa zaoberá interakciou medzi človekom<br />

a robotom (HRI – Human Robot Interaction), je prekonať spoločenskú bariéru medzi<br />

nimi. Nachádzame sa v procese vývoja robotov, ktorých súčasťou je ich vlastná osob-<br />

nosť. Pointou je, aby komunikácia a interakcia s robotmi bola čo najjednoduchšia<br />

a príjemná pre neskúsených používateľov a rovnako aj pre profesionálov a vedcov. Ke-<br />

by sa roboty správali viac ako ľudia, tak by sa ľudia pri interakcii s nimi nemuseli sprá-<br />

vať ako roboty.<br />

Výskum v oblasti HRI prináša úžitok v mnohých aplikačných oblastiach. Najvý-<br />

znamnejšie podľa [5] sú:<br />

1) asistencia pre chorých a invalidných ľudí,<br />

2) asistencia pri rutinných úlohách, ktoré z rôznych dôvodov nemôžu byť vy-<br />

konávané celkom automaticky,<br />

3) služobná robotika a<br />

4) zábavná robotika.<br />

25


FEI KKUI<br />

HRI je rastúca interdisciplinárna oblasť výskumu s narastajúcim množstvom apli-<br />

kácií, ktoré majú nielen významný ekonomický dopad, ale menia spôsob nášho života<br />

a druh vzťahu, aký si môžeme vybudovať so strojmi. Spoločnou métou vedcov je, aby<br />

roboty boli prístupnejším nástrojom – pomocníkom v ľudských domovoch a pri prá-<br />

cach, preto je potrebné vyvíjať techniky, ktoré pomáhajú zvyšovať mieru autonómnosti<br />

robotov a zlepšiť schopnosť prirodzenej interakcie robota s okolím – v neposlednom ra-<br />

de aj s človekom.<br />

Zlepšenia, dosiahnuté za posledné roky výskumu v tomto odbore, poskytli obrov-<br />

ské množstvo aplikácií použiteľných v každodennom živote, ako sú robotické psy<br />

a mačky, robotov ako sprevádzačov v múzeu, osobných robotických asistentov<br />

a podobne. Ide o roboty, pre ktorých spoločenská interakcia hrá kľúčovú úlohu – spolo-<br />

čenská preto, aby sme ich odlíšili od tradičnej interakcie človek–systém, aká je naprí-<br />

klad v teleoperačných úlohách.<br />

V súčasnosti sa táto časť robotického výskumu podľa [5] zameriava hlavne na vy-<br />

jadrovanie vlastností napodobňujúc ľudské spoločenské rysy, ako:<br />

1) vyjadrovanie alebo vnímanie emócií,<br />

2) komunikácia – vedenie dialógu na vysokej úrovni,<br />

3) učiť sa a rozpoznávať modely iných agentov,<br />

4) budovanie, resp. udržiavanie vzťahov,<br />

5) používanie prirodzených prostriedkov aj neverbálnej komunikácie (gestá, po-<br />

hľady),<br />

6) vykazovať osobitný charakter a vlastnú osobnosť,<br />

7) učiť sa alebo rozvíjať spoločenské kompetencie.<br />

Aplikačné spektrum spoločenských interaktívnych robotov je široké. Môžu sa po-<br />

užívať na rôzne účely: či už ako platformy na výskum, ako hračky, vzdelávacie nástroje<br />

alebo ako terapeutická pomoc. Všeobecný zmysel interaktívnych robotov spočíva vo<br />

fakte, že človek preferuje interagovať so strojmi rovnakým spôsobom ako interaguje<br />

s ľuďmi. Jedným z najdôležitejších cieľov v zábavnej oblasti robotiky je, aby interakcia<br />

užívateľov s robotmi nenudila – spontánnosť je zásadným prvkom.<br />

26


FEI KKUI<br />

Najdôležitejším dôvodom, prečo sa zaoberať vylepšením interakcie medzi člove-<br />

kom a robotom je, aby roboty ľudom pomáhali a uľahčili mnohé úlohy, ktorým ľudia<br />

každodenne čelia. Roboty, ktorých cieľom je čo najviac sa podobať ľuďom – fyzicky,<br />

a aj určitými schopnosťami, sa nazývajú androidi. Predpokladá sa, že do polovice tohto<br />

storočia prerastie výroba androidov automobilový priemysel vo veľkosti aj dôležitosti 7 .<br />

V prílohe A diplomovej práce je vypracovaný prehľad svetovo známych humano-<br />

idných robotov.<br />

2.2 Použitie prostriedkov umelej inteligencie v <strong>humanoidných</strong><br />

<strong>systémoch</strong><br />

Mnohé aspekty nášho života vyžadujú použitie inteligentných strojov schopných<br />

prevádzky za dynamickej interakcie s okolím. Práve použitie bipedických robotov je z<br />

tohto pohľadu zaujímavé. Humanoidné roboty ako antropomorfné chodiace stroje sú v<br />

prevádzke už viac ako dvadsať rokov.<br />

Aplikácie <strong>humanoidných</strong> robotov kladú čoraz vyššie požiadavky na inteligenciu<br />

robota. Inteligentné humanoidné roboty sú funkčne orientované zariadenia, stavané na<br />

vykonávanie úloh namiesto ľudí. Sú to autonómne systémy schopné extrahovať infor-<br />

mácie z okolia a používať svoje vedomosti o svete. Očakáva sa, že budú natoľko auto-<br />

nómne, aby sa bezpečne pohybovali zmysluplným a cieľavedomým spôsobom, to zna-<br />

mená, že by mali byť schopné prijímať popisy úloh na vysokej úrovni, špecifikovať, čo<br />

od nich užívateľ očakáva a vykonať úlohu bez ďalšieho zásahu človeka.<br />

V súčasnosti existuje viac ako päťdesiat veľkých projektov v doméne humanoidnej<br />

robotiky po celom svete, spolu s mnohými ďalšími projektmi týkajúcimi sa dvojnohej<br />

chôdze. Momentálne sa v tejto oblasti vo svete podľa internetovej stránky<br />

http://androidworld.com/ pracuje na 104 veľkých projektoch. Ich rozloženie podľa<br />

krajín veľmi neprekvapuje: v oblasti androidnej robotiky svetovo jednoznačne vedie Ja-<br />

ponsko, kde má miesto takmer polovica zo všetkých projektov, za ním sa v počte pro-<br />

7 http://www.androidworld.com<br />

27


FEI KKUI<br />

jektov umiestnili Spojené štáty americké a Južná Kórea. Z európskych krajín má zastú-<br />

penie Nemecko, Veľká Británia, Švédsko, Bulharsko, Taliansko a Španielsko.<br />

Obr. 2 Najväčšie projekty androidných robotov na svete podľa<br />

http://www.androidworld.com<br />

Prvý prístup, ako urobiť humanoida inteligentnejším, bola podľa [9] integrácia so-<br />

fistikovaných senzorických systémov, ako je napríklad počítačové videnie, hmatové<br />

vnímanie, laserové skenery a iné senzory. Dnešné senzory sú stále obmedzené čo sa tý-<br />

ka ich interakcií s okolím a prispôsobivosti sa na meniace prostredie. Dynamické zmeny<br />

a nestálosť prostredia sú veľkou výzvou v rozvoji spoľahlivých umelých systémov.<br />

Z druhého uhla pohľadu, navrhovať roboty a systémy, ktoré by sa bez problémov<br />

prispôsobovali svojmu prostrediu, zahŕňa potrebný výskum v rozličných oblastiach:<br />

mechanický návrh robota, tzv. inteligentná mechanika, systémy vnímajúce prostredie,<br />

inteligentné riadenie schopné vysporiadať sa so zložitosťou, multi – objektívne rozho-<br />

dovanie, veľké množstvo dát a taktiež podstatné množstvo heuristických informácií. V<br />

28


FEI KKUI<br />

prípade, keď robot vykonáva úlohu v neznámom prostredí, znalosť nemusí byť dostaču-<br />

júca.<br />

Vo všeobecnosti je spoločným cieľom HR, aby bol robot schopný prispôsobovať<br />

sa prostrediu a získavať nové znalosti počas procesu učenia. Výskum v HR poskytol<br />

riešenia niekoľkých klasických problémov robotiky, teórie riadenia a umelej inteligen-<br />

cie a odhalil rad nových problémov. Výskumníci ako napr. Rodney Brooks a Cynthia<br />

Breazel [3] implementujú do humanoidnej robotiky poznatky z oblastí ako je psycholó-<br />

gia, etológia, teória systémov, filozofia a lingvistika.<br />

Oblasť umelej inteligencie (ďalej UI) sa snaží, aby počítače boli schopné robiť ve-<br />

ci, ktoré, keby vykonávali ľudia, tak by boli považované za prejavy inteligencie.<br />

Cieľom UI podľa Brooksa [3] je:<br />

1) konštrukcia užitočných inteligentných systémov a<br />

2) pochopenie ľudskej inteligencie.<br />

V akademických kruhoch práca v oblasti robotiky ovplyvňuje výskum umelej inte-<br />

ligencie a naopak. Existujú samozrejme viaceré známe techniky, ktoré riešia problémy<br />

inteligentného riadenia v HR. Neurónové siete (ďalej NN), fuzzy logika (ďalej FL) a<br />

evolučné výpočty, ako je genetický algoritmus (ďalej GA), sa zaslúžili o rozvoj inteli-<br />

gentných riadiacich algoritmov. Vďaka ich silným učiacim a kognitívnym schopnos-<br />

tiam, dobrej tolerancii neurčitostí a nepresností a iným vlastnostiam sa uplatňujú<br />

v mnohých aplikáciách pokrokového riadenia <strong>humanoidných</strong> robotov. Taktiež, veľký<br />

význam v rozvoji efektívnych algoritmov majú hybridné techniky ako neuro – fuzzy<br />

systémy a fuzzy – neuro systémy, neuro – genetické algoritmy a fuzzy– genetické algo-<br />

ritmy, ktoré kombinujú vlastnosti jednotlivých spomínaných techník. Každá z nich má<br />

svoje výhody, ale aj nedostatky. Hybridné techniky – ich integrácia a syntéza (symbio-<br />

tická <strong>inteligencia</strong>) sú potrebné na efektívne aplikácie HR, pretože vďaka nim je možné<br />

predísť mnohým nedostatkom jednotlivých prostriedkov UI.<br />

Predchádzajúci výskum UI sa sústreďoval na hľadanie riešení čiastkových prob-<br />

lémov a na poskytovanie nástrojov ako sú napríklad neurónové siete, fuzzy logika, evo-<br />

lučné algoritmy alebo multiagentové systémy. Tento prístup viedol k vývoju mnohých,<br />

29


FEI KKUI<br />

viac či menej úspešných, stratégií riešení. Nasledujúci krok vo výskume UI je integrácia<br />

týchto nástrojov do celého systému, ako je aj robotika, s cieľom realizovať systém, kto-<br />

rý vykazuje črty inteligentného správania.<br />

2.2.1 Fuzzy logika v <strong>humanoidných</strong> <strong>systémoch</strong><br />

Samozrejme, ciest, ktoré vedú do rovnakého cieľa je mnoho. Použitie fuzzy logiky má<br />

množstvo výhod:<br />

(1) fuzzy systém je založený na lingvistických premenných – z toho vyplýva, že<br />

návrh systému, ako aj následne mu porozumieť je jednoduché,<br />

(2) programátor ľahko pridá alebo odoberie pravidlá a sleduje dôsledok, až kým<br />

dosiahne želaný výsledok,<br />

(3) pri modelovaní napríklad emócií a emocionálnych modelov, na rozdiel od kla-<br />

sických prístupov, ktoré sú zamerané na precízne vnútorné modelovanie, fuzzy systém<br />

sa zameriava na dosiahnutie želaného správania, čo je hlavným záujmom v HRI,<br />

správanie,<br />

(4) zmeny nastávajú hladko, výsledkom čoho je prirodzené a životu – podobné<br />

(5) poskytuje vhodné prostriedky na modelovanie a spustenie rozmanitých stavov<br />

robota (napríklad emócií, modelov správania a podobne),<br />

(6) softvér pre fuzzy systém sa implementuje priamo.<br />

Medzi hlavné nevýhody použitia fuzzy systémov patrí:<br />

(1) vysoká výpočtová náročnosť,<br />

a najmä<br />

(2) neschopnosť sa učiť,<br />

preto sa často kombinujú s neurónovými sieťami.<br />

V prílohe A sú uvedené reálne aplikácie fuzzy logiky v modelovaní správania hu-<br />

manoidných robotov.<br />

30


FEI KKUI<br />

2.2.2 Neurónové siete v <strong>humanoidných</strong> <strong>systémoch</strong><br />

Neurónové siete sa osvedčili v syntéze a off–line a on–line adaptácii bipedickej chôdze.<br />

Ďalšia aplikácia NN v humanoidnej robotike je udržiavanie statickej a dynamickej rov-<br />

nováhy počas chôdze a behu najmä v nestálom teréne.<br />

Výhody neurónových sietí by sme mohli zhrnúť do týchto bodov:<br />

1) schopnosť sa učiť,<br />

2) sú všeobecným aproximátorom analytickej funkcie,<br />

3) schopnosť zovšeobecňovať, z čoho vyplýva, že spracovávajú veľké množstvo<br />

dát do redukovaného počtu výstupov,<br />

4) robustnosť voči chybám siete: vysoká redundancia spojení a uzlov, vzájomná<br />

nezávislosť uzlov,<br />

5) schopnosť hľadať suboptimálne riešenia v krátkom čase,<br />

6) schopnosť spracovať veľké množstvo vstupných premenných.<br />

Neurónové siete majú nasledujúce nevýhody:<br />

1) neprehľadnosť vnútorných štruktúr siete,<br />

2) spôsob mapovania je nejasný,<br />

3) nastavovanie parametrov učenia môže spôsobiť problémy,<br />

4) častá nutnosť opätovného preučenia,<br />

5) pomalá konvergencia s nejasným koncom.<br />

Tieto nevýhody sa dajú potlačiť kombináciou NN s inými technikami, vytvárajúc<br />

rôzne typy interakcií jednotlivých prostriedkov UI.<br />

Prvý učiaci sa systém na svete pre humanoidné roboty používajúci NN bol vyvinu-<br />

tý v laboratóriách Fujitsu [5]. Táto technológia je založená na CPG (Central Pattern<br />

Generator) sieťach. CPG oscilátor je sieť neurónov generujúcich rytmickú pohybovú<br />

vzorku. Bipedická chôdza sama tvorí kapitolu výskumu s množstvom aplikácií, časť<br />

ktorých využíva neurónové siete.<br />

31


FEI KKUI<br />

Autori [10] sa venujú interakcii medzi malým humanoidným robotom a<br />

užívateľom, ktorú dosiahli implementáciou dynamického modelu neurónovej siete. Ich<br />

hlavnou motiváciou bolo, aby správanie robota alebo pohybové vzory boli získané<br />

adaptívne prostredníctvom interakcie s používateľom, namiesto generovania preddefi-<br />

novaných pohybov. Ďalej by sa roboty učili správaniu synchrónne s interakciou s užíva-<br />

teľmi. Interakcie by boli podobné páru salsa tanečníkov, ktorí improvizujú a striedajú<br />

jednotlivé tanečné vzory. V podstate ide o nový model učenia imitáciou pomocou reku-<br />

rentnej neurónovej siete. Experimenty vykonávali na malom humanoidnom robotovi<br />

QRIO (SDR– 4X II) od firmy Sony.<br />

2.2.3 Evolučné prístupy v <strong>humanoidných</strong> <strong>systémoch</strong><br />

Evolúcia predstavuje silný nástroj pre riadenie zložitých systémov adaptívnym<br />

spôsobom. Evolučné systémy, ako GA alebo GP sú vhodné pre riadenie zložitých sys-<br />

témov.<br />

Vo svete UI je známe použitie evolučných algoritmov na generovanie trajektórie.<br />

Hlavnou príčinou využitia EA pri návrhu systémov generujúcich bipedický pohyb je ich<br />

implementácia v prípadoch, keď nie je možné vytvoriť kompletný dynamický model<br />

daného systému, alebo je pre praktické použitie príliš zložitý.<br />

Ak sa jedná o akýkoľvek typ návrhu, resp. dizajnu niečoho, pri manuálnom dizaj-<br />

ne výsledný produkt alebo proces môže byť len taký dobrý, ako je fantázia dizajnéra.<br />

GA však umožňujú návrhárom zhodnotiť každý možný spôsob realizácie procesu, ktorý<br />

existuje v rámci prehľadávacieho priestoru. Zatiaľ čo mnohé z týchto riešení budú ne-<br />

praktické (lebo prehľadávací priestor obsahuje riešenia, ktoré sú teoreticky možné, bez<br />

ohľadu na praktickosť), neskoršie ohodnotenie zabezpečí, že budú prehodnotené všet-<br />

ky možné riešenia.<br />

Jedna z markantných výhod evolučných techník je fakt, že sú založené na teórii<br />

vyvíjania optimalizácie ako reakcia na meniace sa prostredie. GA preto predstavujú ná-<br />

stroje na dosiahnutie vysokého stupňa adaptácie.<br />

Hlavný problém aplikácií evolučných techník, ako je GA, v HR predstavuje zvlád-<br />

nutie procesu optimalizácie v reálnom čase.<br />

32


FEI KKUI<br />

2.3 Tanec v humanoidnej robotike<br />

33<br />

Tanec je skrytý jazyk duše<br />

Martha Graham, 1894 – 1991, americká tanečná choreografka<br />

Tanec sa považuje za istý duchovno – umelecký pohybový smer, predstavuje po-<br />

hybovú formu vyjadrenia pocitu, ale v zásade je tanec životný prejav. Je to určitá forma<br />

výrazu, v rámci ktorého sa využívajú rytmické pohyby tela. Prostredníctvom pohybu<br />

človek spoznáva, vyjadruje pocity a komunikuje.<br />

Humanoidné roboty sa, ako je uvedené v 2.1, čoraz viac podobajú na človeka tva-<br />

rom a schopnosťami. Tento vývoj motivuje vedcov navrhovať tancujúce roboty, schop-<br />

né napodobniť zložitosť a štýl ľudských tanečných choreografií. Tancujúce roboty sú<br />

úspešné v spoločenskej oblasti, kde ich využitie vyžaduje interakciu človeka s robotom.<br />

Napriek tomu, že použitie HR v zábavných aplikáciách zaznamenáva rozmach, ta-<br />

nečné predstavenia robotov sú vo veľkej miere reprodukcie dopredu navrhnutých pohy-<br />

bov, ktoré publikum po čase prestanú baviť.<br />

Pokiaľ väčšina aplikácií tanečných robotov chápe tanec ako generovanie pohybu,<br />

niektorí vedci sa zameriavajú na tanec ako na generovanie umeleckého výrazu – naprí-<br />

klad identifikujúc faktory v tanci, ktoré ľudia vnímajú ako pekné. Jeden zo spôsobov<br />

tejto identifikácie je interaktívna evolúcia (ďalej IE), počas ktorej používateľ hodnotí<br />

jednotlivé časti tanečnej choreografie na základe svojho vkusu.<br />

Aucouturier z University of Tokyo [2] rozdelil aplikácie robotického tanca do<br />

troch skupín:<br />

1) Situovaná znalosť (angl. Situated Knowledge): Pohľad na znalosť ako na dy-<br />

namickú reprezentáciu akcií, skôr ako faktov, zahŕňa učenie pochopením<br />

spôsobov ako robiť, cítiť alebo hýbať sa – často pozorovaním akcií iných.<br />

Schopnosť mapovať takéto akcie z jedného tela na druhé je kľúčovým kom-<br />

ponentom inteligencie. Kolektív okolo Katsushiho Ikeuchika [2] ukázal,<br />

akým spôsobom môže robot imitovať ľudského tanečníka adaptovaním po-<br />

hybov do jeho architektúry motorov, ktoré pozoruje.<br />

2) Symbolické uzemnenie/ukotvenie (angl. Symbolic grounding): Pretože tanec<br />

mapuje zvuky na pohyby, načrtáva problém budovania stabilných senzomo-


FEI KKUI<br />

torických vzorov nad rozličnými postupmi. Tetsuya Ogata, Hideki Kozima a<br />

Hiroshi Okuno [2] získali takéto štruktúry pozorovaním okolia. Vyvinuli<br />

systém, ktorý sa učí zvukové aj pohybové znaky simultánne. Týmto spôso-<br />

bom mapovanie odráža súlad v reálnom svete.<br />

3) Spoločenská <strong>inteligencia</strong> (angl. Social Intelligence): Prostredníctvom tanca<br />

je možné študovať spoločenské interakcie a spôsob, akým ich môže telo dať<br />

najavo. Marek Michalowski a Hideki Kozima [2] uvažujú o rytmickej imitá-<br />

cii ako o predpoklade interakcie. Čistá imitácia nie je dostatočná na udržanie<br />

interakcie – je potrebný aj určitý stupeň kreativity.<br />

Existujú pokusy implementácie spoločenskej stránky robota a jeho dynamiky po-<br />

mocou deterministického chaosu [2]. Hlavnou motiváciou je skutočnosť, že spoločen-<br />

sky inteligentný robot by mal rozoznať a vedieť sa vyrovnať so zmenami jeho ľudských<br />

partnerov a konať v závislosti od týchto zmien.<br />

Kolektív [12] s cieľom predísť rozdielom v kinematike človeka a robota, vyvíja<br />

paradigma, nazvanú učenie pozorovaním (angl. LFO: Learning from Observation), kde<br />

robot pozoruje akcie človeka, rozpoznáva, čo človek vykonáva a mapuje rozpoznané<br />

akcie na svoje pohyby – robotické akcie s cieľom napodobniť pohyby človeka. Ich ro-<br />

botický systém zaznamenal úspech, schopný tanca s ľudským profesionálnym taneční-<br />

kom v reálnej rýchlosti.<br />

Obr. 3 Tancujúci robot : učenie pozorovaním od užívateľa<br />

(LFO: learning from observation) podľa [12]<br />

34


FEI KKUI<br />

Vedci z Južnej Kórei (Korea Institute of Science and Technology) [14] vyvinuli<br />

humanoidného robota Mahru so zabudovanou umelou inteligenciou, ktorý je vybavený<br />

rozličnými schopnosťami – okrem iných, dokáže tancovať. Robot má systém na zazna-<br />

menávanie pohybu, ktorý povoľuje napodobňovať akcie človeka ako napríklad mávanie<br />

ramenom.<br />

Obr. 4 Tancujúci Robot Mahru z Južnej Kóreii [14]<br />

SDR– 4X je malý bipedický robot určený pre zábavný priemysel s rozšírenými<br />

schopnosťami pre rozmanitosť pohybových predstavení. Vedci v [2] vyvinuli progra-<br />

mový systém s cieľom jednoducho produkovať kreatívny pohyb, ktorý zahŕňa stabilnú<br />

chôdzu a tanečné kroky synchronizované s hudbou.<br />

Obr. 5 Vývojové prostredie robota SDR– 4X vyvinuté autormi uvádzanými v [2]<br />

Japonskí vedci z Tohoku University [14] navrhli robota, ktorý dokáže viesť člo-<br />

veka v tanci. Kazuhiro Kosuge, Takahiro Takeda a Yasuhisa Hirata zostrojili humano-<br />

idného tanečného partnera, ktorý dynamicky reaguje na sily a činy vykonávané vedením<br />

ich partnera. Vo väčšine koordinačných <strong>systémoch</strong> typu človek– robot, sa roboty pohy-<br />

bujú pasívne vzhľadom k silovým momentom vyvíjaných človekom. Tieto systémy sú<br />

35


FEI KKUI<br />

postačujúce pre jednoduché úlohy, ale keby boli roboty schopné aktívneho pohybu<br />

vzhľadom k ľudským zámerom, informáciám prostredia, znalostiam úlohy a podobne,<br />

realizovali by efektívnejšie koordinačné úlohy. Štúdium takejto aktívnej koordinácie<br />

človeka a robota zamerali na vytvorenie robota, ktorý tancuje s ľudským partnerom.<br />

Obr. 6 Robot ako tancujúci partner vyvinutý na Tohoku University [14]<br />

Každý typ spoločenského tanca (napr. valčík, tango, rumba, atď.) sa skladá<br />

z krokov – sekvencie separovaných pohybových vzorov. Pri spoločenskom tanci muž-<br />

ský partner vedie ženskú partnerku a rozhoduje o nasledujúcom kroku. Ich robotická ta-<br />

nečná partnerka sa správa ako ľudská – odhaduje nasledujúci krok, ktorý jej ľudský<br />

partner zamýšľa vykonať na základe jeho vedenia a realizuje krok v aktívnej koordiná-<br />

cii s ním. Robot má zabudovaný senzor na meranie, akou silou ho vedie človek.<br />

Vo svete existujú viaceré varianty modelovania robotického tanca, pričom nové<br />

prístupy sa čoraz viac zameriavajú na to, aby vývoj tanca nebol len generovanie do-<br />

predu naprogramovaných pohybov, ale istý typ interakcie medzi robotom a užívateľom.<br />

To je aj hlavná myšlienka mojej diplomovej práce.<br />

36


FEI KKUI<br />

Sme schopní veľkých vecí. A nepochybujem, že bytosti,<br />

ktoré nás budú nasledovať, budú schopné ešte väčších.<br />

37<br />

Evolúcia sa s nami nezastavila...<br />

Evolúcia môže pokračovať do nekonečna.<br />

Gene Roddenberry, 1921– 1991, americký scenárista a futurológ<br />

3 Úvod do evolučných výpočtov so zameraním<br />

na interaktívnu evolúciu<br />

3.1 Základné teoretické východiská evolučných výpočtov<br />

„Evolučné výpočty sú celé o hľadaní. Keď používame prehľadávací algoritmus<br />

v počítačovej vede a v umelej inteligencii, definujeme výpočtový problém v medziach<br />

prehľadávacieho priestoru, ktorý môže byť označený ako obrovská kolekcia potenciál-<br />

nych riešení problému. Bežne používaný výraz v tomto kontexte je „optimalizácia“, čo<br />

jednoducho znamená nájdenie „dobrého“. Napríklad, ako prehľadávanie knižnice na<br />

nájdenie knihy, ktorá najlepšie spĺňa naše požiadavky“ [13].<br />

Evolúcia je kontroverzný pojem, vnímaný v mnohých významoch. Niekedy tak-<br />

mer akákoľvek zmena je považovaná za podobu evolúcie a inokedy sa evolúciou nazý-<br />

va len veľmi prísne ohraničený špecifický proces, ktorý má svoje miesto v genetických<br />

<strong>systémoch</strong>, respektíve v biologickej evolúcii.<br />

V kontexte výpočtovej vedy sa na evolúciu možno pozerať dvojakým spôsobom:<br />

1) ako na cieľ, so snahou namodelovať a pochopiť ju a<br />

2) ako na nástroj, slúžiaci na riešenie úloh.<br />

Základné zložky EC sú [4]:<br />

1) prirodzený výber, selekcia: silnejší jedinci s vyššou pravdepodobnosťou prežitia<br />

vstupujú do reprodukčného procesu častejšie, kde schopnosť prežiť sa rovná funkcii<br />

vhodnosti, tzv. fitness;


FEI KKUI<br />

2) náhodný genetický drift: náhodné udalosti ovplyvňujú populáciu v čase (napr.<br />

mutácia genetického materiálu jedinca alebo smrť jedinca pred tým, ako vstúpi do rep-<br />

rodukčného procesu);<br />

3) reprodukčný proces: vznik nových jedincov populácie kombináciou genetické-<br />

ho materiálu rodičovských jedincov.<br />

Genetické operátory sú:<br />

1) Reprodukcia: proces, pri ktorom sú indivíduá kopírované vzhľadom na funk-<br />

ciu vhodnosti (fitness). To znamená, že jedinec s vyššou hodnotou má vyššiu pravdepo-<br />

dobnosť prispieť jedným alebo viacerými potomkami v nasledujúcej generácii, podobne<br />

ako v prírode, kde prežíva silnejší jedinec.<br />

(2) Kríženie: proces, v ktorom novo– reprodukovaní jedinci sú náhodne spájaní<br />

a každý pár si parciálne vymení informáciu.<br />

(3) Mutácia: operácia, pri ktorej sa zmení hodnota niektorého génu na novú ná-<br />

hodnú prípustnú hodnotu.<br />

Obr. 7 Reprodukcia dvoch chromozómov a následná mutácia ich potomka [4]<br />

EC pracuje s populáciou chromozómov, kde v každom z nich je zakódované určité<br />

riešenie problému, vlastnosť, čiže genotyp a vytvorí sa konkrétne riešenie, ktoré pred-<br />

stavuje fenotyp. Možné konkrétne hodnoty daného génu reprezentujú alely. Pre vývoj<br />

procesu je nevyhnutné, aby sa v nových genotypoch vyskytovali variácie alebo mutácie<br />

s istou frekvenciou výskytu.<br />

Evolučné výpočty, respektíve evolučné algoritmy (EA) je spoločné pomenovanie<br />

pre počítačové výpočtové systémy, ktoré riešia danú problematiku, a ktoré používajú<br />

38


FEI KKUI<br />

výpočtové modely evolučných procesov ako kľúčové elementy pri ich návrhu a imple-<br />

mentácii.<br />

Hlavné rozdiely medzi jednotlivými typmi EC sú:<br />

1) v reprezentácii jedincov,<br />

2) v spôsobe ohodnotenia jedincov – výpočtu vhodnosti a<br />

3) v genetických operátoroch.<br />

Pojem evolučné výpočty zastrešuje techniky:<br />

(1) Genetické algoritmy (ďalej GA), ktoré v roku 1975 navrhol Holland<br />

a opísal ako adaptívne správanie základných foriem života, neskôr Goldberg ako nástroj<br />

na riešenie optimalizačných úloh a Beasley ako adaptívne metódy, ktoré môžu byť vyu-<br />

žité na riešenie prehľadávacích a optimalizačných úloh.<br />

Hlavné ciele ich tvorcu, Hollanda, boli: (1) zhrnúť a vysvetliť adaptívne procesy prí-<br />

rodných systémov a (2) navrhnúť umelé systémy, ktoré si ponechávajú dôležité mecha-<br />

nizmy prírodných systémov.<br />

GA pozostáva vo všeobecnosti z nasledujúcich krokov:<br />

1) Náhodné generovanie počiatočnej populácie (v mnohých prípadoch sú už známe<br />

poznatky o riešení, ktoré sa použijú na usmernenie tohto generovania).<br />

2) Hodnotenie jedincov.<br />

3) Test splnenia podmienok (dosiahnutie požadovanej hodnoty fitness alebo stano-<br />

veného počtu generácií):<br />

a) ak sú ukončovacie podmienky splnené, dostávame riešenie,<br />

b) ak nie, cyklus pokračuje ďalej selekciou (výberom) skupín chromozó-<br />

mov do ďalšej generácie.<br />

4) Kríženie a mutácia.<br />

5) Vznik novej generácie a skok na krok (2).<br />

GA sa používajú s neurónovými sieťami a fuzzy logikou na riešenie zložitejších<br />

úloh. Ich veľký úspech podnietil výskumníkov takým spôsobom, že si požičali ďalšie<br />

koncepty z prírody a aplikovali ich v počítačových vedách. GA umožňujú vyhľadávanie<br />

39


FEI KKUI<br />

v enormných priestoroch riešení. Používajú sa aj ako klasifikačné alebo triediace systé-<br />

my a na nájdenie optimálneho vektora parametrov (váh) pre NN.<br />

(2) Genetické programovanie 8 , ktoré vychádza z GA, ale na rozdiel od týchto<br />

algoritmov je reprezentované pomocou štruktúrovaných stromov funkcií namiesto re-<br />

ťazcov bitov. Tie hierarchicky zobrazujú štruktúru genetického reťazca (informácie) a<br />

umožňujú jednoduché a rýchle spravovanie genetických programov (vzorcov).<br />

Koncové uzly v strome patria do koncovej (terminálnej) množiny, ktorá predsta-<br />

vuje množinu možných uzlov tvoriacich listy stromu, ostatné sú vetvy. Terminálna<br />

množina sa skladá z programových vstupov (premenných) a fixných čísel (môže to byť<br />

náhodné číslo) a neterminálna množina obsahuje funkcie a operátory.<br />

Obr. 8 Príklad reprezentácie GP funkcie +(– (0,5),/(PI,*(a,b)))<br />

Programový systém GP môže byť mutovaný vybraním náhodného uzla<br />

a zmenením jeho funkcie alebo hodnoty. Ďalšia možnosť je nahradiť jeho celý „pod-<br />

strom“ náhodnými uzlami. Kríženie je implementované vybraním náhodného „pod-<br />

stromu“ každého rodiča a ich zámenou u potomka. Veľkosť stromu málokedy ostáva<br />

rovnaká po mutácii a krížení.<br />

Ďalšia odlišnosť v porovnaní s GA je, že reťazce sú dynamické (nezávislé od<br />

veľkosti reťazcov a populácie), čo predstavuje podstatnú výhodu.<br />

8 Samozrejme, viacerí autori majú rôzny názor, ktoré techniky pojem evolučné výpočty zastrešuje.<br />

Napríklad podľa Schwefela sa genetické programovanie a učiace klasifikačné systémy oddialili od filozo-<br />

fie evolučných výpočtov.<br />

40


FEI KKUI<br />

(3) Evolučné programovanie, ktoré je možné stručne definovať ako techniku<br />

určenú na prehľadávanie priestoru, kde sa dôraz kladie na operátor mutácie a nezahŕňa<br />

sa rekombinácia (výber je pravdepodobnostný).<br />

(4) Evolučné stratégie, ktoré sú definované ako algoritmy na numerickú opti-<br />

malizáciu, kde je kladený dôraz na mutáciu a zároveň na rekombináciu (výber je deter-<br />

ministický).<br />

(5) Učiace klasifikačné systémy (Learning classifier systems), čo sú učiace<br />

vzory, v ktorých sa agent učí úlohu evolúciou populácií pravidiel a kde je prítomný ge-<br />

netický algoritmus. Konečná populácia klasifikátorov reprezentuje aktuálnu znalosť<br />

systému, kde GA zlepšuje aktuálne riešenie hľadaním lepších klasifikátorov.<br />

3.2 Interaktívna evolúcia<br />

41<br />

Keby medzi všetkými svetmi nebol jeden lepši,<br />

ako tie ostatné, potom by Boh nikdy žiaden nestvoril.<br />

Gottfried Wilhelm von Leibniz<br />

Podľa [13] existujú dva typy cieľových systémov používaných na systémovú op-<br />

timalizáciu:<br />

1) systémy, v ktorých hodnotiace funkcie je možné vyjadriť numericky – alebo<br />

aspoň kvantitatívne a<br />

2) systémy, u ktorých je veľmi ťažké, niekedy nemožné, tieto optimalizačné pa-<br />

rametre špecifikovať, vyjadriť, ako je napríklad ohodnotenie hudby a iných ume-<br />

leckých diel. Kritériá pri takýchto <strong>systémoch</strong> sú subjektívne, to znamená, že sú<br />

závislé od konkrétneho posudzovateľa. Existuje množstvo oblastí, nielen umelec-<br />

ké a estetické, ale aj inžinierske a vzdelávacie, kde výstupy systému závisia od<br />

preferencií, zmyslov, emócií a porozumení človeka. V interaktívnych evolučných<br />

výpočtoch je funkcia vhodnosti nahradená ľudským užívateľom.


FEI KKUI<br />

Obr. 9 Proces GA a IGA [13]<br />

Hideyuki Takagi [13] rozdeľuje definície IEC na:<br />

1) užšia definícia IEC: technológia, ktorá pomocou EC optimalizuje cieľový sys-<br />

tém na základe subjektívnej hodnotiacej funkcie človeka, ktorou je funkcia vhodnosti<br />

pre výstupy daného systému a<br />

2) širšia definícia IEC: technológia, ktorá optimalizuje cieľový systém s použitím<br />

interaktívneho rozhrania medzi človekom a počítačom.<br />

Viacerí vedci sa zhodujú v tom, že technológie, ktoré majú blízko k ľudom, ako je<br />

aj interaktívny evolučný výpočet (ďalej IEC) predstavujú nasledujúci krok vo výpočto-<br />

vých technológiách.<br />

Proces interaktívnej evolúcie je z istého pohľadu možné vykresliť ako:<br />

1) systém, ktorý pripúšťa interaktívnu spoluprácu používateľa a počítača ako spô-<br />

sob produkcie nových výstupov pomocou princípov evolúcie, aj ako.<br />

krásu.<br />

2) systém, ktorý sa učí od používateľa „estetickosti“, ľudskej schopnosti vnímať<br />

Dnešný výskum IEC zahŕňa aj možnosť:<br />

3) systém, ktorý pomáha používateľovi s objavovaním kreativity.<br />

42


FEI KKUI<br />

IEC je optimalizačný nástroj, ktorý využíva kooperáciu človeka a počítača, to<br />

znamená, že v časti cyklu (2) hodnotenie jedincov (viď podkapitolu 3.1) je subjektívne<br />

hodnotenie získané od človeka (funkcia vhodnosti) ako hodnotenie vzdialenosti medzi<br />

vlastnou predstavou a výstupom optimalizačného procesu v psychologickom priestore.<br />

Na druhej strane, IEC pracuje v priestore parametrov a dochádza k premapovaniu medzi<br />

týmito priestormi. IEC hľadá v priestore parametrov globálne optimum (jedná sa skôr o<br />

oblasť, ako konkrétny bod priestoru prehľadávania).<br />

GA teda používa dva separované priestory: prehľadávací priestor a priestor rieše-<br />

ní. Prehľadávací priestor je priestor kódovaných riešení úlohy a priestor riešení je prie-<br />

stor aktuálnych riešení. Kódované riešenia alebo genotypy musia byť zobrazené na ak-<br />

tuálne riešenia alebo fenotypy, predtým ako môže byť hodnotená vhodnosť.<br />

Ľudia majú okrem tradičných znalostí aj množinu vlastností ako sú emócie, intuí-<br />

cia, preferencie, pocity, vnemy a rôzne iné psychologické funkcie, ktoré dostali pome-<br />

novanie KANSEI (z japonského slova 感性工学 kansei kougaku: zmyslové inžinier-<br />

stvo). Slovo KANSEI je interpretované rôzne, a nepoužíva sa len v súvislosti<br />

s dizajnom. Podľa [7] KANSEI nadobúda viac významov (subjektívny efekt, ktorý nie<br />

je možné opísať len slovne; kognitívny koncept, ovplyvnený znalosťou, skúsenosťami a<br />

vlastnosťami jednotlivca; vzájomná interakcia medzi intuíciou a intelektuálnou aktivi-<br />

tou; citlivosť vnímania aspektov ako je krása a tvorba obrazov).<br />

Hodnotiaca funkcia v IEC začleňuje subjektívne ohodnotenie, čiže KANSEI, do<br />

optimalizačného systému. V prípade užívateľa, ktorý navrhuje tanec, tento užívateľ má<br />

vo svojej mysli určitú predstavu, pocit, obraz. K jeho uspokojeniu dochádza, keď finál-<br />

ny produkt splnil jeho predstavu. V umení a dizajne, KANSEI je jeden<br />

z najdôležitejších elementov, pretože jeho výstupom je kreativita. Je dokázané, že sprá-<br />

vanie človeka pri tvorení diela nie je založené na logike, ale na KANSEI.<br />

Protikladom je slovo CHISEI, ktoré znamená inteligenciu, správanie založené na<br />

logickom podklade. KANSEI a CHISEI majú rovnakú silu pri ľudskom konaní. Väčšina<br />

dizajnérov sa doteraz zameriavala na CHISEI, z dôvodu, že KANSEI bol považovaný<br />

za celkom subjektívny fenomén, keďže každý jednotlivec vníma skutočnosti rozdielne.<br />

Masová výroba nebrala do úvahy individuálne preferencie a pocity, čo je príčina, prečo<br />

43


FEI KKUI<br />

dizajn nevnímal KANSEI. Súčasným trendom je, že funkčné požiadavky sú riešené<br />

CHISEIom, čiže logickou znalosťou technológie, ale splnenie emocionálnych potrieb,<br />

vrátane krásy, upriamuje pozornosť na KANSEI.<br />

3.3 Problematika interaktívnych evolučných výpočtov<br />

Inžiniersky prístup pri návrhu softvéru vedie k takému prístupu, kde vnútorná<br />

štruktúra programu je navrhnutá tak, aby bola čo najviac prístupná užívateľovi, čím sa<br />

paradoxne celý softvér stáva menej prístupným, pretože tým sa komplikuje užívateľské<br />

rozhranie. Napríklad, namiesto toho, aby sme manipulovali so vzhľadom obrázku, na-<br />

stavujeme jeho parametre. Často sa používa opačný prístup, kde všetky parametre sú<br />

užívateľovi skryté a užívateľ sa sústredí len na zlepšovanie/dosiahnutie želaného výstu-<br />

pu.<br />

Súčasný výskum interaktívnych evolučných výpočtov je zameraný práve na ich<br />

spriatelenie sa s človekom a na uľahčenie ich vzájomnej spolupráce.<br />

Z pohľadu hľadania spôsobov, ako zlepšiť výkon optimalizácie IGA, sa výskum<br />

orientuje hlavne na riešenie týchto problémov:<br />

(1) redukovanie únavy používateľa (user´s fatigue) a<br />

(2) zabezpečenie rozmanitosti populácie na zlepšenie schopnosti algo-<br />

ritmu bádania.<br />

V momente, keď ľudský operátor prichádza do kontaktu s vytrvalým počítačo-<br />

vým systémom a hodnotí jedincov EC, proces IEC nemôže pokračovať vo veľkom<br />

množstve generácií.<br />

Známy je prístup, keď sa systém učí proces užívateľových subjektívnych hodno-<br />

tení a čiastočne alebo celkom nahrádza užívateľov v ich hodnotení, v niektorých alebo<br />

všetkých hodnotených vhodností jedincov v primeranom čase tak, aby sa redukoval čas<br />

strávený užívateľmi pri hodnotení jedincov. Rozšírený je prístup, v ktorom sa zavádzajú<br />

neurónové siete. Neurónové siete sa učia subjektívne hodnotiť človeka a nahrádzajú<br />

užívateľov v ohodnocovaní fitness jedincov alebo funkcie vhodnosti sa hodnotia pomo-<br />

cou NN v IGA. V rôznych fázach sú zavedené rôzne NN na učenie hodnotení užívate-<br />

ľov a potom NN nahradzuje užívateľa v tomto procese. Známy je aj koncept génových<br />

44


FEI KKUI<br />

častí a hodnotenie celkovej vhodnosti hodnotením jednotlivých vhodností génových<br />

častí.<br />

Alternatívou alebo doplňujúcou metódou na minimalizáciu užívateľskej únavy je<br />

aj zrýchlenie konvergencie EC (zlepšenie schopnosti lokálneho prehľadávania). Ohsaki<br />

a Takagi [13] publikovali metódu, ktorá spočíva v aproximácii prehľadávanej plochy<br />

použitím konvexnej krivky. V niektorých prípadoch postačuje aj možnosť vývoja EC<br />

technológie, ktorá prehľadáva a konverguje s malou populáciou. Taktiež prichádza do<br />

úvahy metóda, v ktorej sa priamo manipuluje s najlepším jedincom, keď sa populácie<br />

vyvinuli do určitej fázy aplikáciou istej hierarchie v populácii.<br />

Dôležitý je aj návrh programového rozhrania tak, aby bolo jednoduché<br />

a atraktívne pre používateľa.<br />

45


FEI KKUI<br />

„Umelec je nádoba emócií, ktoré prichádzajú zo všetkých možných miest:<br />

z oblohy, zo zeme, z útržka papieru, z nestálosti tvaru... „<br />

46<br />

Pablo Picasso, španielsky maliar<br />

4 Návrh systému pre robotický tanec pomocou<br />

interaktívnej evolúcie<br />

4.1 Motivácia<br />

Pri tvorbe robotického tanca je možné použiť rôzne prístupy. Môže to byť naprí-<br />

klad len prevedenie dopredu vygenerovaných, resp. naprogramovaných pohybov. Na<br />

druhej strane sú známe aj prístupy, keď robot pozoruje tanečné kroky od ľudského ale-<br />

bo iného robotického partnera a tým sa ich sám učí. V niektorých aplikáciách sa berie<br />

do úvahy aj hudba – pohyb robota sa generuje v závislosti od hudby alebo naopak, typ<br />

hudby na základe predvedeného pohybu.<br />

V tejto práci je na generovanie pohybu – tanca – humanoidného robota použitý in-<br />

teraktívny genetický algoritmus. Interaktívny prístup v návrhu tanca umožňuje človeku<br />

– užívateľovi ovplyvňovať vývoj tanca, čiže tvoriť tanečnú choreografiu. Chromozómy<br />

predstavujú tanečné kroky, respektíve sekvencie tanečného celku, ktoré evolúciou vy-<br />

tvoria celý tanec. Užívateľ hodnotí jednotlivé sekvencie, to znamená, že definuje fitness<br />

jedincov – vyberá si, akým spôsobom sa tanec uberá.<br />

Hlavným dôvodom výberu interaktívnej evolúcie je fakt, že vhodnosť úseku tanca<br />

určuje človek vstupujúci do procesu hodnotenia. Človek takýmto spôsobom zasahuje do<br />

evolučného prístupu a každý výsledný stav systému, v závislosti od konkrétneho užíva-<br />

teľa, je jedinečný. Závisí od vkusu a preferencií jednotlivého človeka, ktorý prichádza<br />

do interakcie s robotickým systémom. Takýmto spôsobom vznikajú originálne tanečné<br />

kreácie.<br />

4.2 Navrhované riešenie<br />

V tejto podkapitole je uvedený základný koncept navrhovaného riešenia.


FEI KKUI<br />

Obr. 10 Schéma navrhovaného riešenia<br />

Evolučné algoritmy (EA) sú prírodne inšpirované prehľadávacie algoritmy založe-<br />

né na Darwinovej teórii prirodzeného výberu. Na začiatku sa náhodným spôsobom vy-<br />

generuje niekoľko potencionálnych riešení problému – vytvorí sa populácia jedincov.<br />

V navrhovanom systéme počiatočná populácia predstavuje chromozómy, predstavujúce<br />

nastavenia kĺbov robota, ktoré sú náhodne vygenerované z intervalu prípustných hodnôt<br />

rozpätia pre daný kĺb.<br />

V ďalšom kroku sa riešenia – jedince ohodnotia. Túto úlohu vykonáva človek –<br />

používateľ systému. Na jednoduchom GUI ohodnotí predvedené tance robotov na stup-<br />

nici od 1 do 5. Ak sekvencia tanca dostane známku 1, je k nej v evolučnom algoritme<br />

priradená najvyššia fitness – miera vhodnosti alebo úspešnosti daného reťazca alebo je-<br />

dinca. Takto sa porovnajú ohodnotenia všetkých tancov – jedincov. Ako bolo spomína-<br />

né, na ohodnocovanie jedincov sa používa fitness funkcia, resp. funkcia vhodnosti, kto-<br />

rá každému jedincovi priradí fitness – vhodnosť. Fitness je vyjadrenie, ako dobre, alebo<br />

do akej miery, vie daný jedinec problém riešiť. V interaktívnej evolúcii je tento krok<br />

pozmenený oproti klasickému genetickému algoritmu, keďže vhodnosť jedinca určuje<br />

človek.<br />

Aplikovaním genetickým operátorov, ako sú mutácia a kríženie, sa vytvára nová<br />

generácia, v ktorej majú najvyššiu pravdepodobnosť rozmnožovať sa jedince<br />

47


FEI KKUI<br />

s najvyšším ohodnotením. Pri výbere do novej generácie síce majú najvyššiu pravdepo-<br />

dobnosť prežitia najúspešnejšie jedince, ale istú šancu majú aj menej úspešné jedince.<br />

V mojej aplikácii interaktívnej evolúcie robotického tanca človek hodnotí odtan-<br />

covanú časť tanca na siedmich robotoch – porovnáva, ktorý robot na základe jeho vlast-<br />

ných preferencií odtancoval lepšie a ktorý horšie a ohodnotí ich známkami od 1 do 5<br />

(obr. 11). Na hodnotiacej tabuľke je farebne oddelené hodnotenie robotov, v závislosti<br />

od toho, akej farby sú v simulácii, aby užívateľ vedel, ktorého robota hodnotí.<br />

Po ohodnotení tanečnej sekvencie užívateľ stlačí tlačidlo evolution a tým sa spustí<br />

genetický algoritmus, ktorý je bližšie popísaný v podkapitole 4.4.<br />

Obr. 11 GUI, na ktorom užívateľ ohodnotí na základe vlastných preferencií predvedený<br />

tanec robotov na stupnici od 1 (najlepší tanec) do 5 (tanec sa v ďalšom kroku nebude<br />

vôbec brať do úvahy )<br />

Proces končí, keď sa dosiahne želaný výsledok, resp. keď sa užívateľ rozhodne. Po<br />

istom čase evolučný algoritmus konverguje smerom k podobným tancom.<br />

Navrhnutý systém robotického tanca sa skladá z dvoch častí.<br />

1) Prvá časť predstavuje samotný evolučný algoritmus, ktorý je napísaný<br />

v jazyku Python a výstupom z neho je chromozóm obsahujúci nastavenie<br />

jednotlivých kĺbov robota.<br />

48


FEI KKUI<br />

2) Druhá časť riešenia návrhu je realizovaná v simulačnom prostredí We-<br />

bots, ktorého podrobnejší popis je uvedený v podkapitole 4.3. Výsledný<br />

tanec je ukázaný na siedmich robotoch, ktorých sekvencia tanečných kro-<br />

kov predstavuje sedem najlepších jedincov z evolúcie.<br />

Pri navrhovaní systému robotického pohybu sa často využívajú simulátory, na kto-<br />

rých sa navrhovaný systém vyvíja a testuje. Aj keď by bolo experimenty najvhodnejšie<br />

vykonávať priamo na reálnych robotoch, pretože reálny robot je najlepší model samého<br />

seba, ktorému sa simulovaný robot iba blíži, ale z časových, finančných a realizačných<br />

dôvodov sa často experimentuje v simulácii. Vyvíjanie systému robotického tanca<br />

priamo na hardvérovej implementácii by nieslo riziko poškodenia nákladného technic-<br />

kého vybavenia – teda jeden z krokov návrhu systému je vývoj simulátora robotického<br />

prostredia.<br />

Webots po prebehnutí evolúcie, realizovanej v jazyku Python, načíta výstupný sú-<br />

bor s fenotypom. V tomto simulátore je namodelované prostredie so siedmimi robotmi<br />

a každý z nich sa pohybuje podľa svojho načítaného fenotypu. Načítanie súboru<br />

s fenotypom a samotné nastavenie kĺbov počas jednotlivých úsekov tanca je<br />

v simulačnom prostredí riešené v jazyku C++.<br />

Poslednou úlohou pri návrhu systému je hľadanie správnych parametrov evoluč-<br />

ného algoritmu (napríklad miery kríženia a mutácie).<br />

Celkový postup riešenia je možné zhrnúť do týchto bodov:<br />

1. implementácia genetického algoritmu,<br />

2. realizácia simulátora robotov,<br />

3. realizácia experimentov.<br />

49


FEI KKUI<br />

Obr. 12 Navrhnutý systém: evolučný algoritmus vygeneruje súbor s fenotypmi obsahu-<br />

júci informáciu o nastavení jednotlivých kĺbov robotov, ktorý načíta simulátor<br />

a vykoná pohyb<br />

V ďalších častiach práce podrobne popíšem každý z jednotlivých bodov návrhu<br />

riešenia. Robot Nao a simulátor robotov bude popísaný v časti diplomovej práce 4.3.<br />

Popis genetického algoritmu, resp. interaktívnej evolúcie je uvedený v podkapitole 4.4.<br />

Experimenty sú prezentované v kapitole 5.<br />

4.3 Humanoidný robot Nao a simulácia jeho tanca<br />

Cieľom diplomovej práce je, aby človek pomocou interaktívnej evolúcie vytváral<br />

tanečnú choreografiu špeciálne <strong>humanoidných</strong> robotov Naov.<br />

Nao je autonómny a programovateľný humanoidný robot, vytvorený francúzskou<br />

firmou Aldebaran Robotics 9 . Meria 0.57m a váži 4.5 kg. Je schopný chodiť plynulo<br />

rôznymi smermi a dosahuje rýchlosť 3 km/h [6].<br />

9 www.aldebaran-robotics.com/en/<br />

50


FEI KKUI<br />

.<br />

Obr. 13 Robot Nao: reálna podoba<br />

Nao bol navrhnutý tak, aby vyzeral priateľsky pre verejnosť, čo je výsledkom štu-<br />

dentského projektu francúzskej školy Dizajnu a manažmentu Creapol. Aldebaran Robo-<br />

tics podľa [6] momentálne pracuje na vývoji algoritmu, ktorý by bol schopný rozpozná-<br />

vať pohyby ramien. Predpokladá sa, že potom bude Nao schopný opakovať pohyby člo-<br />

veka.<br />

Tabuľka č. 1 Vlastnosti robota Naa: Všeobecné vlastnosti robota, stupne voľnosti, obsahujúce<br />

multimédiá a podporované programovacie jazyky (www.aldebaranrobotics.com)<br />

Všeobecné vlastnosti<br />

Stupne voľnosti<br />

Multimédiá<br />

51<br />

Výška ~ 58 cm<br />

Váha ~ 4.3 kg<br />

Kapacita batérie ~ 90 min (v autonómnom<br />

stave )<br />

Hlava 2<br />

Rameno 5 v každom<br />

Trup 1<br />

Noha 5 v každej<br />

Ruka 1 v každej<br />

Reproduktory 2<br />

Mikrofóny 4


FEI KKUI<br />

52<br />

Videnie 2 kamery<br />

Napojenie na sieť: Wifi, Ethernet<br />

Programovacie jazyky C, C++, URBI, Python<br />

Ako už bolo spomínané, pri generovaní systému pohybu, sa často používajú simu-<br />

látory robota, čo je v podstate 3D model robota, resp. viacerých robotov, ktorý v čo naj-<br />

vyššej miere simuluje fyzikálne správanie reálneho robota.<br />

Medzi známe robotické simulátory patrí napríklad:<br />

– Microsoft Robotics Studio,<br />

– PyRo,<br />

– Choreographe,<br />

– Gostai Urbi Studio a<br />

– Webots.<br />

V tejto práci som pohyb som najprv skúšala implementovať v prostredí Choreog-<br />

raphe, ale nevýhoda tohto simulátora je, že obsahuje iba model jedného robota Naa.<br />

Opis simulátora a ukážky zdrojových kódov sú uvedené v systémovej príručke.<br />

Na tvorbu tanca interaktívnou evolúciou som potrebovala prostredie, ktoré by pri-<br />

púšťalo možnosť zobrazenia viacerých robotov, preto som simuláciu realizovala<br />

v simulátore Webots.


FEI KKUI<br />

Obr. 14 Vývojové prostredie simulátora Choreographe<br />

Webots 10 je vývojové prostredie, ktoré slúži na modelovanie, programovanie a si-<br />

mulovanie mobilných robotov (http://www.cyberbotics.com/products/webots/).<br />

Obr. 15 Vývojové prostredie simulátora Webots<br />

Užívateľ môže pomocou Webotsu navrhnúť zložité robotické prostredia, s jedným<br />

alebo viacerými, podobnými alebo odlišnými robotmi. Vlastnosti každého objektu, ako<br />

je tvar, farba, textúra, hmotnosť, trenie, atď. sú vybrané užívateľom. Každého robota je<br />

možné vybaviť rôznymi snímačmi a akčnými členmi. Webots používa viac ako 650<br />

univerzít a výskumných centier vo svete.<br />

Spracovanie simulácie robotického tanca v prostredí Webots obnáša, ako je pre<br />

všeobecný prípad znázornené na obrázku 16., konkrétne pre navrhovaný systém tieto<br />

kroky:<br />

1) navrhnúť vlastný svet – prostredie so siedmimi robotmi,<br />

2) program v jazyku C++, kde je riešené načítanie súboru vyprodukovaného evo-<br />

lučným algoritmom a<br />

3) následne na základe načítaného súboru vykonanie samotného tanca – simulá-<br />

cia a prípadne v budúcnosti aj:<br />

4) transfer na reálne roboty.<br />

10 www.cyberbotics.com/products/webots/<br />

53


FEI KKUI<br />

Obr. 16 Kroky práce so simulátorom Webots: model, program, simulácia a transfer na<br />

reálne roboty (www.cyberbotics.com/products/webots/)<br />

Simulátor má vlastný „programovací jazyk“ na zadefinovanie prostredia – tzv.<br />

sveta – je to súbor .wbt na CD. Algoritmus návrhu modelu zhrniem do nasledujúcich<br />

krokov:<br />

1) Nastavenie pohľadu – pozície a orientácie osí x, y a stupňov z pohľadu užívateľa.<br />

2) Nastavenie pozadia – farby a jednotlivých svetiel dopadajúcich na model.<br />

3) Vytvorenie modelov jednotlivých robotov.<br />

Výsledný model sveta je znázornený na obrázku 17.<br />

Obr. 17 Zhotovené prostredie vo Webotsi na simuláciu evolúcie robotického tanca<br />

siedmich robotov, ktorí sú odlíšení farbou<br />

Roboty si načítajú svoje súbory, ktoré sú výstupom evolučného algoritmu a na<br />

základe nich vykonajú pohyb.<br />

54


FEI KKUI<br />

Nao má 25 stupňov voľnosti. Na obrázkoch č. 18 a 19 je znázornená jeho kine-<br />

matika s prehľadom všetkých kĺbov, ktoré je možné otáčať alebo inak uviesť do pohy-<br />

bu:<br />

Obr. 18 Kinematika robota Nao: 25 stupňov voľnosti [6]<br />

Obr. 19 Kinematika robota Nao znázornená na jeho „kostre“ [6]<br />

Pri programovaní je dôležité dbať na prípustné rozpätie každého kĺbu robota<br />

Naa, ako je uvedené v tabuľke 2:<br />

55


FEI KKUI<br />

Tabuľka č. 2 Technické parametre robota Naa: kĺby a ich rozpätie v stupňoch<br />

Časť Možný pohyb (os) Rozsah (v stupňoch)<br />

A.<br />

Hlava<br />

B.<br />

Ľavá<br />

ruka<br />

C.<br />

Ľavá<br />

noha<br />

D.<br />

Pravá<br />

noha<br />

E.<br />

Pravá<br />

1. Otočenie hlavy (zakrútenie) (Z) – 120 / 120<br />

2. Sklon hlavy (dopredu a dozadu) (Y) – 39 / 30<br />

3. Sklon ramena (dopredu a dozadu) (Y) – 120 / 120<br />

4. Naklonenie ramena (naľavo a doprava) (Z) 0 / 95<br />

5. Naklonenie lakťa (zakrútenie) (X) – 90 / 0<br />

6. Otočenie lakťa (Z) – 120 / 120<br />

7. Otočenie zápästia (X) – 105 / 105<br />

8. Dlaň (otvorenie– zatvorenie) otvorená/zatvorená<br />

9. Otočenie bedra (vykrútenie) (Z) – 44 / 68<br />

10. Sklon bedrového kĺbu (dopredu a dozadu) (Y) – 104.5 / 28.5<br />

11. Naklonenie bedra (naľavo a doprava) (X) – 25 / 45<br />

12. Sklon kolena (Y) – 5 / 125<br />

13. Sklon členka (dopredu a dozadu) (Y) – 70.5 / 54<br />

14. Naklonenie členka (naľavo a doprava) (X) – 45 / 25<br />

15. Otočenie bedra (vykrútenie) (Z) – 68 / 44<br />

16. Sklon bedrového kĺbu (dopredu a dozadu) (Y) – 104.5 / 28.5<br />

17. Naklonenie bedra (naľavo a doprava) (X) – 45 / 25<br />

18. Sklon kolena (Y) – 5 / 125<br />

19. Sklon členka (dopredu a dozadu) (Y) – 70.5 / 54<br />

20. Naklonenie členka (naľavo a doprava) (X) – 25 / 45<br />

21. Sklon ramena (dopredu a dozadu) (Y) – 120 / 120<br />

22. Naklonenie ramena (naľavo a doprava) (Z) – 95 / 0<br />

56


FEI KKUI<br />

ruka 23. Naklonenie lakťa (zakrútenie) (X) 0 / 90<br />

24. Otočenie lakťa (Z) – 120 / 120<br />

25. Otočenie zápästia (X) – 105 / 105<br />

26. Dlaň (otvorenie– zatvorenie) otvorená/zatvorená<br />

4.4 Implementácia genetického algoritmu<br />

57<br />

Tí, ktorí sú inšpirovaní iným modelom ako Prírodou,<br />

vládnucou všetkým pánom, márne sa snažia.<br />

Leonardo Da Vinci<br />

Keby sme mali vystihnúť hlavnú charakteristiku GA, za najdôležitejšiu myšlienku<br />

by sme asi zvolili, že pracujú s populáciou viacerých riešení, kde pôsobením genetic-<br />

kých operácií kríženia a mutácie priebežne vznikajú úspešnejšie a menej úspešné rieše-<br />

nia – pričom úspešné, čiže lepšie riešenia majú väčšiu šancu byť vybrané, postupovať v<br />

evolúcii ďalej a odovzdávať svoje vlastnosti ďalším generáciám, na úkor menej úspeš-<br />

ných jedincov, ktoré zanikajú [14].<br />

Cyklus GA sa začína množinou riešení, ktoré sa nazývajú populácie. Riešenie je<br />

reprezentované chromozómom. Veľkosť populácie je väčšinou zachovávaná v každej<br />

generácii. Vhodnosť každého chromozómu sa ohodnocuje a potom sa vyberajú chromo-<br />

zómy pre budúce generácie podľa ich fitness hodnoty. Niektoré z vybraných chromo-<br />

zómov sa náhodne krížia a produkujú potomstvo. Pri tvorbe potomstva môže dôjsť<br />

k náhodnej mutácii jedinca.<br />

Vzhľadom k tomu, že chromozómy s vysokou hodnotou fitness majú vysokú<br />

pravdepodobnosť, že budú vybrané do ďalšej generácie, chromozómy novej generácie<br />

majú spravidla vyššiu priemernú fitness ako staršie generácie (čo ale nemusí platiť<br />

vždy). Proces evolúcie sa opakuje až pokiaľ je splnená koncová podmienka.<br />

Na obrázku č. 20 je schéma cyklu krokov genetického algoritmu.


FEI KKUI<br />

Obr. 20 Genetický algoritmus systému, ktorý bol realizovaný v jazyku v Python:<br />

schéma jednotlivých časti algoritmu<br />

Na implementáciu genetického algoritmu bol v navrhovanom systéme použitý<br />

programovací jazyk Python z niekoľkých dôvodov. Ide o interpretovaný, interaktívny,<br />

objektovo–orientovaný a dynamicky napísaný programovací jazyk. Vo väčšine prípa-<br />

dov sú chromozómy vyjadrené ako zoznamy alebo reťazce (stringy). Takže väčšinou sú<br />

operácie v GA operáciami na zoznamoch alebo reťazcoch. Python je ideálny jazyk pre<br />

implementáciu genetických algoritmov, pretože je flexibilný, expresívny a dobre čita-<br />

teľný. Podporuje viac programovacích paradigiem – ako napríklad možné použitie pro-<br />

cedurálneho, funkčného a objektovo–orientovaného programovania – záleží od úlohy,<br />

pre ktorú možnosť sa programátor rozhodne. Pri GA sa najčastejšie používa funkcionál-<br />

ne programovanie, pretože chromozómy sú vyjadrené ako zoznamy alebo reťazce.<br />

Niektoré výhody jazyka Python sú:<br />

1) elegantná syntax,<br />

2) ľahko sa učí,<br />

3) vhodný na veľké projekty, ako aj na vzdelávacie účely,<br />

4) program nepotrebuje kompiláciu, resp. vytvorenie makefilu, takže progra-<br />

movanie je rýchle a<br />

5) debugovanie je ľahké.<br />

V systémovej príručke sú uvedené ostatné výhody.<br />

58


FEI KKUI<br />

4.4.1 Chromozóm<br />

Jedinci populácie sú reprezentovaní chromozómami, čo sú lineárne reťazce symbolov.<br />

Chromozóm je každé riešenie úlohy a v genetickom algoritme je tvorené binárnym re-<br />

ťazcom o danej dĺžke, ktorá je väčšinou, ako aj v navrhnutom systéme, rovnaká pre<br />

všetky chromozómy danej populácie.<br />

Populácia je potom konečná množina chromozómov:<br />

P ={x1, x2, ..., xp }<br />

{ , , , ,... }<br />

x ∈ α β χ δ<br />

Každý chromozóm populácie je ohodnotený pozitívnym reálnym číslom, ktoré sa<br />

nazýva fitness, vhodnosť alebo sila.<br />

Pre spresnenie pojmov ich zhrniem:<br />

f :P → R+<br />

– Chromozóm, niekedy nazývaný jedinec, reprezentuje genotyp organizmu.<br />

– Fenotyp je súhrn všetkých vonkajších znakov a vlastností jedinca, čiže je to<br />

samotná realizácia genotypu.<br />

Vzájomný vzťah medzi genotypom, fenotypom a fitness by mohol byť reprezen-<br />

tovaný postupnosťou dvoch zobrazení:<br />

59<br />

n<br />

[ 0, )<br />

G fenotypF fitness ∞<br />

uuuur uuuur<br />

V navrhovanom systéme fenotyp predstavujú samotné predvedené kroky sekven-<br />

cie tanečného pohybu. Robot Nao má 25 „motorov“, stupňov voľnosti, ktoré sa môžu<br />

nejakým spôsobom nastavovať, meniť a pomocou ich zmeny vznikajú rôzne pozície,<br />

v konečnom dôsledku pohyb.<br />

Keby sme pracovali so všetkými a nastavovali do jednej polohy, tak by chromo-<br />

zóm v genetickom algoritme mal dĺžku 25 „génov“. Jednotlivé kĺby a ich rozpätie v uh-<br />

loch je uvedené v tabuľke 2. Ak by sme uvažovali o prístupe, kde by sme menili jednu<br />

polohu kĺbu do druhej, chromozóm by bol dvakrát taký dlhý.<br />

Gén v chromozóme teda predstavuje nastavenie kĺbu. Keďže kĺby u robota Naa<br />

majú rozličné uhlové rozpätia, je potrebné ich normalizovať. V jazyku Python normali-<br />

zácia vyzerá nasledovne:<br />

parents[i][j] = normalize(chromosome[i][j],– 120,120,0.0,1.0)


FEI KKUI<br />

Popis konkrétnych častí fenotypu je uvedený pri experimentoch v kapitole 5.<br />

4.4.2 Meranie vhodnosti<br />

Spolu: 20 bitov<br />

A: 1. pozícia kĺbov hlavy<br />

B: 1. pozícia kĺbov ľavej ruky<br />

C: 1. pozícia kĺbov pravej ruky<br />

D: 2. pozícia kĺbov hlavy<br />

E: 2. pozícia kĺbov ľavej ruky<br />

F: 2. pozícia kĺbov pravej ruky<br />

Obr. 21 Kódovanie chromozómu<br />

Pri používaní EA meranie fitness predstavuje ohodnocovanie jednotlivých jedincov, to<br />

znamená, že meraním vhodností ovplyvňujeme celý výsledok algoritmu. V navrhova-<br />

nom systéme (ako bolo už spomínané), človek hodnotí tance predvedené robotmi, čiže<br />

im priradzuje fitness.<br />

Obr. 22 Prostredie navrhovaného systému, v ktorom používateľ priradzuje fitness jed-<br />

notlivým tancom robotov<br />

60


FEI KKUI<br />

4.4.3 Selekcia<br />

Selekcia je výber rodičov, ktorí produkujú potomkov – teda jedincov, ktorí vstupujú do<br />

reprodukcie. Je to šanca na reprodukciu (šanca reprodukcie) spojená s vhodnosťou je-<br />

dinca. Jedinec s vyššou vhodnosťou (lepšie riešenie) by mal mať rovnakú alebo väčšiu<br />

šancu ako jedinec s menšou vhodnosťou.<br />

Vo všeobecnosti je schéma selekcie:<br />

Obr. 23 Dva kroky vo všeobecnej schéme selekcie<br />

Tri základné typy vzorkovania sú: 1) založené na očakávaných hodnotách – ore-<br />

zanie, 2) turnaje a 3) náhodný výber.<br />

Ako selekčná metóda bola v systéme použitá metóda binárny turnaj, pri ktorej sa<br />

náhodným spôsobom vyberú dvaja jedinci z populácie, budú medzi sebou súťažiť, pri-<br />

čom ide o súťaž rodičov.<br />

Elitizmus znamená, že najlepšie riešenie populácie sa automaticky bez akejkoľ-<br />

vek zmeny prenáša do novej generácie.<br />

4.4.4 Genetické operátory<br />

Genetické operátory sú prostriedky, ktoré zabezpečujú reprodukciu – ich aplikáciou<br />

vznikajú potomkovia.<br />

V systéme sa pracuje s dvoma genetickými operátormi:<br />

1) 1 rodič (asexuálny) – mutácia a<br />

2) 2 rodičia (sexuálny) – kríženie.<br />

Premapovanie vhodnosti<br />

Vzorkovanie<br />

Pri krížení sa z dvoch jedincov vytvorí nový jedinec. Pri binárnej reprezentácii je-<br />

dinca sú najpoužívanejšie: 1) jednobodové kríženie, 2) dvojbodové kríženie, 3) n–<br />

bodové kríženie a 4) uniformné kríženie, ktoré bolo v navrhovanom systéme zvolené.<br />

61


FEI KKUI<br />

V tomto type kríženia sa generuje maska, ktorú predstavuje reťazec rovnakej dĺžky ako<br />

je dĺžka jedincov. Na každom mieste masky sa náhodne vygeneruje hodnota 0 alebo 1<br />

a určí sa, že v prípade, ak je na mieste v maske 0, vyberie sa do potomka hodnota z pr-<br />

vého jedinca a keď 1, z druhého jedinca.<br />

Obr. 24 Schéma uniformného kríženia<br />

Pri asexuálnych genetických operátoroch je na vytvorenie nového jedinca potrebný<br />

len jeden jedinec. Mutácia sa urobí na každom potomkovi zvlášť po krížení. Všetky gé-<br />

ny sú s nízkou pravdepodobnosťou náhodne pozmenené – inak povedané, mutácia mení<br />

jedinca a vytvára nového a vždy vytvára nový genetický materiál. Mutácia zabezpeču-<br />

je, aby žiaden bod priestoru riešení nemal nulovú pravdepodobnosť prehľadania. Miera<br />

pravdepodobností kríženia a mutácie je analyzovaná v kapitole 5.<br />

Nastaveniu parametrov evolúcie sa bližšie venuje nasledujúca kapitola.<br />

62


FEI KKUI<br />

Ak nenájdeme nič vznešené, aspoň by sme mali nájsť niečo nové.<br />

63<br />

Voltaire, Candide<br />

5 Realizácia demonštračných experimentov na<br />

vyvíjanom systéme<br />

5.1 Návrh experimentov<br />

Na úvod zhrniem parametre genetického algoritmu ktoré boli použité<br />

v jednotlivých experimentoch:<br />

1) Veľkosť populácie.................................................... 7<br />

(keďže je 7 robotov, na ktorých sa realizuje tanec)<br />

Počiatočné populácie môžu byť jednoducho predefinované pomocou nástrojov<br />

mutácie a kríženia, napríklad jedinci sa radikálne zmenia nastavením miery mutácie na<br />

vysokú hodnotu. Hoci len mutácia v genotype v malej miere môže spôsobiť obrovské<br />

zmeny vo fenotype.<br />

2) Kríženie jedinca ....každý jedinec podľa náhodne vygenerovanej masky<br />

Kríženie je veľmi nápomocné v priebehu prvých generácií, ale viac škodiace, ako<br />

nápomocné v neskorších generáciách, pretože najlepšie chromozómy sa časom stávajú<br />

veľmi podobnými. Keď sa potomok stáva najlepším jedincom, existuje veľká pravde-<br />

podobnosť, že jeho genotyp pochádza z jedinca, ktorý bol v predchádzajúcej generácii<br />

najlepší, takže sa budú veľmi málo odlišovať a kríženie má v tomto prípade minimálny<br />

vplyv.<br />

3) Pravdepodobnosť mutácie...............................................................80%,<br />

ale len v malom okolí génu (2 – 10%)<br />

Malá miera mutácie znamená, že existuje malá šanca, že fenotyp bude zmenený.


FEI KKUI<br />

4) Veľkosť turnaja........................................................... 2 (binárny turnaj)<br />

5) Dĺžka chromozómu............ závisí od počtu kĺbov, ktoré nastavujeme<br />

Ak neuvažujeme o pohybe nôh, je to 20 bitov.<br />

Na ilustráciu experimentov uvádzam obrázky, znázorňujúce stav tanca<br />

v jednotlivých generáciách evolúcie. Inicializačná poloha robotov je znázornená na ob-<br />

rázku 25.:<br />

Obr. 25 Inicializačná poloha robotov<br />

Úlohou používateľa je spustiť evolučný algoritmus a simulačné prostredie We-<br />

bots, v ktorom sleduje tanečné sekvencie robotov. Po odtancovaní jednej časti tanca<br />

hodnotí príslušných robotov na vytvorenom GUI a evolučný algoritmus vytvorí novú<br />

populáciu.<br />

Po dokončení simulácie tanca sa po každom kroku evolúcie v konzolovom okne<br />

vypíše, že jednotlivé roboty ukončili pohyb (v angl. controller has terminated), ako je<br />

znázornené na obrázku 26.<br />

64


FEI KKUI<br />

Obr. 26 Po dokončení simulácie tanca sa po každom kroku evolúcie v konzolovom ok-<br />

ne vypíše, že jednotlivé roboty ukončili pohyb<br />

V nasledujúcich experimentoch sú uvedené výsledky pri generovaní robotického<br />

tanca robotov. Ich výsledkom je konečný tanec, ktorý sa dosiahol hodnotením jednotli-<br />

vých častí tancov užívateľmi.<br />

5.2 Experimentálne výsledky generovania robotického tanca<br />

5.2.1 Časti fenotypu<br />

Pozorovať ako tancujeme je počúvať, čo hovoria naše srdcia.<br />

65<br />

Indiánske príslovie<br />

Dĺžka fenotypu pri tomto tanci je 20. Neuvažujeme o nohách robota a pracuje sa<br />

len s jeho hornou časťou: s hlavou a rukami. Fenotyp robota je napríklad:<br />

[62, -33, -68, 72, -88, -37, -42, -57, 2, 63, -79, -31, 94, 17, -101, -83, -21, -20, 75, 72]<br />

Tieto čísla v tomto tanci predstavujú nastavenie týchto kĺbov (inak povedané serv<br />

alebo motorov) robota v poradí ako je uvedené.


FEI KKUI<br />

1. Pozícia kĺbu HeadYaw<br />

1. Pozícia kĺbu HeadPitch<br />

1. Pozícia kĺbu leftShoulderPitch<br />

1. Pozícia kĺbu leftShoulderRoll<br />

1. Pozícia kĺbu rightShoulderRoll<br />

1. Pozícia kĺbu rightShoulderRoll<br />

1. Pozícia kĺbu leftElbowYaw<br />

1. Pozícia kĺbu rightElbowYaw<br />

1. Pozícia kĺbu leftElbowRoll<br />

Obr. 27 Bity fenotypu, ktoré predstavujú nastavenie daných kĺbov robota v stupňoch<br />

5.2.2 Hodnotenie subjektu č. 1 a evolúcia fenotypov<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

66<br />

1. Pozícia kĺbu rightElbowRoll<br />

2. Pozícia kĺbu HeadYaw<br />

2. Pozícia kĺbu HeadPitch<br />

2. Pozícia kĺbu leftShoulderPitch<br />

2. Pozícia kĺbu leftShoulderRoll<br />

Tabuľka č. 3.: Nultá generácia hodnotiteľa č. 1.<br />

2. Pozícia kĺbu rightShoulderRoll<br />

2. Pozícia kĺbu rightShoulderRoll<br />

2. Pozícia kĺbu leftElbowYaw<br />

2. Pozícia kĺbu rightElbowYaw<br />

Nultá generácia Známka<br />

120,38,-33,30,15,-72,-45,-53,18,22,-97,-5,-43,30,65,-11,21,-45,85,32<br />

-49,-22,67,41,-32,-72,-89,-95,-120,72,-54,-13,-102,16,-27,-58,-25,-91,-53,16<br />

-90,0,7,74,-7,0,72,-20,-54,46,77,18,10,94,4,-6,61,-44,-120,78<br />

-60,-10,-39,47,-55,-2,-81,-17,86,45,63,37,-33,28,-78,-36,-26,-45,101,45<br />

-67,39,-80,44,-5,-42,-40,-31,100,52,19,31,-42,27,-58,0,-30,-42,-18,18<br />

119,7,-82,84,-67,-34,-56,-82,-92,49,3,5,34,80,82,-90,21,-26,114,59<br />

57,-7,-53,64,-44,-1,-87,-11,-80,66,66,41,-23,21,-14,-46,-45,-58,90,45<br />

1<br />

2<br />

4<br />

4<br />

2<br />

5<br />

3<br />

2. Pozícia kĺbu leftElbowRoll<br />

2. Pozícia kĺbu rightElbowRoll


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 4.: Prvá generácia hodnotiteľa č. 1.<br />

Prvá generácia Známka<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

46,10,70,22,16,-34,91,-64,19,63,112,45,-33,23,-89,-67,116,-21,52,2<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

48,-20,-65,23,18,-30,103,-55,45,67,115,-23,-35,13,-87,-2,115,-58,63,1<br />

36,-11,16,89,109,-77,61,-7,111,64,92,-14,51,81,-63,-21,83,-20,-36,0<br />

101,23,-32,47,120,-23,9,-5,-85,29,-108,21,-80,29,-78,-58,-47,-27,-54,59<br />

106,41,-46,29,-61,-11,12,-86,-5,79,83,0,110,73,26,-19,-114,-74,-6,21<br />

Tabuľka č. 5.: Druhá generácia hodnotiteľa č. 1.<br />

Druhá generácia Známka<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

46,10,70,22,16,-34,91,-64,19,63,112,45,-33,23,-89,-67,116,-21,52,2<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

48,-20,-65,23,18,-30,103,-55,45,67,115,-23,-35,13,-87,-2,115,-58,63,1<br />

36,-11,16,89,109,-77,61,-7,111,64,92,-14,51,81,-63,-21,83,-20,-36,0<br />

101,23,-32,47,120,-23,9,-5,-85,29,-108,21,-80,29,-78,-58,-47,-27,-54,59<br />

106,41,-46,29,-61,-11,12,-86,-5,79,83,0,110,73,26,-19,-114,-74,-6,21<br />

67<br />

2<br />

3<br />

4<br />

2<br />

4<br />

5<br />

5<br />

2<br />

3<br />

4<br />

2<br />

4<br />

5<br />

5


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 6.: Tretia generácia hodnotiteľa č. 1.<br />

Tretia generácia Známka<br />

41,-13,-58,24,19,-33,73,-60,49,70,111,-23,-19,27,-95,-3,120,-19,74,1<br />

26,16,36,5,114,-20,117,-59,-10,64,100,41,30,72,-70,-59,99,-27,65,1<br />

70,14,51,22,7,-30,89,-54,11,53,120,35,-33,16,-92,-63,106,-22,46,4<br />

99,14,-40,45,108,-28,11,-11,-90,30,-93,27,-82,25,-70,-56,-36,-26,-58,55<br />

109,37,-24,30,-48,-9,30,-88,-1,76,95,7,120,79,38,-11,-105,-76,-28,22<br />

30,32,31,18,-32,-21,119,-54,26,88,112,37,-21,20,-83,-53,94,-21,89,8<br />

109,37,-24,30,-48,-9,30,-88,-1,76,95,7,120,79,38,-11,-105,-76,-28,22<br />

Tabuľka č. 7.: Štvrtá generácia hodnotiteľa č. 1.<br />

Štvrtá generácia Známka<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

46,10,70,22,16,-34,91,-64,19,63,112,45,-33,23,-89,-67,116,-21,52,2<br />

31,28,49,15,-38,-21,113,-55,13,84,94,39,-43,25,-98,-58,101,-19,77,5<br />

48,-20,-65,23,18,-30,103,-55,45,67,115,-23,-35,13,-87,-2,115,-58,63,1<br />

36,-11,16,89,109,-77,61,-7,111,64,92,-14,51,81,-63,-21,83,-20,-36,0<br />

101,23,-32,47,120,-23,9,-5,-85,29,-108,21,-80,29,-78,-58,-47,-27,-54,59<br />

106,41,-46,29,-61,-11,12,-86,-5,79,83,0,110,73,26,-19,-114,-74,-6,21<br />

68<br />

2<br />

3<br />

4<br />

2<br />

4<br />

5<br />

5<br />

1<br />

3<br />

3<br />

2<br />

3<br />

5<br />

5


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 8.: Piata generácia hodnotiteľa č. 1.<br />

Piata generácia Známka<br />

50,-2,-70,29,36,-26,90,-64,49,60,96,-20,-5,30,-91,-3,105,-13,65,0<br />

30,21,37,3,116,-17,105,-61,-6,60,89,42,21,69,-64,-55,95,-26,65,0<br />

59,14,60,23,-3,-34,73,-64,38,66,109,36,-27,28,-86,-3,96,-24,45,3<br />

30,32,31,18,108,-28,119,-54,-90,88,-93,28,-21,20,-83,-53,-36,-26,89,8<br />

50,-2,-70,29,36,-26,90,-64,49,60,96,-20,-5,30,-91,-3,105,-13,65,0<br />

50,-2,-70,29,36,-26,90,-64,49,60,96,-20,-5,30,-91,-3,105,-13,65,0<br />

30,21,37,3,116,-17,105,-61,-6,60,89,42,21,69,-64,-55,95,-26,65,0<br />

Tabuľka č. 9.: Šiesta generácia hodnotiteľa č. 1.<br />

Šiesta generácia Známka<br />

37,0,-78,37,59,-27,98,-65,48,62,73,-16,-2,32,-120,-3,120,-10,74,4<br />

10,33,11,10,120,-31,101,-54,-85,87,-88,27,-37,11,-76,-39,-40,-21,69,3<br />

10,33,11,10,120,-31,101,-54,-85,87,-88,27,-37,11,-76,-39,-40,-21,69,3<br />

43,-1,-69,30,42,-27,83,-63,35,66,97,-19,-11,35,-88,-3,111,-12,70,0<br />

23,24,43,7,114,-19,104,-65,-9,61,78,39,22,65,-71,-58,101,-28,64,0<br />

40,32,26,5,110,-18,114,-58,-17,58,-100,26,-31,17,-62,-54,89,-25,61,11<br />

25,19,45,3,106,-16,98,-56,-1,60,82,44,22,72,-70,-58,95,-21,70,0<br />

69<br />

5<br />

1<br />

2<br />

2<br />

5<br />

5<br />

2<br />

2<br />

5<br />

4<br />

5<br />

1<br />

3<br />

1


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 10.: Siedma generácia hodnotiteľa č. 1.<br />

Siedma generácia Známka<br />

37,34,8,0,108,-16,120,-62,4,62,-92,36,-2,25,-70,-52,98,-24,82,11<br />

-2,29,53,10,93,-19,82,-60,-9,65,66,39,23,67,-79,-61,94,-21,64,0<br />

46,1,-79,36,66,-32,103,-56,-80,58,89,-15,-36,33,-109,-3,120,-23,65,7<br />

21,29,26,8,120,-23,105,-59,-70,89,-83,24,-46,5,-62,-43,-28,-26,48,7<br />

17,22,56,5,107,-12,92,-55,6,62,74,40,19,72,-76,-53,94,-16,61,0<br />

1,29,12,11,120,-28,94,-51,-84,90,-90,24,-33,8,-72,-43,-40,-17,74,2<br />

21,29,26,8,120,-23,105,-59,-70,89,-83,24,-46,5,-62,-43,-28,-26,48,7<br />

Tabuľka č. 11.: Ôsma generácia hodnotiteľa č. 1.<br />

Ôsma generácia Známka<br />

-10,19,72,4,102,-10,101,-58,13,59,70,32,1,69,-71,-56,107,-11,33,0<br />

-10,19,72,4,102,-10,101,-58,13,59,70,32,1,69,-71,-56,107,-11,33,0<br />

17,23,56,5,107,-12,92,-55,6,62,74,40,19,72,-76,-53,94,-16,61,0<br />

21,23,26,5,107,-23,92,-59,6,62,74,40,-46,5,-62,-43,94,-16,61,0<br />

21,29,26,10,120,-19,105,-59,-9,89,66,39,23,5,-79,-43,-28,-21,64,0<br />

21,29,26,10,120,-19,105,-59,-9,89,66,39,23,5,-79,-43,-28,-21,64,0<br />

6,32,49,9,86,-14,89,-59,-6,67,74,36,15,69,-86,-61,83,-22,56,2<br />

70<br />

2<br />

1<br />

4<br />

5<br />

1<br />

3<br />

1<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-


FEI KKUI<br />

5.2.3 Hodnotenie subjektu č. 2 a evolúcia fenotypov<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 12.: Nultá generácia hodnotiteľa č. 2.<br />

Nultá generácia Známka<br />

-18,-1,-61,37,-61,-49,-111,-45,-115,36,59,33,30,62,-107,-5,-93,-74,18,7<br />

81,30,12,55,32,-86,-111,-78,-61,57,-35,26,-61,15,-33,-81,-92,-35,-23,34<br />

-61,3,92,64,88,-55,23,-25,52,6,-61,-3,108,70,-7,-70,83,-64,-16,71<br />

87,19,69,88,64,-75,-114,-37,-38,59,65,-26,-31,55,-78,-32,17,-48,104,2<br />

-59,10,108,49,74,-62,-79,-75,33,74,95,-35,93,34,-55,-1,-65,-23,112,15<br />

115,-34,36,43,-8,-85,-33,-85,70,69,-80,-29,18,8,-15,-20,115,-76,57,39<br />

-101,0,26,66,-36,-31,-100,-33,68,8,35,7,-115,77,-62,-89,34,-92,-49,14<br />

Tabuľka č. 13.: Prvá generácia hodnotiteľa č. 2.<br />

Prvá generácia Známka<br />

-105,0,18,75,-45,-32,-80,-31,55,18,28,-2,-90,74,-83,-85,27,-95,-16,10<br />

64,13,113,49,52,-88,-120,-76,17,49,-32,20,97,35,-33,-2,-101,-15,86,15<br />

-14,4,-37,34,-51,-52,-118,-46,-120,41,57,27,13,66,-109,-10,-110,-84,14,8<br />

-120,11,31,29,-17,-28,-16,-77,86,69,31,-14,-120,5,-92,-84,116,-76,-28,9<br />

-120,11,31,29,-17,-28,-16,-77,86,69,31,-14,-120,5,-92,-84,116,-76,-28,9<br />

-105,0,18,75,-45,-32,-80,-31,55,18,28,-2,-90,74,-83,-85,27,-95,-16,10<br />

-105,0,18,75,-45,-32,-80,-31,55,18,28,-2,-90,74,-83,-85,27,-95,-16,10<br />

71<br />

2<br />

4<br />

2<br />

4<br />

4<br />

5<br />

1<br />

3<br />

5<br />

4<br />

1<br />

1<br />

3<br />

3


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 14.: Druhá generácia hodnotiteľa č. 2.<br />

Druhá generácia Známka<br />

37,34,8,0,108,-16,120,-62,4,62,-92,36,-2,25,-70,-52,98,-24,82,11<br />

-2,29,53,10,93,-19,82,-60,-9,65,66,39,23,67,-79,-61,94,-21,64,0<br />

46,1,-79,36,66,-32,103,-56,-80,58,89,-15,-36,33,-109,-3,120,-23,65,7<br />

21,29,26,8,120,-23,105,-59,-70,89,-83,24,-46,5,-62,-43,-28,-26,48,7<br />

17,22,56,5,107,-12,92,-55,6,62,74,40,19,72,-76,-53,94,-16,61,0<br />

1,29,12,11,120,-28,94,-51,-84,90,-90,24,-33,8,-72,-43,-40,-17,74,2<br />

21,29,26,8,120,-23,105,-59,-70,89,-83,24,-46,5,-62,-43,-28,-26,48,7<br />

Tabuľka č. 15.: Tretia generácia hodnotiteľa č. 2.<br />

Tretia generácia Známka<br />

-3,7,-38,41,-50,-49,-101,-47,-110,38,45,26,5,67,-113,-17,-120,-85,-10,4<br />

47,19,101,47,49,-84,-98,-76,4,53,-29,21,98,38,-32,-1,-104,-9,79,13<br />

-119,9,49,25,-50,-47,0,-48,-120,46,46,28,-111,71,-92,-87,110,-87,13,5<br />

-120,15,14,22,-19,-24,-21,-26,54,12,37,-12,-108,11,-79,-83,5,-90,7,7<br />

47,19,101,47,49,-84,-98,-76,4,53,-29,21,98,38,-32,-1,-104,-9,79,13<br />

-23,2,11,29,-35,-34,-120,-30,-120,42,36,1,12,66,-102,-88,-119,-95,-10,11<br />

-112,11,38,33,-18,-31,-15,-78,93,72,38,-8,-109,9,-80,-79,120,-75,-30,5<br />

72<br />

2<br />

1<br />

4<br />

5<br />

1<br />

3<br />

1<br />

3<br />

4<br />

1<br />

1<br />

4<br />

3<br />

1


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 16.: Štvrtá generácia hodnotiteľa č. 2.<br />

Štvrtá generácia Známka<br />

-120,14,21,19,-10,-21,-18,-24,62,16,40,-7,-109,14,-71,-83,0,-90,11,4<br />

-109,11,60,20,-58,-43,-3,-46,-120,47,48,25,-120,69,-82,-89,101,-88,20,5<br />

-120,17,52,25,-48,-25,-4,-24,64,47,41,28,-117,8,-85,-86,111,-83,19,5<br />

-14,6,10,27,-45,-32,-119,-28,-120,42,34,1,5,67,-94,-88,-117,-92,-9,14<br />

-23,11,49,25,-50,-34,-120,-48,-120,42,46,3,-111,66,-102,-88,-119,-95,13,5<br />

-109,11,60,20,-58,-43,-3,-46,-120,47,48,25,-120,69,-82,-89,101,-88,20,5<br />

-23,11,49,25,-50,-34,-120,-48,-120,42,46,3,-111,66,-102,-88,-119,-95,13,5<br />

Tabuľka č. 17.: Piata generácia hodnotiteľa č. 2.<br />

Piata generácia Známka<br />

-96,7,51,6,-40,-36,0,-35,-120,50,30,28,-98,71,-91,-88,96,-89,25,3<br />

-28,19,41,31,-43,-36,-100,-50,-114,50,43,10,-118,69,-108,-89,-119,-91,35,1<br />

-120,15,43,30,-47,-25,-13,-24,75,49,48,24,-118,1,-86,-85,99,-88,5,6<br />

-96,7,51,6,-40,-36,0,-35,-120,50,30,28,-98,71,-91,-88,96,-89,25,3<br />

-120,10,44,22,-31,-27,-21,-23,57,11,58,22,-108,12,-62,-83,115,-94,18,4<br />

-120,10,44,22,-31,-27,-21,-23,57,11,58,22,-108,12,-62,-83,115,-94,18,4<br />

-117,8,62,18,-56,-41,-5,-44,-120,50,52,27,-111,67,-75,-90,112,-87,25,3<br />

73<br />

2<br />

3<br />

2<br />

4<br />

4<br />

2<br />

4<br />

3<br />

4<br />

1<br />

3<br />

2<br />

2<br />

3


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 18.: Šiesta generácia hodnotiteľa č. 2.<br />

Šiesta generácia Známka<br />

-120,3,45,34,-40,-24,-6,-29,76,11,56,27,-117,0,-71,-86,104,-95,-4,10<br />

-115,16,53,24,-20,-30,-40,-23,40,8,55,27,-116,6,-73,-83,115,-90,21,0<br />

-108,10,57,24,-25,-25,-2,-19,53,12,54,19,-97,6,-53,-74,109,-94,41,5<br />

-115,16,53,24,-20,-30,-40,-23,40,8,55,27,-116,6,-73,-83,115,-90,21,0<br />

-120,9,37,21,-40,-26,-13,-27,50,10,57,27,-116,10,-50,-87,119,-95,27,8<br />

-120,11,44,22,-31,-27,-21,-23,57,11,58,23,-108,12,-62,-83,115,-94,18,4<br />

-115,16,53,24,-20,-30,-40,-23,40,8,55,27,-116,6,-73,-83,115,-90,21,0<br />

Tabuľka č. 19.: Siedma generácia hodnotiteľa č. 2.<br />

Siedma generácia Známka<br />

-103,21,29,13,-10,-32,-62,-15,19,23,83,24,-113,28,-66,-83,120,-91,15,0<br />

-85,7,64,31,-13,-31,-50,-14,72,8,73,19,-120,0,-96,-83,90,-80,13,6<br />

-108,18,49,19,-26,-30,-64,-20,34,4,90,29,-120,19,-70,-89,101,-89,35,3<br />

-105,20,34,37,-23,-21,-33,-22,79,11,28,25,-104,4,-83,-82,101,-94,21,12<br />

-105,20,34,37,-23,-21,-33,-22,79,11,28,25,-104,4,-83,-82,101,-94,21,12<br />

-115,13,54,19,-11,-26,-35,-26,26,3,35,29,-88,9,-86,-77,95,-89,-9,0<br />

-120,14,56,37,-30,-19,-26,-16,81,15,50,26,-106,6,-74,-76,89,-93,26,12<br />

74<br />

1<br />

3<br />

4<br />

3<br />

2<br />

2<br />

3<br />

2<br />

3<br />

2<br />

2<br />

2<br />

2<br />

1


FEI KKUI<br />

Fenotyp č. 1<br />

Fenotyp č. 2<br />

Fenotyp č. 3<br />

Fenotyp č. 4<br />

Fenotyp č. 5<br />

Fenotyp č. 6<br />

Fenotyp č. 7<br />

Tabuľka č. 20.: Ôsma generácia hodnotiteľa č. 2.<br />

5.3 Analýza dosiahnutých výsledkov<br />

Genetické algoritmy sú univerzálnym stochastickým prehľadávacím alebo optima-<br />

lizačným prístupom, ktorý je v ohraničenom priestore prípustných riešení daného prob-<br />

lému schopný nájsť alebo sa aspoň priblížiť ku globálnemu optimu. Čo je ale toto glo-<br />

bálne optimum v prípade interaktívneho prístupu v návrhu tanečných choreografií?<br />

Interaktívny genetický algoritmus hľadá globálne optimum v priestore parametrov<br />

systému vzhľadom na psychologickú vzdialenosť medzi cieľom hodnotiteľa procesu<br />

v jeho psychologickom priestore – čiže akejsi predstavy a aktuálnym výstupom systé-<br />

mu. Záleží, či užívateľ – hodnotiteľ tanca má aspoň približnú predstavu o tom, ako by<br />

mala choreografia vyzerať, alebo nie.<br />

Ôsma generácia Známka<br />

-111,21,61,24,-6,-31,-28,-25,35,2,42,29,-80,15,-99,-84,98,-88,6,4<br />

-96,20,25,39,-39,-26,-35,-23,74,15,30,26,-107,24,-76,-83,98,-92,52,15<br />

-120,16,54,42,-10,-19,-29,-24,69,10,34,28,-73,13,-87,-80,104,-92,31,3<br />

-102,20,15,37,0,-17,-18,-26,16,7,10,27,-100,12,-65,-70,98,-91,23,14<br />

-99,19,51,19,-9,-25,-42,-22,31,3,26,23,-84,4,-92,-75,97,-87,-4,1<br />

-113,17,40,37,-15,-24,-27,-26,83,13,29,22,-110,6,-93,-84,98,-95,25,15<br />

-120,16,54,42,-10,-19,-29,-24,69,10,34,28,-73,13,-87,-80,104,-92,31,3<br />

Na výsledných fenotypoch hodnotiteľov procesu pozorujeme, že dospeli k odliš-<br />

ným tancom. Rýchlosť konvergencie fenotypov záleží od hodnotenia.<br />

Predpokladám, že expert – choreograf tanca by dospel k lepším výsledkom ako<br />

bežný užívateľ. Dôvodom tohto zmýšľania je, že expert by mal pred použitím programu<br />

v mysli predstavu, ku ktorej by sa v programe evolúciou približoval.<br />

75<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-


FEI KKUI<br />

Výsledný tanec č. 1<br />

76


FEI KKUI<br />

77


FEI KKUI<br />

78


FEI KKUI<br />

Výsledný tanec č. 2<br />

79


FEI KKUI<br />

80


FEI KKUI<br />

81


FEI KKUI<br />

82


FEI KKUI<br />

6 Zhodnotenie a záver<br />

83<br />

Tri miliardy rokov evolúcie nemohli byť nesprávne.<br />

Je to najsilnejší algoritmus, aký existuje.<br />

Dr. David E. Goldberg, profesor University of Illinois<br />

Cieľom diplomovej práce bolo navrhnúť systém robotického tanca, ktorý interaguje<br />

s používateľom – človek ohodnocovaním sekvencií tanečných krokov tvorí vlastnú cho-<br />

reografiu pomocou interaktívnej evolúcie. V kroku hodnotenia jedincov evolučného al-<br />

goritmu zastáva úlohu človek, ktorý priradí jedincom vhodnosť a takýmto spôsobom<br />

ovplyvňuje nasledujúci priebeh evolúcie a interaguje so systémom. Výstupy systému<br />

závisia od preferencií, zmyslov, emócií a vkusu človeka.<br />

Systém by mohol byť použitý pre zábavné účely a takisto by našiel uplatnenie aj<br />

v oblasti spoločenskej robotiky.<br />

6.1 Splnenie téz diplomovej práce<br />

Tézy tejto diplomovej práce boli určené nasledovne:<br />

1) Urobiť prehľad problematiky z danej problematiky vo svete.<br />

2) Teoreticky analyzovať možnosti nasadenia evolučných výpočtov do systému ro-<br />

botického tanca.<br />

3) Analyzovať problematiku evolučných výpočtov pri evolúcii tanca.<br />

4) Navrhnúť systém využitia interaktívnych evolučných výpočtov pri evolúcii tan-<br />

ca.<br />

5) Vytvoriť užívateľské rozhranie pre daný systém.<br />

6) Prezentovať demonštráciu výsledkov evolúcie.<br />

7) Vypracovať abstrakt práce v anglickom jazyku.<br />

V diplomovej práci som sa snažila splniť všetky zadané úlohy, ktoré sú vypra-<br />

cované a zdokumentované nasledovne:<br />

Body 1) – 3) sú obsiahnuté v teoretickej časti diplomovej práce, konkrétne:


FEI KKUI<br />

Kapitoly 2. – 3. sú založené na preštudovaní viacerých vedeckých článkov, na<br />

základe ktorých som v kapitole 2. vypracovala prehľad použitia umelej inteligencie<br />

v <strong>humanoidných</strong> <strong>systémoch</strong> vo svete. Kapitola 3. sa zaoberá teoretickými východiskami<br />

evolučných algoritmov a v druhej časti je zameraná na oblasť interaktívnej evolúcie.<br />

Príklady konkrétnych <strong>humanoidných</strong> robotov sú opísané v príručke A diplomovej práce<br />

a aplikácie interaktívnych systémov v príručke B.<br />

Body 4) a 5) sú zdokumentované v kapitole 4., kde som navrhla systém využitia<br />

interaktívnych evolučných výpočtov pri evolúcii tanca, spolu s jeho užívateľským roz-<br />

hraním.<br />

Téza pod bodom 6) je uvedená v kapitole 5.:<br />

Kapitola 5. prezentuje demonštráciu výsledku evolúcie na dvoch tancoch a via-<br />

cerých hodnotiteľov procesu, kde sú uvedené experimenty so systémom. Ich následná<br />

teoretická analýza je popísaná v podkapitole 5. 3.<br />

Bod 7) je vypracovaný v príručke A. diplomovej práce.<br />

6.2 Práca do budúcna<br />

Za najdôležitejší najbližší krok do budúcna považujem odskúšanie navrhnutého<br />

systému na reálnych robotoch.<br />

Okrem tejto nevyhnutnej skutočnosti prezentujem vízie, ktoré by sa mohli pre-<br />

meniť v realitu:<br />

Rozpoznávanie hudby, podľa ktorej by sa robot pohyboval, by bolo veľkým<br />

prínosom do systému. Pomocou simulátora to nebolo možné, ale na reálnych robotoch<br />

by to bolo veľkým zlepšením. Známe sú prístupy rozpoznávania hudby napríklad po-<br />

mocou neurónových sietí.<br />

V takomto prístupe by išlo o snahu stanoviť príznaky charakterizujúce rôzne hu-<br />

dobne žánre a následné použitie klasifikátora. Inak povedané, rozpoznávanie hudby ro-<br />

botmi je extrakcia informácií zo zvuku.<br />

Zvuk je zmena tlaku – rozloženia častíc alebo ich rýchlosti – vlnenie v pásme<br />

frekvencií od 20Hz do 20kHz, ktoré sa šíri vzduchom v počuteľnej oblasti. Laicky po-<br />

84


FEI KKUI<br />

vedané, každý typ hudby by mal iný príznakový priestor. Neurónová sieť ako univer-<br />

zálny aproximátor by klasifikovala typy hudby do jednotlivých tried.<br />

Rozšírenie chromozómu o ďalšie gény na základe vlastností Naa, ktoré v simu-<br />

lácii nie sú dobre alebo vôbec pozorovateľné – napríklad o blikanie jeho „očí“ rôznymi<br />

farbami.<br />

Zaujímavé by bolo, keby si návrh choreografie vyskúšal expert z tejto oblasti a<br />

posúdil dosiahnuté výsledky.<br />

85


FEI KKUI<br />

Epilóg<br />

Keď prvý krát vyviniete novú bytosť umelou selekciou v počítačovom modeli,<br />

máte pocit, že je to kreatívny proces. Takže to tak skutočne je.<br />

Ale čo naozaj robíte, je nájdenie bytosti, ktorá, v matematickom zmysle,<br />

už sedí na jej vlastnom mieste v genetickom priestore v Biomorfickej Krajine.<br />

86<br />

Kevin Kelly, 1995<br />

Ľudia, pri zhrnutí Darwinovej myšlienky o evolúcii, si zvyčajne predstavia slogan „Naj-<br />

silnejší prežije.“ Zdá sa, že rastliny a živočíchy sa vyvinuli postupným vylepšovaním<br />

rôznych rysov, či vlastností. Citovaný Holland sa snažil, aby počítačové programy na-<br />

podobňovali živé organizmy v tom, že sa pri hľadaní riešení problémov adaptívne vyví-<br />

jajú. Jeho genetický algoritmus ako populácia počítačových programov, ktoré sa vyvíja-<br />

jú prostredníctvom hore uvedených genetických operátorov ako je reprodukcia, náhod-<br />

né zmeny a súťaženie, evokuje všetky idey a slovník biológov, od chromozómov, ktoré<br />

obsahujú genetický plán organizmu, ku kríženiu a mutáciám, ktoré ho môžu meniť.<br />

Kríženie u genetického algoritmu dovoľuje, aby sa mnoho pokusných riešení tes-<br />

tovalo súbežne. Tento zabudovaný paralelizmus umožňuje nájsť zázračné kombinácie<br />

medzi obrovským množstvom alternatív, a to pomocou procesu, ktorý vyzerá náhodne,<br />

ale v skutočnosti ho riadi „Darwinova ruka.“<br />

Mnoho vedcov a umelcov sa snaží navrhnúť mechanizmy, ktoré by preukázali<br />

kreatívne vlastnosti. Kreativita je jednou z najmenej pochopených aspektov inteligencie<br />

a je často vnímaná ako intuitívna, a nie ako racionálna. Záujem o jej vzkriesenie je, ok-<br />

rem umelej inteligencie a kognitívnej vedy, aj v psychológii, filozofii, počítačovej vede,<br />

logike, matematike, sociológii, architektúre a dizajne. Implikuje inovatívny výstup a<br />

znamená všeobecný zmysel pre originalitu a inovatívnosť. Je to tvorba neobyčajných,<br />

nových kombinácií starých nápadov, kde prekvapenie spôsobené kreatívnym nápadom<br />

je odmenou za nepravdepodobnosť kombinácie.<br />

Otázka znie: je vôbec možné napísať počítačový program, schopný produkovať<br />

kreatívny dizajn, respektíve program, ktorý podporí kreativitu dizajnéra? A do budúcna:<br />

mohli by nám počítače pomôcť pri pochopení ľudskej kreativity?


FEI KKUI<br />

Evolučné algoritmy dokážu vyriešiť viaceré nezvládnuteľné problémy a v niekto-<br />

rých ohľadoch ich môžeme vnímať tak, že ich správanie je inteligentné. (<strong>Umelá</strong> inteli-<br />

gencia je kontroverzný vedný odbor, z väčšej časti preto, lebo ani psychológia sa neve-<br />

dia zhodnúť, čo je samotná <strong>inteligencia</strong>.<br />

Na záver si dovolím spomenúť výrok Arthura Samuela (1901 – 1990), ktorý bol<br />

jeden z prvých vedcov v oblasti UI a tvorca inteligentného šachu:<br />

„Cieľom je mať stroje schopné správať sa tak, že v prípade, že by sa takto správali<br />

ľudia, tak by bolo usudzované, že používajú inteligenciu.“<br />

87


FEI KKUI<br />

Zoznam použitej literatúry<br />

[1] AMBROSE, R. – ZHENG, Y. et. al.: Humanoids. In Assessment of International<br />

Research and Development in Robotics. 2006.<br />

http://www.wtec.org/robotics<br />

[2] AUCOUTURIER, J. J. – IKEUCHI, K. et. al.: Cheek to Chip: Dancing Robots and<br />

AI’s Future. In Intelligent Systems, IEEE, 23(2): pp. 74–84, 2009.<br />

http://www.cs.cmu.edu/~marekm/publications/IS08MichalowskiKozima.pdf<br />

[3] BROOKS, R.A. – BREAZEAL, C. et. al.: The Cog Project: Building a Humanoid<br />

Robot. In: Computation for Metaphors, Analogy, and Agents. C. Nehaniv (ed), Lec-<br />

ture Notes in Artificial Intelligence 1562. New York, Springer, pp. 52–87, 1999.<br />

http://people.csail.mit.edu/brooks/papers/CMAA– group.pdf<br />

[4] CSONTÓ, J. – PALKO , M.: Umelý život. Elfa, ISBN 80– 89066– 59– 3, 2006.<br />

[5] GARCIA, E. – JIMENEZ, M., A. et. al.: The Evolution of Robotics Research,<br />

From Industrial Robotics to Field and Service Robotics. In: IEEE Robotics & Au-<br />

tomation Magazine, March 2009.<br />

http://labrobotica.org/conjuntos/Articulos/The%20evolution%20of%20robotics%20researc<br />

h.pdf<br />

[6] GOUAILLIER, D. – HUGEL, V. et. al.: The NAO humanoid: a combination ofper-<br />

formance and affordability. In: IEEE Transactions on Robotics, 2008.<br />

http: //arxiv1.library.cornell.edu/PS_cache/arxiv/pdf/0807/0807.3223v1.pdf<br />

[7] GREEN, W S. – JORDAN P. W.: Pleasure with Products: Beyond Usability,: De-<br />

sign Based on Kansei, Kansei engineering, University of Tsukuba. In: CRC Press,<br />

ISBN 0415237041, 2002.<br />

[8] ITO, M. – TANI, J.: On–line Imitative Interaction with a Humanoid Robot Using a<br />

Dynamic. Neural Network Model of a Mirror System. In: Adaptive Behavior,<br />

Vol.12, No.2, 2004.<br />

[9] KATIC, D. – VUKOBRATOVIC, M.: Survey of intelligent control. Algorithms for<br />

humanoid robots. In: Journal of Intelligent and Robotic Systems, vol. 37, pp. 117–<br />

141, 2005.<br />

http://www.nt.ntnu.no/users/skoge/prost/proceedings/ifac2005/Fullpapers/01799.pdf<br />

88


FEI KKUI<br />

[10] ISHIDA, T. – KUROKI, Y., et. al.: Analysis of Motions of a Small Biped Enterta-<br />

inment Robot. In: Proc. Int. Conf. On Intelligent Robots and Systems(IROS),<br />

pp.142-147, 2004.<br />

[11] MINATO, T – SHIMADA, M., et. al.: Development of an Android Robot for Stu-<br />

dying Human-Robot Interaction. In: Proc. 17 th International Conf. Industrial and<br />

Engineering Applications of Artificial Intelligence and Expert Systems, Ottawa,<br />

Canada, pp. 424—434, 2004.<br />

[12] NAKAOKA, S. et. al.: Learning from Observation Paradigm: Leg Task Models for<br />

Enabling a Biped Humanoid Robot to Imitate Human Dance. In Robotics Rese-<br />

arch, vol. 26, no. 8, pp. 829–844. 2007.<br />

[13] TAKAGI, H.: Interactive GA for system optimization: Problems and solution. In:<br />

4th European Congress on Intelligent Techniques and Soft Computing (EUFIT'96),<br />

Aachen, Germany, s. 1440 – 1444, 1996.<br />

[14] TAKEDA, T. – HIRATA, Y. et. al.: Dance Partner Robot Cooperative Motion Ge-<br />

neration with Adjustable Length of Dance Step Stride Based on Physical Interac-<br />

tion. In: Proc. IEEE/RSJ Int’l Conf. Intelligent Robots and Systems, IEEE Press,<br />

pp. 3258–3263, 2007.<br />

89


FEI KKUI<br />

Prílohy<br />

Príloha A: Prehľad <strong>humanoidných</strong> robotov<br />

Príloha B: Aplikácie interaktívnej evolúcie<br />

Príloha C: Výťah práce v anglickom jazyku<br />

Príloha D: Používateľská príručka<br />

Príloha E: Systémová príručka<br />

Príloha F: CD médium – Diplomová práca v elektronickej podobe, prílohy v elek-<br />

tronickej podobe.<br />

90

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!