Interaktívne evolučné výpočty v dizajne - TUKE
Interaktívne evolučné výpočty v dizajne - TUKE
Interaktívne evolučné výpočty v dizajne - TUKE
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TECHNICKÁ UNIVERZITA V KOŠICIACH<br />
FAKULTA ELEKTROTECHNIKY A INFORMATIKY<br />
KATEDRA KYBERNETIKY A UMELEJ INTELIGENCIE<br />
<strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>dizajne</strong><br />
MÁRIA VIRČÍKOVÁ<br />
Bakalárska práca<br />
2008
TECHNICKÁ UNIVERZITA V KOŠICIACH<br />
FAKULTA ELEKTROTECHNIKY A INFORMATIKY<br />
Katedra kybernetiky a umelej inteligencie<br />
<strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>dizajne</strong><br />
Vedúci bakalárskej práce:<br />
BAKALÁRSKA PRÁCA<br />
Mária Virčíková<br />
Košice 2008<br />
Prof. Ing. Peter Sinčák, PhD.
Analytický list<br />
Autor: Mária Virčíková<br />
Názov práce: <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> v <strong>dizajne</strong><br />
Jazyk práce: slovenský<br />
Typ práce: Bakalárska práca<br />
Počet strán: 68<br />
Akademický titul: Bakalár<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: Kybernetika<br />
Študijný program: Kybernetika<br />
Mesto: Košice<br />
Vedúci BP: Prof. Ing. Peter Sinčák, PhD.<br />
Konzultant BP: Prof. Ing. Peter Sinčák, PhD.<br />
Dátum odovzdania: 30. mája 2008<br />
Dátum obhajoby: 17. júna 2008<br />
Kľúčové slová: Evolučné <strong>výpočty</strong>, Genetické algoritmy, Genetické<br />
programovanie, Evolučný dizajn, Grafický dizajn, <strong>Interaktívne</strong><br />
systémy<br />
Kategória; Konspekt: Výpočtová technika; Umelá inteligencia<br />
Citovanie práce:<br />
Názov práce v AJ: Interactive evolutionary computation in design<br />
Kľúčové slová v AJ: Evolutionary computation, Genetic algorithms, Genetic<br />
Programming, Evolutionary design, Graphic design,<br />
Interactive systems
Abstrakt v SJ<br />
V tejto bakalárskej práci sú opísané základy a hlavné vlastnosti interaktívnych<br />
evolučných výpočtov nasledované prehľadom ich výskumu a aplikácií. Táto technika<br />
optimalizuje systém na základe subjektívneho hodnotenia používateľom. Algoritmus je<br />
aplikovaný na systém grafického dizajnu a výsledky vykazujú, že po úprave môže byť<br />
používaný v niektorých reálnych aplikáciách. Bol použitý konkrétny typ genetického<br />
programovania nazývaný karteziánske genetické programovanie, v ktorom programy<br />
používajú štruktúru grafu reprezentovanú ako postupnosť celých čísel. Budúca práca<br />
bude zameraná na tvorbu adaptívneho, interaktívneho, užívateľsky prístupného<br />
programového systému a na jeho použitie v oblasti architektúry.<br />
Abstrakt v AJ<br />
In this bachelor thesis the definition, principles and basic features of Interactive<br />
Evolutionary Computation are described and followed by an overview of their research<br />
and applications. This technique optimizes systems based on subjective human<br />
evaluation. The algorithm is applied to a graphic design system and the results show that<br />
it can be used in some real-world applications. It has been used a particular form of<br />
Genetic Programming called Cartesian Genetic Programming (CGP) in which programs<br />
use the structure of a graph represented as a linear sequence of integers. Future work will<br />
be enhanced to make an adaptive, user-friendly interactive system and use it in field of<br />
architecture.
Na tejto strane bude vložené zadanie bakalárskej práce
Čestné vyhlásenie<br />
Bakalársku prácu som vypracovala samostatne s použitím uvedenej literatúry.<br />
V Košiciach, 30. mája 2008 .........................................<br />
Podpis
Poďakovanie<br />
Ďakujem všetkým tým, ktorých múdre myšlienky v mojej práci prezentujem ako keby<br />
boli moje vlastné.<br />
Osobitne sa chcem poďakovať vedúcemu mojej práce, profesorovi Sinčákovi za<br />
jeho záujem o moju prácu. Veľmi pekne ďakujem aj docentovi Jánovi Bušovi za jeho<br />
cenné rady. Takisto ďakujem profesorovi Kmeťovi zo Stavebnej fakulty, ktorý mi<br />
poskytol odbornú literatúru, ktorá ovplyvnila moje ciele smerom k budúcej diplomovej<br />
práci.<br />
Ďakujem aj mojim spolužiakom, ktorých diskusie a rozhovory ma stále inšpirujú<br />
k novým nápadom, súvisiacich s touto prácou, alebo nie. V neposlednom rade moja<br />
vďaka patrí mojej mame, vďaka ktorej môžem študovať to, čo ma baví.
Predhovor<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<br />
knihy, ktoré niekedy napísané budú. Ak má nejaká kniha jestvovať, stačí pripustiť<br />
možnosť jej jestvovania. Väčšina kníh obsahuje nezmysly a rozumné súvislosti sú<br />
takmer zázračné výnimky, no nachádzajú sa medzi nimi aj knihy, ktoré obsahujú všetku<br />
znalosť vesmí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<br />
stá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ď<br />
užívateľ skúma jej potenciálne výsledky. Cestovateľ v takejto Knižnici zisťuje (ako<br />
Borges predpokladal), že nájsť jeho vysnívané riešenie je veľmi náročné, keďže väčšina<br />
„kníh“ 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 tak do takej miery, aby stále<br />
poskytovala dostatok možností výberu, potom by stačilo len mať nástroj, ktorý by<br />
prehľadával priestor efektívne a takým spôsobom by sme našli niečo inšpirujúce.<br />
Jedným z nástrojov sú interaktívne <strong>evolučné</strong> <strong>výpočty</strong>.<br />
Za otca konceptu evolučných výpočtov sa pokladá Holland 2 , ktorý genetické<br />
algoritmy (jednu z podmnožín evolučných výpočtov) charakterizoval ako:<br />
„Počítačové programy, ktoré sa vyvíjajú (angl. evolve) spôsobmi, podobnými<br />
výberu v prírode, poskytujúc riešenia zložitých problémov aj vtedy, keď im ich<br />
tvorcovia dokonale nerozumejú.“<br />
1 Jorge Luis Borges, poviedka Babylonská knižnica: Záhrada s chodníkmi, ktoré nás rozvetvujú, 1941<br />
2 John Holland v roku 1975 vydal knihu „Adaption in Natural and Artificial Systems“
Avšak Turing 3 , už takmer tridsať rokov pred Hollandom uvažuje:<br />
„Existuje genetické alebo <strong>evolučné</strong> 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 <strong>evolučné</strong> 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 />
“Nemôžeme očakávať, že nájdeme dobrého potomka na prvý pokus.“ 5<br />
<strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> 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 zaujímavo popísať základné myšlienky evolučných výpočtov<br />
a použiť nadobudnuté teoretické poznatky v jednoduchej aplikácii pre grafický dizajn.<br />
Ako základ pri písaní tejto práce mi poslúžili práce najvýznamnejších osobností sveta<br />
v oblasti evolučných výpočtov.<br />
3 Alan Turing v roku 1948 v knihe „Intelligent Machinery“<br />
4 v roku 1950 v článku „Computing Machinery and Intelligence“<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<br />
potomka), prirodzená selekcia (posúdenie experimentátora).
Obsah<br />
Zoznam obrázkov ......................................................................................................... 11<br />
Zoznam symbolov a skratiek ....................................................................................... 13<br />
Slovník termínov........................................................................................................... 14<br />
Úvod ............................................................................................................................... 16<br />
Formulácia úlohy .......................................................................................................... 19<br />
1 Súčasný stav v oblasti interaktívnych evolučných výpočtov a ich aplikačný<br />
potenciál ................................................................................................................... 20<br />
1.1 Základné princípy evolučných výpočtov a genetické operátory ......................... 20<br />
1.2 Druhy evolučných výpočtov................................................................................ 22<br />
1.3 Kroky genetického algoritmu.............................................................................. 24<br />
1.4 <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong> ............................................................................ 25<br />
1.4.1 Dva priestory IEC ........................................................................................ 26<br />
1.4.2 KANSEI....................................................................................................... 27<br />
1.5 Súčasný výskum interaktívnych evolučných výpočtov....................................... 28<br />
1.6 Príklady aplikácií interaktívnych evolučných výpočtov ..................................... 30<br />
2 Využitie interaktívnych evolučných výpočtov v grafickom <strong>dizajne</strong> ................... 35<br />
2.1 Evolučný dizajn ................................................................................................... 35<br />
2.1.1 Evolúcia – nástroj na objavovanie dizajnérskych možností ........................ 35<br />
2.1.2 Oblasti <strong>evolučné</strong>ho dizajnu.......................................................................... 36<br />
2.1.3 Dokáže byť počítačový program kreatívny?................................................ 37<br />
2.1.4 Dawkinsove biomorfy.................................................................................. 38<br />
2.1.5 Porovnanie manuálneho návrhu a návrhu použitím evolučných<br />
výpočtov .............................................................................................................. 39<br />
2.2 Evolučné umenie ................................................................................................. 40<br />
2.2.1 Hlavné inšpirácie použitia <strong>evolučné</strong> výpočtov v grafickom <strong>dizajne</strong> ........... 41<br />
3 Návrh a realizácia programového systému pre interaktívny dizajn<br />
v oblasti grafiky....................................................................................................... 45<br />
3.1 Reprezentácia a model RGB ............................................................................... 45<br />
3.2 Karteziánske genetické programovanie............................................................... 47<br />
3.2.1 Výhody CGP................................................................................................ 47<br />
3.2.2 Genotyp........................................................................................................ 47
3.2.3 Genetický drift ............................................................................................. 48<br />
3.2.4 Výstupy........................................................................................................ 48<br />
3.3 Kroky výpočtu ..................................................................................................... 48<br />
3.3.1 Populácia...................................................................................................... 48<br />
3.3.2 Selekcia ........................................................................................................ 49<br />
3.3.3 Genetické operátory..................................................................................... 49<br />
3.4 Návrh užívateľského rozhrania............................................................................ 50<br />
4 Realizácia demonštračných experimentov na vyvíjanom systéme ..................... 51<br />
4.1 Ukážky obrazov................................................................................................... 51<br />
4.2 Neautonómna evolúcia – hodnotenie užívateľom ............................................... 52<br />
4.2.1 Ukážka kríženia ........................................................................................... 52<br />
4.2.2 Ukážka mutácie............................................................................................ 53<br />
4.3 Autonómna evolúcia – smerom k cieľovému obrazu.......................................... 54<br />
5 Teoretická analýza možností vyvíjaného systému pre jeho reálne<br />
nasadenie v praxi..................................................................................................... 55<br />
5.1 Možnosti vylepšenia programého systému ......................................................... 55<br />
5.1.1 Rozšírenie rozmanitosti obrazov.................................................................. 55<br />
5.1.2 Vylepšenie funkcie evolúcie smerom k cieľovému obrazu ........................ 55<br />
5.1.3 Zrýchlenie konvergencie algoritmu ............................................................. 55<br />
5.1.4 Schopnosť systému učiť sa estetické preferencie od užívateľa ................... 56<br />
5.1.5 Internetový prístup ....................................................................................... 56<br />
5.2 Oblasti na nasadenie systému v praxi.................................................................. 56<br />
5.2.1 Kompresia dát .............................................................................................. 56<br />
5.2.2 Trojrozmerná evolúcia ................................................................................. 57<br />
5.3 Teoretická analýza výsledkov ............................................................................. 58<br />
5.3.1 Miera mutácie .............................................................................................. 58<br />
5.3.2 Kríženie........................................................................................................ 58<br />
5.3.3 Rôznorodosť obrazov................................................................................... 59<br />
5.3.4 Zostávajúce problémy programového systému ........................................... 59<br />
Zhodnotenie a záver...................................................................................................... 60<br />
Zoznam použitej literatúry .......................................................................................... 62<br />
Prílohy............................................................................................................................ 68
FEI KKUI<br />
Zoznam obrázkov<br />
Obr. 1 Reprodukcia dvoch chromozómov a následná mutácia ich potomka................. 21<br />
Obr. 2 Príklad reprezentácie GP funkcie +(-(0,5),/(PI,*(a,b))) ................ 23<br />
Obr. 3 Znázornenie procesu IE systému inšpirovaného Takagim .................................. 25<br />
Obr. 4 Prístroj na počúvanie podľa Takagiho................................................................. 30<br />
Obr. 5 Face-it: Pagliariniho softvér kreslenia tvárí......................................................... 31<br />
Obr. 6 Evolúcia rôznych expresií tvárí ........................................................................... 31<br />
Obr. 6 Návrh áut inšpirovaný Takagim .......................................................................... 32<br />
Obr. 7 Aplikácia IEC v módnom <strong>dizajne</strong> ....................................................................... 33<br />
Obr. 8 Ukážka návrhu budovy DeLandom a Rayov systém Para-City .......................... 34<br />
Obr. 9 Prírodné variácie dizajnu a variácie dizajnu vytvorené Lionelom Deanom........ 35<br />
Obr. 10 EC a ED majú korene v Počítačovej Vede a Evolučnej Biológii podľa<br />
Bentleyho [3] .................................................................................................. 36<br />
Obr. 11 Rozdelenie ED do oblastí podľa Bentleyho [3]................................................. 37<br />
Obr. 12 Ukážka obyvateľov Biomorfickej Krajiny ........................................................ 38<br />
Obr. 13 Iteračný proces návrhu stola s množinou potencionálnych riešení ................... 39<br />
Obr. 14 Iteračný proces návrhu stola s jedným riešením................................................ 40<br />
Obr. 15 Ukážka práce Williama Lanthama .................................................................... 42<br />
Obr. 16 Simsova umelecká práca ................................................................................... 42<br />
Obr. 17 Simsove „kreatúry“............................................................................................ 42<br />
Obr. 18 Rookova umelecká práca................................................................................... 43<br />
Obr. 19 Unemiho SBART .............................................................................................. 43<br />
Obr. 20 Machadova umelecká práca............................................................................... 44<br />
Obr. 21 Hartova umelecká práca použitím GP............................................................... 44<br />
Obr. 22 Ashmorova umelecká práca použitím GP ......................................................... 44<br />
Obr. 23 Model RGB........................................................................................................ 46<br />
Obr. 24 Spôsob kríženia dvoch genotypov..................................................................... 49<br />
11
FEI KKUI<br />
Obr. 25 Obrazy s počtom uzlov 1................................................................................... 51<br />
Obr. 26 Obrazy s počtom uzlov 50................................................................................. 51<br />
Obr. 27 Obrazy s počtom uzlov 100............................................................................... 51<br />
Obr. 28 Vybratí rodičia na kríženie ................................................................................ 52<br />
Obr. 29 Potomstvo kríženia dvoch genotypov bez mutácie .......................................... 52<br />
Obr. 30 Potomstvo kríženia dvoch genotypov s nastavením miery mutácie na 10%..... 52<br />
Obr. 31 Rodič mutácie .................................................................................................... 53<br />
Obr. 32 Potomkovia mutácie s mierou 5% dvoch genotypov (bez kríženia) ................. 53<br />
Obr. 33 Potomkovia mutácie s mierou 50% dvoch genotypov (bez kríženia) .............. 53<br />
Obr. 34 Cieľové obrazy a ich vyvinuté podobizne ......................................................... 54<br />
Obr. 35 Graf vývoja evolúcie smerom k totožnosti s načítaným obrázkom.................. 54<br />
Obr. 36 EU v trojrozmernom priestore, autorom je Cristian René Paraná..................... 57<br />
Obr. 37 Zľava: systém šírenia difúzie, fraktály, celulárny automat ............................... 58<br />
12
FEI KKUI<br />
Zoznam symbolov a skratiek<br />
CGP Cartesian Genetic Programming –karteziánske genetické programovanie<br />
EC,EV Evolutionary Computation – <strong>evolučné</strong> <strong>výpočty</strong><br />
ED Evolutionary Design – evolučný dizajn<br />
GA Genetic Algorithms – genetické algoritmy<br />
GP Genetic Programming – genetické programovanie<br />
GUI Graphical User Interface – grafické používateľské rozhranie<br />
IEC, IEV Interactive Evolutionary Computation - interaktívne <strong>evolučné</strong> <strong>výpočty</strong><br />
IGA Interactive Genetic Algorithms – interaktívne genetické algoritmy<br />
Kb Kilobyte – kilobajt , 1 kilobajt = 1024 alebo 1000 bajtov<br />
LCF Learning Classifier Systems – učiace klasifikačné systémy<br />
NN Neural Network – neurónová sieť<br />
UI Umelá Inteligencia<br />
13
FEI KKUI<br />
Slovník termínov<br />
Adaptívny je prispôsobujúci sa podmienkam, daným okolnostiam<br />
Alela je dedičný základ znaku, jedna z viacerých alternatívnych foriem génu<br />
Algoritmus je súhrn matematických úkonov slúžiacich účelnému prevedeniu<br />
určitého výpočtu platného pre všetky podobné úlohy<br />
Biomorf z anglických slov „biological morphologies“ – biologické tvary/útvary –<br />
útvary, obrazce generované matematickými operáciami v komplexnej rovine, ktoré sa<br />
podobajú na primitívne formy života<br />
CAD systém (Computer-Aided Design) je používanie počítačovej technológie<br />
ako pomôcky pri navrhovaní produktu<br />
Darvinizmus (staré písanie darwinizmus) je odvetvie biológie, ktoré študuje<br />
zákonitosti historického vývoja organizmov, nazvané podľa Darwina. Princípy<br />
darvinizmu sú: organizmy v prírode sa vplyvom vonkajšieho prostredia menia<br />
(variabilita); niektoré organizmy v danom prostredí obstoja lepšie ako iné (prírodný<br />
výber) a vlastnosti, ktoré indivíduum získalo vo vývine, sa prenášajú na potomstvo<br />
(dedičnosť získaných vlastností)<br />
Deterministický systém je systém, ktorého správanie je jednoznačne určené jeho<br />
stavom a podnetmi<br />
Fenotyp je súbor pozorovateľných znakov a vlastností organizmu<br />
Fitness je jednoduchá heuristická funkcia, ktorá hovorí o vhodnosti konkrétneho<br />
chromozómu stať sa hľadaným riešením<br />
populácie<br />
Fixná dĺžka je pevná dĺžka, v danom kontexte pre všetky chromozómy danej<br />
Fraktál je objekt vybudovaný pomocou rekurzie, ktorého obsah (resp. objem) je<br />
konečný, pričom obvod (resp. povrch) je nekonečný<br />
Fuzzy logika je odbor matematiky odvodený z teórie fuzzy množín, v ktorom sa<br />
logické výroky ohodnocujú stupňom príslušnosti<br />
Fuzzy regulátor je znalostný systém pracujúci v reálnom čase, ktorý pri riadení<br />
modeluje spôsob ľudského uvažovania.<br />
14
FEI KKUI<br />
Má pravidlá v tvare produkčných pravidiel AK predpoklad POTOM záver, kde<br />
predpoklad aj záver sú fuzzy množiny jednotlivých zadefinovaných lingvistických<br />
premenných<br />
Gén je jednoduchá reprezentácia nejakej vlastnosti nášho problému. V mnohých<br />
prípadoch je gén 1bit<br />
Genotyp je celkový génový súbor organizmu<br />
Chromozóm je prípustné riešenie úlohy tvorené binárnym reťazcom<br />
Kognitívny je týkajúci sa poznania; založený na poznaní; slúžiaci na poznávanie,<br />
poznávací. Kognitívna veda je interdisciplinárny výskum, ktorý pretína umelú<br />
inteligenciu, psychológiu a neurovedu myslenia, uvažovania, pamäti, pozornosti,<br />
vnímania a motorickej kontroly<br />
Konvergovať je približovať sa k správnemu výsledku<br />
L-systémy (L alebo Lindenmayerove systémy - podľa zakladateľa Aristida<br />
Lindenmayera, 1968) sú formálne gramatiky - množina pravidiel a symbolov-<br />
najrozšírenejšie aplikované na modelovanie rastu rastlín<br />
Miera kríženia je pravdepodobnosť, že dva chromozómy si vymenia nejaké bity<br />
Miera mutácie je pravdepodobnosť, že gén v určitom mieste bude zmutovaný<br />
Neurónová sieť (NN) je masívne paralelný procesor, ktorý má sklon k<br />
uchovávaniu experimentálnych znalostí a ich ďalšieho využívania a napodobňuje<br />
ľudský mozog v dvoch aspektoch: poznatky sú zbierané v NN počas učenia a váhy<br />
medzineurónových spojení sú využívané na ukladanie znalostí<br />
Optimalizácia je proces výberu najlepšieho variantu z množstva možných javov<br />
Pixel (skratka z angl. picture element – obrazový prvok; po anglicky aj pel/PEL) je<br />
najmenšia jednotka digitálnej rastrovej (bitmapovej) grafiky. Predstavuje jeden svietiaci<br />
bod na monitore, respektíve jeden bod obrázku zadaný svojou farbou<br />
Populácia je konečná množina chromozómov<br />
Premapovanie je projekcia; zobrazenie<br />
Systém (z latinčiny system – spojiť, skombinovať) je účelovo definovaný celok<br />
komponentov, medzi ktorými existujú určité vzťahy, a ktoré sledujú nejaký cieľ<br />
15
FEI KKUI<br />
Úvod<br />
16<br />
Dizajn je základnou dušou ľudskej tvorby<br />
Steve Jobs<br />
Evolučné <strong>výpočty</strong> (ďalej EV, EC) sú biologicky inšpirované počítačovo orientované<br />
výpočtové prístupy, ktoré vychádzajú z Darwinovej teórie. Richard Dawkins na<br />
vysvetlenie tejto teórie navrhol scenár, podľa ktorého by sa život objavil niekde inde vo<br />
vesmíre, s rovnakými podmienkami. Chcel dokázať, že evolúcia nie je obmedzená len<br />
na biologické formy ako ich poznáme, s DNA ako ich základom, ale namiesto toho sa<br />
proces môže objaviť v akomkoľvek systéme, ktorý obsahuje informáciu a kde sú<br />
prítomné dedičnosť, selekcia a variabilita.<br />
Cieľom mojej bakalárskej práce bolo teoreticky analyzovať tieto výpočtové<br />
prístupy a následne sa pokúsiť navrhnúť podobný systém. Zamýšľam sa nad napísaním<br />
programu schopného tvoriť a vyvíjať abstraktné obrazy. Evolúcia bude vedená<br />
užívateľom, ktorý si vyberá, ktorý z ponúknutých obrazov preferuje.<br />
V prvej kapitole zhrniem základné definície, vlastnosti, genetické operátory<br />
a zložky evolučných výpočtov. Uvediem fundamentálne charakteristiky ich<br />
jednotlivých druhov, pričom sa zameriam na genetické algoritmy a genetické<br />
programovanie, ktorých výpočtové kroky rozoberiem v nasledujúcej podkapitole.<br />
Potom predstavím interaktivitu, ktorú niektorí vedci nazývajú ideológiou, iní<br />
technológiou a kde sa človek stáva tvorcom a systém plní funkciu prostriedku, ktorý mu<br />
to umožňuje. Následne ďalej rozviniem otázky súčasného výskumu, ktorých väčšina<br />
súvisí práve so spoluprácou človeka so systémom. Prvú kapitolu ukončím príkladmi<br />
aplikácií interaktívnych evolučných výpočtov.<br />
V druhej kapitole sa zameriam na využitie spomínanej techniky v oblasti dizajnu.<br />
Na úvod sa pokúsim zhrnúť hlavné myšlienky <strong>evolučné</strong>ho dizajnu a vyberiem, z môjho<br />
pohľadu, jeho najzaujímavejšie aplikácie.<br />
V tretej kapitole sa pokúsim navrhnúť jednoduchý programový systém, ktorý<br />
v posledných dvoch kapitolách analyzujem a porozmýšľam, akým spôsobom by musel<br />
byť upravený, aby sa dal reálne použiť v praxi.
FEI KKUI<br />
Moja bakalárska práca je založená na preštudovaní mnohých článkov a kníh<br />
svetovo najuznávanejších autorov v tejto oblasti. Úvod do teoretických základov je<br />
zväčša inšpirovaný prácou autorov, ktorí sú považovaní za zakladateľov a prvých<br />
výskumníkov evolučných výpočtov. Opis súčasného stavu je založený na aktuálnych<br />
výsledkoch výskumu autorov, ktorí sa vo veľkej miere zaslúžili o vývoj a pokroky<br />
v tejto oblasti umelej inteligencie. Dovolím si 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,<br />
aplikované v rôznych oblastiach, vrátane dizajnu, riadenia, robotiky, nanotechnológie,<br />
bezpečnosti a umenia. Publikoval cez 160 vedeckých článkov a editoval veľmi úspešné<br />
knihy, napríklad „Evolutionary Design by Computers“, „Creative Evolutionary<br />
Systems“, „On Growth, Form and Computers“, a je autorom kníh ako „Digital<br />
Biology“, „The Book of Numbers“ a „The Undercover Scientist: The Science of<br />
Mishaps“.<br />
John A. Biles je profesorom na Rochester Institute of Technology v New Yorku<br />
a venuje sa hlavne počítačovej kompozícii hudby, je tvorcom GenJamu, genetického<br />
algoritmu, ktorý sa učí improvizovať jazz. Okrem toho sa zaoberá otázkami kreativity<br />
počítačových systémov.<br />
Richard Dawkins 6 , etnológ, evolučný biológ a populárny vedecký autor, prednáša<br />
na univerzite v Oxforde a je tvorcom Biomorfickej Krajiny.<br />
Lawrence J. Fogel patril medzi prvých bádateľov v oblasti evolučných výpočtov<br />
a analýze ľudských faktorov. Je považovaný za otca <strong>evolučné</strong>ho programovania.<br />
David E. Goldberg je profesor na univerzite v Illinois a vedie tu laboratórium<br />
genetických algoritmov (IlliGAL). Jeho kniha „Genetic Algorithms for Search,<br />
Optimization, and Machine Learning“ je jedna z najcitovanejších publikácií<br />
v počítačovej vede.<br />
Hideyuki Takagi je profesor na Kyushu univerzite a patrí medzi popredných<br />
súčasných vedcov zaoberajúcich sa interaktívnymi evolučnými výpočtami.<br />
6 Dawkins je známy svojimi názormi na náboženstvo, ktorých sa moja bakalárska práca netýka<br />
a zaoberám sa len jeho prácou ohľadom evolučných výpočtov.<br />
17
FEI KKUI<br />
David Augustus Hart študoval počítačovú grafiku a matematiku. Jeho úspešné<br />
digitálne obrazy ho viedli k práci v rôznych oblastiach od digitálneho umenia po<br />
medicínske obrazy, od video hier po animované filmy.<br />
John Holland bol expertom v počítačovom programovaní a pre IBM navrhoval<br />
prvú kalkulačku, popri výskume ktorej si všimol, že medzi biológiou a výpočtovou<br />
vedou existuje prepojenie. Jeho kniha „The Genetic Theory of Natural Selection“<br />
vstúpila do dejín vedy, lebo evolúcia bola opísaná ako motor pre adaptáciu. Keďže jeho<br />
teória fungovala pre živé organizmy, prečo nie aj pre počítačové programy. Takto<br />
vznikla teória genetických algoritmov.<br />
John R. Koza je vedcom a prednášateľom na Stanfordskej univerzite a patrí medzi<br />
zakladateľov genetického programovania, techniky na optimalizáciu zložitých<br />
problémov.<br />
Ingo Rechenberg v 60-tych a 70-tych rokoch vyvinul množinu optimalizačných<br />
metód známych ako <strong>evolučné</strong> stratégie, ktoré úspešne aplikoval.<br />
Hans-Paul Schwefel prednáša na univerzite v Dortmunde a patrí medzi prvých<br />
vedcov v oblasti evolučných výpočtov, najmä evolučných stratégií.<br />
Karl Sims vedie GenArts, Inc. v Massachusetts a je tvorcom umelecko-vedeckých<br />
interaktívnych počítačových animácií ako sú napríklad Galápagos a Genetic Images.<br />
18
FEI KKUI<br />
Formulácia úlohy<br />
Úlohou tejto bakalárskej práce bolo:<br />
1) Analyzovať súčasný stav výskumu interaktívnych evolučných výpočtov a uviesť<br />
hlavné aplikačné oblasti s konkrétnymi príkladmi systémov.<br />
2) Detailnejšie analyzovať aplikačný potenciál IEC v <strong>dizajne</strong>.<br />
3) Navrhnúť a implementovať zvolený algoritmus na grafický dizajn.<br />
4) Vykonať experimenty.<br />
5) Pouvažovať nad použitím navrhnutého programu v praxi.<br />
Práca je rozdelená do piatich kapitol, v ktorých sú postupne realizované jednotlivé<br />
zadané úlohy.<br />
V prvej kapitole sa nachádza prehľad vlastností evolučných výpočtov, jednotlivé<br />
druhy so zameraním na genetické algoritmy a genetické programovanie, ich kroky<br />
nasledované opisom interaktivity a problémov súčasného výskumu. Na záver kapitoly<br />
sú uvedené príklady ich aplikácií.<br />
Keďže bakalárska práca sa zaoberá využitím EV v <strong>dizajne</strong>, druhá kapitola<br />
poskytuje okrem definície aj prehľad aplikácií dizajnu, kde sa využívajú EV.<br />
Tretia kapitola obsahuje návrh jednoduchého programového systému v oblasti<br />
grafiky, pričom výsledky a vykonané experimenty sú uvedené v štvrtej kapitole.<br />
Piata kapitola práce sa zaoberá analýzou možností navrhnutého systému pre jeho<br />
reálne nasadenie v praxi, pričom sa zameriava na oblasť konceptuálneho dizajnu.<br />
Tretia a štvrtá kapitola tvoria jadro predloženej bakalárskej práce.<br />
V záverečnej kapitole je uvedené zhrnutie dosiahnutých výsledkov a tiež<br />
podnety pre ďalšie zlepšenie navrhnutého systému.<br />
19
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 />
Evolúcia sa s nami nezastavila...Evolúcia môže pokračovať do nekonečna.<br />
1 Súčasný stav v oblasti interaktívnych<br />
20<br />
Gene Roddenberry, La Costa, 1990<br />
evolučných výpočtov a ich aplikačný potenciál<br />
1.1 Základné princípy evolučných výpočtov a genetické<br />
operátory<br />
“Evolučné <strong>výpočty</strong> 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<br />
potenciálnych riešení problému. Bežne používaný výraz v tomto kontexte je<br />
„optimalizácia“, čo jednoducho znamená nájdenie najlepšieho. Napríklad, ako<br />
prehľadávanie knižnice na nájdenie knihy, ktorá najlepšie spĺňa naše požiadavky“ [3].<br />
Evolúcia je kontroverzný pojem, vnímaný v mnohých významoch. Niekedy<br />
takmer akákoľvek zmena je považovaná za podobu evolúcie a inokedy sa evolúciou<br />
nazýva len veľmi prísne ohraničený špecifický proces, ktorý má svoje miesto<br />
v genetických systémoch, respektíve v biologickej evolúcii. Na splnenie účelu mojej<br />
práce nemá zmysel ďalej uvažovať o týchto odlišných prístupoch.<br />
Na evolúciu sa v kontexte výpočtovej vedy 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ú [7]:<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<br />
reprodukčného procesu);<br />
3) reprodukčný proces: vznik nových jedincov populácie kombináciou<br />
genetické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<br />
funkciu vhodnosti (fitness). To znamená, že jedinec s vyššou hodnotou má vyššiu<br />
pravdepodobnosť prispieť jedným alebo viacerými potomkami v nasledujúcej generácii,<br />
podobne 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ú<br />
náhodnú prípustnú hodnotu.<br />
Obr. 1 Reprodukcia dvoch chromozómov a následná mutácia ich potomka<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é<br />
predstavuje fenotyp. Možné konkrétne hodnoty daného génu reprezentujú alely. Pre<br />
vývoj procesu je nevyhnutné, aby sa v nových genotypoch vyskytovali variácie alebo<br />
mutácie s istou frekvenciou výskytu. Evolúcia nie je explicitne formulovaná v EC, to<br />
znamená, že nie je napevno naprogramovaná, ale vzniká sekundárne počas behu<br />
algoritmu.<br />
21
FEI KKUI<br />
1.2 Druhy evolučných výpočtov<br />
22<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 />
Evolučné <strong>výpočty</strong>, respektíve <strong>evolučné</strong> algoritmy (EA) je spoločné pomenovanie pre<br />
počítačové výpočtové systémy, ktoré riešia danú problematiku, a ktoré používajú<br />
výpočtové modely evolučných procesov ako kľúčové elementy pri ich návrhu a<br />
implementácii.<br />
Hlavné rozdiely medzi jednotlivými 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 <strong>evolučné</strong> <strong>výpočty</strong> zastrešuje techniky:<br />
(1) Genetické algoritmy (ďalej GA), ktoré v roku 1975 navrhol Holland [21]<br />
a opísal ako adaptívne správanie základných foriem života, neskôr Goldberg [14] ako<br />
nástroj na riešenie optimalizačných úloh a Beasley [2] ako adaptívne metódy, ktoré<br />
môžu byť využ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<br />
prírodných systémov a (2) navrhnúť umelé systémy, ktoré si ponechávajú dôležité<br />
mechanizmy prírodných systémov.<br />
Najvýstižnejšia je definícia Kozu [29]:<br />
“Genetický algoritmus je pravdepodobnostný prehľadávací algoritmus (postup<br />
krokov), ktorý iteratívne transformuje množinu (nazvanú populácia) matematických<br />
objektov (typicky binárne znakové reťazce s fixnou dĺžkou), každý s príslušnou hodnotou<br />
funkcie vhodnosti, na novú populáciu objektov potomstva používajúc Darwinov princíp<br />
prírodného výberu a operátory, ktorých vzorom sú v prírode sa vyskytujúce genetické<br />
operácie, ako kríženie (pohlavná rekombinácia) a mutácia.“
FEI KKUI<br />
GA sa používajú s neurónovými sieťami a fuzzy logikou na riešenie zložitejších úloh.<br />
Ich veľký úspech podnietil výskumníkov tak, že si požičali ďalšie koncepty z prírody<br />
a aplikovali ich v počítačových vedách. GA umožňujú vyhľadávanie v obrovských<br />
priestoroch riešení. Používajú sa aj ako klasifikačné alebo triediace systémy a na<br />
nájdenie optimálneho vektora parametrov (váh) pre NN.<br />
(2) Genetické programovanie 7 , ktoré vychádza z GA, ale na rozdiel od týchto<br />
algoritmov je reprezentované pomocou štruktúrovaných stromov funkcií namiesto<br />
reť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á<br />
predstavuje množinu možných uzlov tvoriacich listy stromu, ostatné sú vetvy.<br />
Terminálna množina sa skladá z programových vstupov (premenných) a fixných čísel<br />
(môže to byť náhodné číslo) a neterminálna množina obsahuje funkcie a operátory.<br />
Obr. 2 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ý<br />
„podstrom“ náhodnými uzlami. Kríženie je implementované vybraním náhodného<br />
„podstromu“ každého rodiča a ich zámenou u potomka. Veľkosť stromu málokedy<br />
ostáva rovnaká po mutácii a krížení.<br />
Ďalšia odlišnosť oproti GA je, že reťazce sú dynamické (nezávislé od veľkosti<br />
reťazcov a populácie), čo predstavuje podstatnú výhodu.<br />
7 Samozrejme, viacerí autori majú rôzny názor, ktoré techniky pojem <strong>evolučné</strong> <strong>výpočty</strong> zastrešuje.<br />
Napríklad podľa Schwefela [46] sa genetické programovanie a učiace klasifikačné systémy oddialili od<br />
filozofie evolučných výpočtov.<br />
23
FEI KKUI<br />
(3) Evolučné programovanie, ktorému sa venovali najmä Lawrence Fogel [11]<br />
a David Fogel [10], a ktoré je možné stručne definovať ako techniku určenú na<br />
prehľadávanie priestoru, kde sa dôraz kladie na operátor mutácie a nezahŕňa sa<br />
rekombinácia (výber je pravdepodobnostný).<br />
(4) Evolučné stratégie, ktoré vyvinuli Rechenberg [43] a Schwefel [46] a sú<br />
definované ako algoritmy na numerickú optimalizáciu, kde je kladený dôraz na mutáciu<br />
a zároveň na rekombináciu (výber je deterministický).<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ý<br />
genetický 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 [34] .<br />
Pojem „algoritmus (algorithm)“ sa neobjavil v slovníku Webster’s New World Dictionary ešte<br />
aniv roku 1957. Najpodobnejšie slovo, ktoré sa objavovalo v slovníkoch v tom čase bolo „algorism“, čo<br />
znamená proces v aritmetike používajúci arabské číslice. Pojem algoritmus sa objavuje ako výsledok<br />
pomýlenia si slova aritmetika (arithmetic) s menom perzského matematika<br />
Abu Jafar Mohammed ibn Musa al-Khowarizmi ... až pokiaľ tento pojem nadobudol dnešný<br />
1.3 Kroky genetického algoritmu<br />
význam presne definovanej procedúry na výpočet niečoho.<br />
Genetický algoritmus pozostáva vo všeobecnosti z nasledujúcich krokov:<br />
24<br />
George Markowsky [36]<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<br />
stanovené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ómov do<br />
ďalšej generácie.<br />
4) Kríženie a mutácia.<br />
5) Vznik novej generácie a skok na krok (2).
FEI KKUI<br />
"Žiadne návody na tvorenie krásy nemôžu byť nikdy zostrojené,<br />
ale analyzovaním môžeme zistiť príčiny rôznych dojmov, ich zdroje a pôvody,<br />
a tak zjednodušiť architektonickú tvorbu, keď sa dizajnér stáva vedomý povahy<br />
1.4 <strong>Interaktívne</strong> <strong>evolučné</strong> <strong>výpočty</strong><br />
jeho vlastnej tvorby a faktorov ovládajúcich jeho výsledky.“<br />
J.S. Sirén's (fínsky profesor architektúry, 1889 –1961)<br />
Existujú dva typy cieľových systémov používaných na systémovú optimalizáciu:<br />
1) sú to systémy, hodnotiace funkcie je možné vyjadriť numericky – alebo aspoň<br />
kvantitatívne a<br />
2) systémy, u ktorých je veľmi ťažké, niekedy nemožné, tieto optimalizačné parametre<br />
špecifikovať, vyjadriť, ako je napríklad ohodnotenie hudby a iných umeleckých diel.<br />
Kritériá pri takýchto systémoch sú subjektívne, to znamená, že sú závislé od<br />
konkrétneho posudzovateľa. Existuje množstvo oblastí, nielen umelecké a estetické, ale<br />
aj inžinierske a vzdelávacie, kde výstupy systému závisia od preferencií, zmyslov,<br />
emócií a porozumení človeka. V interaktívnych evolučných výpočtoch je funkcia<br />
vhodnosti nahradená ľudským užívateľom.<br />
Obr. 3 Znázornenie procesu IE systému inšpirovaného Takagim<br />
25
FEI KKUI<br />
Vo všeobecnosti sa používanie interaktívnych evolučných výpočtov začína<br />
dielom Richarda Dawkinsa a jeho konceptom Sebeckého génu. Viacerí vedci veria,<br />
že technológie, ktoré majú blízko k ľudom, ako je aj interaktívny evolučný výpočet<br />
(ďalej IEC) predstavujú nasledujúci krok vo výpočtových technológiách.<br />
Hideyuki Takagi [52] rozdeľuje definície IEC na:<br />
1) užšia definícia IEC: technológia, ktorá pomocou EC optimalizuje cieľový<br />
systém na základe subjektívnej hodnotiacej funkcie človeka, ktorou je funkcia<br />
vhodnosti pre výstupy daného systému a<br />
2) širšia definícia IEC: technológia, ktorá optimalizuje cieľový systém s<br />
použitím interaktívneho rozhrania medzi človekom a počítačom.<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<br />
spôsob produkovania 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 />
1.4.1 Dva priestory IEC<br />
IEC je optimalizačný nástroj, ktorý využíva kooperáciu človeka a počítača, to znamená,<br />
že v časti cyklu (2) hodnotenie jedincov (viď kapitolu 1.3) je subjektívne hodnotenie<br />
získané od človeka (funkcia vhodnosti) ako hodnotenie vzdialenosti medzi vlastnou<br />
predstavou a výstupom optimalizačného procesu v psychologickom priestore. Na druhej<br />
strane IEC pracuje v priestore parametrov a dochádza k premapovaniu medzi týmito<br />
priestormi. IEC hľadá v priestore parametrov globálne optimum (jedná sa skôr o oblasť,<br />
ako konkrétny bod priestoru prehľadávania).<br />
Bentley [3] povedal: „Je plodné pozorovať genetický algoritmus ako používa<br />
dva separované priestory: prehľadávací priestor a priestor riešení. Prehľadávací priestor<br />
je teraz priestor kódovaných riešení úlohy a priestor riešení je priestor aktuálnych<br />
riešení. Kódované riešenia alebo genotypy musia byť zobrazené na aktuálne riešenia<br />
alebo fenotypy, predtým ako môže byť hodnotená vhodnosť.“<br />
26
FEI KKUI<br />
1.4.2 KANSEI<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 />
27<br />
Pablo Picasso, španielsky maliar<br />
Ľudia majú okrem tradičných znalostí aj množinu vlastností ako sú emócie, intuícia,<br />
preferencie, pocity, vnemy a rôzne iné psychologické funkcie, ktoré dostali<br />
pomenovanie KANSEI (z japonského slova 感性工学 kansei kougaku: zmyslové<br />
inžinierstvo).<br />
KANSEI je ... 8<br />
subjektívny efekt, ktorý sa nedá opísať len slovne<br />
kognitívny koncept, ovplyvnený znalosťou, skúsenosťami a vlastnosťami<br />
jednotlivca<br />
vzájomná interakcia medzi intuíciou a intelektuálnou aktivitou<br />
citlivosť vnímania aspektov ako je krása<br />
tvorba obrazov<br />
Hodnotiaca funkcia v IEC začleňuje subjektívne ohodnotenie, čiže KANSEI, do<br />
optimalizačného systému.<br />
V prípade dizajnu, dizajnér má vo svojej mysli určitú predstavu, pocit, obraz.<br />
K uspokojeniu dizajnéra dochádza, keď finálny produkt splnil tento obraz. V umení<br />
a <strong>dizajne</strong>, KANSEI je jeden z najdôležitejších elementov, pretože jeho výstupom je<br />
kreativita. Je dokázané, že správanie človeka pri tvorení diela nie je založené na logike,<br />
ale na KANSEI.<br />
8 Lee, Harada, Stappershttp, Pleasure with Products: Design based on Kansei<br />
http://studiolab.io.tudelft.nl/static/gems/publications/00Lee_PW<br />
PPlea.pdf
FEI KKUI<br />
Slovo KANSEI je interpretované rôzne, a nie je používané len v súvislosti<br />
s dizajnom. Protikladom je slovo CHISEI, ktoré znamená inteligenciu, správanie<br />
založené na logickom podklade. KANSEI a CHISEI majú rovnakú silu pri ľudskom<br />
konaní. Väčšina dizajnérov sa doteraz zameriavala na CHISEI, z dôvodu, že KANSEI<br />
bol považovaný za celkom subjektívny fenomén, keďže každý jednotlivec vníma<br />
skutočnosti rozdielne. Masová výroba nebrala do úvahy individuálne preferencie<br />
a pocity, čo je príčina, prečo dizajn nevnímal KANSEI. Súčasným trendom je, že<br />
funkčné požiadavky sú riešené CHISEIom, čiže logickou znalosťou technológie, ale<br />
splnenie emocionálnych potrieb, vrátane krásy, upriamuje pozornosť na KANSEI.<br />
28<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 />
1.5 Súčasný výskum 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á štruktúra<br />
programu je navrhnutá tak, aby bola čo najviac prístupná užívateľovi, čím sa paradoxne<br />
celý softvér stáva menej prístupným, pretože tým sa komplikuje užívateľské rozhranie.<br />
Napríklad, namiesto toho, aby sme manipulovali so vzhľadom obrázku, nastavujeme<br />
jeho parametre. Často sa používa opačný prístup, kde všetky parametre sú užívateľovi<br />
skryté a on sa sústredí len na zlepšovanie/dosiahnutie želaného výstupu.<br />
Dnešný 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 je výskum<br />
zameraný hlavne na riešenie týchto problémov:<br />
(1) Redukovanie únavy používateľa (user´s fatigue)<br />
V momente, keď ľudský operátor prichádza do kontaktu s vytrvalým počítačovým<br />
systémom a hodnotí jedincov EC, proces IEC nemôže pokračovať vo veľkom množstve<br />
generácií.
FEI KKUI<br />
a) Systém sa učí proces užívateľových subjektívnych hodnotení a sčasti alebo<br />
celkom nahrádza užívateľov v ich hodnotení, v niektorých alebo všetkých hodnotených<br />
vhodností jedincov v primeranom čase tak, aby sa redukoval čas strávený užívateľmi pri<br />
hodnotení jedincov.<br />
Biles [5] zaviedol neurónové siete, ktoré sa učia subjektívne hodnotenia človeka<br />
a nahrádzajú užívateľov v ohodnocovaní fitness jedincov. Zhou [61] hodnotil funkcie<br />
vhodnosti pomocou NN v IGA. V rôznych fázach sú zavedené rôzne NN na učenie<br />
hodnotení užívateľov a potom NN nahradzuje užívateľa v tomto procese. Hao [17]<br />
predstavil koncept génových častí a hodnotil celkovú vhodnosť hodnotením<br />
jednotlivých vhodností génových častí. Yanamoto [59] vypočítaval vzdialenosti medzi<br />
hodnotenými jedincami a inými jedincami, ktoré boli predtým ohodnotené<br />
používateľmi.<br />
Alternatívou alebo doplňujúcou metódou na minimalizovanie užívateľskej<br />
únavy je aj b) zrýchlenie konvergencie EC (zlepšenie schopnosti lokálneho<br />
prehľadávania).<br />
Ohsaki a Takagi [38] publikovali metódu, ktorá spočíva v aproximácii<br />
prehľadávanej plochy použitím konvexnej krivky. V niektorých prípadoch postačuje aj<br />
možnosť vývoja EC technológie, ktorá prehľadáva a konverguje s malou populáciou.<br />
Lee a Cho [33] priamo manipuloval s najlepším jedincom, keď sa populácie vyvinuli do<br />
určitej fázy. Autori aplikovali hierarchiu v populácii.<br />
Dôležitý je aj c) návrh programového rozhrania tak, aby bolo jednoduché<br />
a atraktívne pre používateľa.<br />
Druhým problémom je:<br />
(2) zabezpečiť rozmanitosť populácie na zlepšenie schopnosti algoritmu bádania<br />
Známe sú napríklad tieto metódy na riešenie tohto problému :<br />
• Implementácia IGA s multipopuláciou<br />
Rozmanitosť populácií môže byť zvýšená migráciou jedincov populáciami.<br />
Existujú dva druhy: 1. implementácia založená na jednom počítači a 2. založená na<br />
sieťach. Druhá možnosť je vhodnejšia, keďže znamená, že rôzni užívatelia môžu<br />
pracovať simultánne. Algoritmy môžu byť umiestnené v rôznych PC ako klienti<br />
a migrácia jedincov populáciami môže byť umiestnená na serveri.<br />
• Aplikácia zrelých adaptívnych genetických operátorov na IGA<br />
29
FEI KKUI<br />
hlasových dojmov, ako sú pokoj, hnev, radosť, atď [45].<br />
30<br />
Cieľom je mať stroje schopné správať sa tak,<br />
že v prípade, že by sa takto správali ľudia,<br />
tak by bolo usudzované, že používajú inteligenciu.<br />
Arthur Samuel (1901 – 1990),<br />
jeden z prvých vedcov v oblasti UI a tvorca inteligentného šachu<br />
1.6 Príklady aplikácií interaktívnych evolučných výpočtov<br />
Keďže spektrum aplikácií IEC je obrovské, stručne zhrniem aplikácie do týchto oblastí:<br />
(1) Skvalitnenie medicínskych obrázkov: Lekári používajú tieto systémy na<br />
jednoduchšie a korektné určovanie chorých častí tela. Poli [41] aplikoval GP na návrh<br />
filtrov, ktoré zaostrujú obraz magnetickej rezonancie a kardiografických obrazov, kde<br />
GP tvorí matematické rovnice opisujúce filtre vzhľadom na vizuálnu odlišnosť. Mutoh<br />
[38] generoval postupnosti obrazových filtrov.<br />
(2) Prístroj na počúvanie: Aj keď digitálne počúvacie prístroje majú vyšší<br />
potenciál ako konvenčné analógové, problém je v rozšírení prístrojov medzi viacerých<br />
používateľov, keďže iba používateľ sám môže ohodnotiť kvalitu zvuku. Ohsaki<br />
a Takagi [38] navrhli systém, ktorý automaticky nastaví parametre prispôsobujúce sa<br />
vnímaniu konkrétneho používateľa.<br />
Obr. 4 Prístroj na počúvanie podľa Takagiho<br />
(3) Spracovanie reči: Použitie IEC (GA) na návrh FIR filtra (z angl. Finite<br />
Impulse Response – digitálny filter bez spätnej väzby) dokázalo zlepšiť kvalitu<br />
skreslenej reči. Známa je aj aplikácia IEC na modifikáciu parametrov reči na zmenu
FEI KKUI<br />
(4) Kuriyama [31] zostrojil systém na podporu učenia písania rozprávok pre<br />
deti, kde je zobrazených 24 obrázkov a deti si vyberajú dva štvorobrázkové súbory<br />
postupností, čím príbeh pokračuje.<br />
(5) Známe sú aj roboty založené na neurónovej sieti (ďalej NN), kde vstupom je<br />
informácia robotického senzora a výstupom hodnoty riadenia pohybu a IEC je použitý<br />
na výber lepších pohybov.<br />
(6) Pagliarini [40] navrhol rôzne hry, vrátane hry umelého prežitia, maľovaných<br />
grafov založených na evolúcii NN a kreslenia tvárí.<br />
Obr. 5 Face-it: Pagliariniho softvér kreslenia tvárí<br />
Softvér kreslenia tvárí sa využíva aj v iných oblastiach, napríklad v<br />
kriminalistike a v mentálnej terapii, keď talianski terapeuti začali používať Pagliariniho<br />
softvér na učenie mentálne postihnutých detí rozoznávanie výrazov tváre.<br />
Podobný systém, ale v trojrozmernej podobe navrhli Heimbrecht a Trogemann<br />
[20]. Jedná sa o systém, ktorý vyjadruje rôzne pocity a výrazy tváre.<br />
Obr. 6 Evolúcia rôznych expresií tvárí<br />
31
FEI KKUI<br />
(7) Hudba: V hudbe sa IEC používa predovšetkým na tvorbu melódií a rytmov.<br />
Biles [5] vyvinul GenJam, systém na simuláciu učenia improvizácie jazzu, kde<br />
človek hodnotí počutú melódiu. Podobne Horowitz [22] generoval rytmické sekvencie<br />
a Jacob implementoval pohyblivé variácie, používajúc tzv. „počítačové ucho” založené<br />
na chromozómoch na konštrukciu hudobných fráz. Moroniho Vox Populi je systém na<br />
kompozíciu hudby v reálnom čase, kde hudobná fitness sa skladá z melodickej,<br />
harmonickej a fitness hlasového rozpätia.<br />
(8) Virtuálna realita (ďalej VR): IEC vyriešil problém determinovania faktoru<br />
určujúceho VR, napríklad ako je kontrola ruky zápasiaceho robota. Fuzzy regulátor sa<br />
prispôsobuje ľudskému vnímaniu VR [26].<br />
(9) Priemyselný dizajn a návrh výrobkov: Väčšinou sa jedná o produkt CAD<br />
systémov, čiže optimalizovanie parametrov ako je dĺžka, uhol, farba a podobne.<br />
Príklady aplikácií sú: návrh tvaru konkrétneho oblúku priehrady, nosných mostov,<br />
oblečenia, stolov (použitím primitívnych reprezentácií tvarov stoly spĺňajú rôzne<br />
kritériá ako veľkosť, rozloženie hmoty a stabilitu), návrh schém, ako je napríklad GUI,<br />
užívateľské rozhranie programového systému. Cho [23] aplikoval GA na napodobenie<br />
ľudského faktoru na návrh výrobkov.<br />
Obr. 6 Návrh áut inšpirovaný Takagim<br />
(10) Módny dizajn: Autori Gong, Hao, Zhou a Sun [15] aplikovali IGA<br />
v módnom <strong>dizajne</strong>. Navrhli IGA s multipopulačnou adaptívnou hierarchiou. Ženskú<br />
módu rozdelili na tri časti: hornú časť, dolnú časť a rukávy. Každá z nich je zakódovaná<br />
32
FEI KKUI<br />
štvorbitovým binárnym reťazcom, kde prvé dva bity reprezentujú štýl a ostatné dva<br />
farbu.<br />
Keďže pravdepodobnosť mutácie je veľmi nízka a k mutácii dochádza len<br />
v jedincoch s veľmi nízkou hodnotou funkcie vhodnosti, operátor mutácie má veľmi<br />
malý vplyv na únavu užívateľa tohto systému. Takisto, mutácia jedincov s nízkou<br />
hodnotou fitness pomáha zrýchľovať konvergenciu algoritmu a tým sa zmenšuje počet<br />
generácií. Po nastavení pokusných parametrov, užívatelia začínajú experimentovať.<br />
Systém zobrazuje najlepších jedincov po každom ich ohodnotení, kde jedinec<br />
s najvyššou hodnotou fitness vystrieda jedinca s najnižšou hodnotou fitness.<br />
Obr. 7 Aplikácia IEC v módnom <strong>dizajne</strong><br />
(11) Návrh rámov okuliarov: Yanagisawa a Fukuda [58] použili IEC na návrh<br />
rámu okuliarov, kde zákazník hodnotí niekoľko vzorov navrhnutých ich systémom na<br />
dosiahnutie harmónie okuliarov s tvárou zákazníka.<br />
(12) Geológia: Wijns [57] modeloval geologické procesy bez numerických<br />
kritérií, kde expert hodnotí sekvenciu geologických modelov.<br />
(13) Výber dát z databázy: Databáza môže byť dolovaná reverzným<br />
mapovaním zo psychologického priestoru užívateľa do fyzického priestoru. EC<br />
vyhľadáva obrázky alebo hudbu v priestore čŕt, človek ich hodnotí v psychologickom<br />
priestore. Kitamoto [28] použil NN spolu s GA na inverzné mapovanie týchto dvoch<br />
priestorov.<br />
33
FEI KKUI<br />
(14) Získavanie znalostí: Terano [53] aplikoval IEC na získavanie znalostí z<br />
dotazníkov pri hodnotení produktov spotrebiteľmi. Venturini [56] tiež použil IEC v<br />
dataminingu. Tabuchi [49] využil dáta poškodenej ocele a každú množinu dát opísal<br />
parametrami. Použitím GP získal na výstupe typ poškodenia.<br />
(15) Architektúra: Garza a Maher [12] použili IEC na návrh pôdorysov budov<br />
a na evolúciu budov v nejakom štýle, ktorý bol predtým matematicky popísaný.<br />
Navrhujú sa rôzne špecifické budovy ako čínske pagody, tradičné bosnianske domy.<br />
DeLanda [8] tiež navrhuje budovy použitím genetického algoritmu. Zaujímavá je aj<br />
práca študenta Somnatha Raya [42], ktorý navrhol Para-City, systém, ktorý využíva<br />
genetický algoritmus na dizajn mrakodrapov.<br />
Obr. 8 Ukážka návrhu budovy DeLandom a Rayov systém Para-City<br />
V druhej kapitole sa bližšie venujem oblasti grafického dizajnu.<br />
34
FEI KKUI<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 />
35<br />
Kevin Kelly [27], 1995<br />
2 Využitie interaktívnych evolučných výpočtov<br />
v grafickom <strong>dizajne</strong><br />
2.1 Evolučný dizajn<br />
2.1.1 Evolúcia – nástroj na objavovanie dizajnérskych možností<br />
V prírode je dizajn prítomný viac ako 4 miliardy rokov. Evolúcia je proces objavovania<br />
dizajnérskych možností. Gény sú nositeľmi zakódovaných informácií o <strong>dizajne</strong> alebo<br />
o spôsobe konštrukcie dizajnu. Príroda objavuje dizajnérske možnosti tvorením variácií,<br />
ktoré sú založené na úspešných dizajnoch. Počítačový evolučný dizajn je založený na<br />
podobnom princípe, kde neželané tvary sú eliminované užívateľom.<br />
Obr. 9 Prírodné variácie dizajnu a variácie dizajnu vytvorené Lionelom Deanom<br />
Schopnosť modelovať a implementovať procesy dizajnu ako uvažujúce systémy,<br />
používajúc metódy umelej inteligencie, vytvorila nové rozhrania do štúdia teórie<br />
dizajnu a jej metodológie. Dizajnéri používajú evolúciu na optimalizáciu tvarov rôznych<br />
predmetov, umelci generujú evolučnou cestou esteticky príťažlivé formy, architekti<br />
vyvíjajú nové dizajny budov.
FEI KKUI<br />
2.1.2 Oblasti <strong>evolučné</strong>ho dizajnu<br />
Dizajn sa skladá z troch základných aktivít: predstava, prezentovanie a<br />
testovanie. Dizajn sa odlišuje od fantázie práve existenciou a aplikáciou testov, ktoré<br />
definujú ohraničenia a ktoré dizajn musí uspokojiť.<br />
Obr. 10 EC a ED majú korene v Počítačovej Vede a Evolučnej Biológii podľa Bentleyho [3]<br />
Umelá Inteligencia (ďalej UI) ponúka bohatú sadu konceptov na modelovanie<br />
dizajnu, ktoré môžeme rozdeliť na tri pohľady [19]:<br />
1) UI poskytuje štruktúru, v ktorej sú skúmané nápady,<br />
2) ponúka schému modelovania ľudského navrhovania a<br />
3) poskytuje vývoj nástrojov pre dizajnérov.<br />
Rozšírenie tretieho pohľadu spočíva v tom, že tieto nástroje ukazujú spôsoby na<br />
automatizáciu určitých procesov v <strong>dizajne</strong>.<br />
Bentley [3] rozdelil oblasti <strong>evolučné</strong>ho dizajnu (ďalej ED) do oblastí, ktoré sa<br />
líšia hlavne v spôsobe reprezentácie problému a vo vytváraní počiatočnej populácie:<br />
1) optimalizácia už existujúceho dizajnu,<br />
2) generovanie nového dizajnu z náhodnej počiatočnej populácie –kreatívny ED,<br />
3) <strong>evolučné</strong> generovanie umeleckých diel a<br />
4) vývoj umelých foriem života.<br />
Bentley tiež spomína prípady, ktoré nepatria ani do jednej kategórie, ale do<br />
viacerých a nazýva ich prekrývajúce:<br />
1) integrálny evolučný dizajn,<br />
2) estetický evolučný dizajn,<br />
36
FEI KKUI<br />
3) evolučný dizajn založený na umelom živote a<br />
4) estetický evolučný umelý život.<br />
Obr. 11 Rozdelenie ED do oblastí podľa Bentleyho [3]<br />
2.1.3 Dokáže byť počítačový program kreatívny?<br />
Mnoho vedcov a umelcov sa snaží navrhnúť mechanizmy, ktoré by preukázali kreatívne<br />
vlastnosti. Kreativita je jednou z najmenej pochopených aspektov inteligencie a je často<br />
videná ako intuitívna, a nie ako racionálna. Záujem o jej vzkriesenie je, okrem umelej<br />
inteligencie a kognitívnej vedy, aj v psychológii, filozofii, počítačovej vede, logike,<br />
matematike, sociológii, architektúre a <strong>dizajne</strong>. Kreativita implikuje inovatívny výstup:<br />
„Kreatívita znamená všeobecný zmysel pre originalitu a inovatívnosť [60]“<br />
Kreativita je tvorba neobyčajných, nových kombinácií starých nápadov, kde<br />
prekvapenie spôsobené kreatívnym nápadom je odmena za nepravdepodobnosť<br />
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?<br />
37
FEI KKUI<br />
2.1.4 Dawkinsove biomorfy<br />
Už Dawkins, bádateľ istého druhu Borgesovej knižnice, sa pri navrhovaní biomorfov<br />
snažil poukázať na silu evolúcie, ktorá využíva spoluprácu mutácie a selekcie a kde<br />
vhodnosť jedinca definuje pozorovateľ na základe vizuálneho vnemu novo-<br />
vygenerovaných tvarov objektov. Sám hovorí, že takto netvorí, ale objavuje nové<br />
bytosti. Všetky možné riešenia vytvárajú genetický priestor a umelá evolúcia je nástroj<br />
na jeho prehľadávanie.<br />
Kelly [27] o ňom povedal: „Dawkins napísal Biomorfickú Krajinu ako náučný<br />
program na ilustráciu, ako navrhované veci môžu byť kreatívne bez dizajnéra. Chcel<br />
vizuálne demonštrovať, že pokiaľ náhodná selekcia a bezcieľne putovanie by nikdy<br />
nevyprodukovali súvislý dizajn, hromadná selekcia by to dokázala.“<br />
Pôvodne Dawkins napísal program na evolúciu štruktúr podobných stromom, ale<br />
na jeho prekvapenie sa začal rozvíjať podivuhodne všestranný svet rozličných motívov.<br />
Objavil oblasti, kde sa genotyp prekódoval na tvory podobné hmyzu, od chrobákov po<br />
motýle a od škorpiónov k žabám.<br />
Dawkins svoje pocity opísal neskôr:<br />
„Takmer som mal horúčku od vzrušenia. Nemôžem vyjadriť moje nadšenie, ktoré<br />
som cítil z bádania krajiny, ktorú som ja vytvoril. Nič v mojej kariére biológa, nič počas<br />
dvadsiatich rokov programovania a nič v mojich najdivokejších snoch, ma nepripravilo<br />
na to, čo sa v skutočnosti práve objavovalo na obrazovke.“<br />
Obr. 12 Ukážka obyvateľov Biomorfickej Krajiny<br />
38
FEI KKUI<br />
2.1.5 Porovnanie manuálneho návrhu a návrhu použitím evolučných<br />
výpočtov<br />
Jeden z nových prístupov, ktorý uľahčuje tvorbu dvojrozmerných obrazov a<br />
trojrozmerných geometrických modelov sú IEC, ktoré podporujú užívateľovu<br />
vynaliezavosť a inšpirujú ho generovaním nových tvarov.<br />
Dnes sa EC v oblasti dizajnu používajú na:<br />
1) generovanie nových potencionálnych dizajnérskych riešení alebo ako<br />
2) úplne samostatný systém, keďže sú schopné kreatívne vyvíjať určité objekty.<br />
Evolučné <strong>výpočty</strong> prehľadávaním poskytujú riešenia úloh. To znamená, že<br />
namiesto zvažovania jedného riešenia v danom čase, evolučný prístup berie do úvahy<br />
veľkú množinu, populáciu, mierne meniace sa riešenia a následne cez proces mutácie<br />
a reprodukcie sú tvorené nové generácie, ktoré sú hodnotené až po nájdenie dobrých<br />
riešení.<br />
Tento proces by som názorne ukázala na jednoduchom príklade evolúcie<br />
nábytku. Na začiatku nastavíme množinu ohraničení, rôznych parametrov, ktoré<br />
evolučný algoritmus môže meniť. Tieto ohraničenia v prípade návrhu nábytku môžu<br />
byť napríklad hrúbka dosiek, dĺžka vrchnej časti stolu, dĺžka nôh a ich umiestnenie.<br />
V druhom kroku je generovaná náhodná populácia jedincov. To znamená, že<br />
definované parametre, náhodné hodnoty v medziach ohraničení sú nahradené a tieto<br />
zoznamy hodnôt sú uložené do pamäti.<br />
Obr. 13 Iteračný proces návrhu stola s množinou potencionálnych riešení<br />
Z každej generácie sú vybraní najlepší jedinci (v tomto prípade vzhľadom<br />
k estetickému výberu) na reprodukciu a mutáciu.<br />
39
FEI KKUI<br />
Najjednoduchšie návrhy spočívajú v prispôsobovaní jednej premennej v čase<br />
(viď príklad stola), kde jedno riešenie je dosiahnuté po viacerých krokoch. Samozrejme,<br />
v tomto prípade, vzhľadom na jednoduchosť výpočtového procesu, nemá význam<br />
použiť <strong>evolučné</strong> <strong>výpočty</strong>.<br />
Obr. 14 Iteračný proces návrhu stola s jedným riešením<br />
Sila evolúcie spočíva v jej schopnosti vysporiadať sa s obrovským množstvom<br />
rôznych premenných paralelne. Porovnaním týchto dvoch prípadov, evolučný prístup je<br />
oveľa automatickejší, pretože organizačný proces môže byť ponechaný algoritmu.<br />
Ďalší problém u manuálneho návrhu je, že výstup uviazne v lokálnom optime riešení,<br />
ktoré sa zdá byť najlepším, pretože pozmenením premenných jedným alebo druhým<br />
smerom sa stáva riešenie horším. Napriek tomu môžu existovať riešenia lepšie ako<br />
lokálne optimum, ale štruktúru by bolo potrebné zmeniť, avšak pri uviaznutí v lokálnom<br />
optime je veľmi ťažko predpokladať, že existuje niečo lepšie.<br />
2.2 Evolučné umenie<br />
Evolučné umenie...<br />
je predstavivosť produkovaná procesom simulovanej evolúcie vo vnútri<br />
počítača, vedená umelcovou selekciou estetickej fitness 9<br />
dovoľuje umelcom generovať zložitú počítačovú umeleckú prácu bez toho, aby<br />
sa museli ponoriť do aktuálneho používaného programovania 10<br />
je bližšie genetickému inžinierstvu ako maľovaniu. 11<br />
9 Steven Rooke: Aesthetic Selection: The Evolutionary Art of Steven Rooke, 1996<br />
10 Andrew Rowbottom: http://www.netlink.co.uk/~snaffle/form/evolutio.html<br />
40
FEI KKUI<br />
Podľa Bentleyho [3] je <strong>evolučné</strong> umenie (ďalej EU) komerčne najúspešnejší typ<br />
<strong>evolučné</strong>ho dizajnu. EU prezentuje efektívny spôsob tvorenia atraktívneho umenia,<br />
ktoré má veľmi odlišné štýly, ale väčšinou nezáleží na funkčnosti. V systéme EU<br />
evolúcia pracuje skôr ako generátor tvarov než ako optimalizátor, poskytovaním<br />
rozmanitých foriem. Výsledkom je, že dizajnér má možnosť skúmať viaceré alternatívy<br />
návrhov.<br />
Jedna z aplikácií EU je, že užívateľ je vedený procesom k novým, zaujímavým<br />
obrázkom bez toho, aby mal vopred definovaný iný špecifický cieľ, ako je nájsť<br />
zaujímavé alebo pekné tvary.<br />
Pokiaľ riešenie alebo aplikácia je hľadaná pre nejaký špecifický problém alebo<br />
úlohu, existuje niekoľko rozdielnych obmedzení (fyzické, materiálne, priestorové...).<br />
Tieto obmedzenia sa môžu zakódovať do hodnotenia funkcie vhodnosti a parametrov<br />
<strong>evolučné</strong>ho systému a teda všetky návrhy, všetky generované nápady už do určitej<br />
miery spĺňajú základné požiadavky úlohy. V evolučnom umení väčšinou žiadne<br />
obmedzenia nie sú. Neexistuje univerzálne riešenie.<br />
Dôležitý rozdiel medzi systémami <strong>evolučné</strong>ho umenia je v reprezentáciách<br />
fenotypov. Rozmanitosť alternatívnych reprezentácií je obrovská – od fraktálov po<br />
rekurzívne pravidlá.<br />
Podobne sa IEC využíva aj v simuláciách fotografií, kde svetelné podmienky ako<br />
napríklad umiestnenie a typ svetelného zdroja, intenzita svetla a farby spôsobujú odlišné<br />
dojmy.<br />
2.2.1 Hlavné inšpirácie použitia evolučných výpočtov v grafickom <strong>dizajne</strong><br />
Jedna z prvých rozšírených aplikácií IEC bola práve tvorba obrázkov, ktorá je hlavnou<br />
náplňou mojej bakalárskej práce. Uvediem niektoré zaujímavé programové systémy,<br />
ktorými som sa inšpirovala.<br />
Biomorfická Krajina sa považuje za prvý praktický príklad používania<br />
evolučných výpočtov na generovanie tvarov, a aj keď jej pôvodný účel bol len<br />
ilustrovať teoretické princípy progresívnej selekcie, stala sa vzorom pre generáciu<br />
umelcov – vedcov, ako je napríklad William Lantham [32] .<br />
11 Jeffrey Ventrella: http://www.jeffreyventrella.com/<br />
41
FEI KKUI<br />
Obr. 15 Ukážka práce Williama Lanthama<br />
Pravdepodobne najznámejšia technika interaktívnej evolúcie obrázkov bola<br />
uvedená Karlom Simsom v článku „Artificial Evolution for Computer Graphics”. Sims<br />
[48] použil symbolické funkcie a jednoducho hodnotil funkcie v každom pixeli na<br />
transformáciu genotypov do obrázkových fenotypov.<br />
Obr. 16 Simsova umelecká práca<br />
Sims bol prvý, kto použil genetické programovanie na evolúciu 2D umenia<br />
a inšpiroval mnohé súčasné systémy <strong>evolučné</strong>ho umenia. Jeho najznámejšia práca bola<br />
umelecká inštalácia nazvaná „Genetic Images“, ktorá zobrazovala 16 obrázkov<br />
a verejnosť si vybrala najobľúbenejší. Najestetickejšie obrazy takýmto spôsobom<br />
„prežili“ a boli mutované, čím vznikla nasledujúca generácia. Každý obraz je<br />
reprezentovaný jedným stromom, kde výstup je farba pixela. Sims použil veľmi bohatú<br />
množinu funkcií.<br />
Obr. 17 Simsove „kreatúry“<br />
42
FEI KKUI<br />
V genetickom programovaní sú funkcie reprezentované stromovou štruktúrou,<br />
s premennými a konštantami v listových uzloch. Tieto stromovo štruktúrované<br />
genotypy začínajú slabo a v čase vyvíjajú zložitosť, naproti nim genetické algoritmy<br />
definujú genotypy s fixnou dĺžkou a lineárnou štruktúrou.<br />
Sims spolu s Foleym [lit]sa zaoberali tvorením scén a animácií, kde EC úzko<br />
súvisia s L-systémami.<br />
Steven Rooke 12 začlenil do jeho množiny riešení fraktály, čím vznikli<br />
prekvapujúce obrazy vyvíjajúce sa pomocou kríženia a mutácie. Výstup programu je<br />
interpretovaný funkciou, ktorá mapuje skalárne hodnoty RGB vektorov. Typická<br />
populácia obsahuje 150 jedincov a tieto sú na začiatku zložené z „dobrých“ (ktoré<br />
predtým dosiahli vysokú hodnotu vhodnosti) a z náhodných jedincov. Neexistuje tu<br />
limit veľkosti reprezentácie (okrem pamäti počítača), takže môžu byť vyvinuté veľmi<br />
zložité stromy<br />
Obr. 18 Rookova umelecká práca<br />
Unemiho SBART [54] zobrazuje 20 obrázkov, z ktorých si človek vyberá<br />
najlepšie ako rodičov (akýkoľvek počet) a následne je generovaná ďalšia množina 20<br />
obrázkov.<br />
Obr. 19 Unemiho SBART<br />
12 Aesthetic Selection: The Evolutionary Art of Steven Rooke, IEEE Computer grapahics and<br />
applications, Vol. 16, no. 1, s. 4-5, 1996<br />
43
FEI KKUI<br />
Penousal Machado [35] vyvinul programový systém EU nazvaný NEvAr<br />
(Neural Evolutionary Art). Narozdiel od Simsa, použil GP s množinou veľmi<br />
jednoduchých funkcií. Používanie len jednoduchých funkcií robí prehľadávací priestor<br />
„otvorenejším“, ale na druhej strane sa zvyšuje čas potrebný na dosiahnutie „dobrých“<br />
obrázkov. Počiatočný cieľ NEvAr-u bolo použiť neurónovú sieť na učenie sa, ktoré<br />
obrázky sa užívateľovi páčili (čo nebolo veľmi úspešné). Rola NN v evolučnom procese<br />
sa pozmenila na „filter“ niektorých obrazov, ktoré nezodpovedajú estetickým princípom<br />
užívateľa.<br />
Obr. 20 Machadova umelecká práca<br />
Hart [17] zaviedol rôzne praktické zlepšenia interaktívnej dvojrozmernej evolúcie<br />
obrázkov, z ktorých niektoré sú použiteľné aj v iných GP problémoch.<br />
Obr. 21 Hartova umelecká práca použitím GP<br />
Pri tvorbe systému som vychádzala z práce Laurenca Ashmora [1], ktorý použil<br />
karteziánske GP (definované v kapitole 0).<br />
Obr. 22 Ashmorova umelecká práca použitím GP<br />
44
FEI KKUI<br />
Pochopili sme, že by sme nemali dizajn vnímať ako imitáciu vedy; ani s ním nezaobchádzať ako s<br />
45<br />
mysterióznym, neopísateľným umením.<br />
Uznávame, že dizajn má svoju vlastnú jednoznačnú intelektuálnu kultúru.<br />
Nigel Cross<br />
3 Návrh a realizácia programového systému pre<br />
interaktívny dizajn v oblasti grafiky<br />
Snažila som sa navrhnúť jednoduchý programový systém grafického dizajnu, kde by<br />
som uplatnila získané poznatky z oblasti interaktívnej evolúcie.<br />
Za najväčší úspech návrhu systému považujem, že som sa pokúsila o zavedenie<br />
takej funkcie do programu, ktorá by reprezentovala typ automatickej selekcie, resp.<br />
hodnotenia vhodnosti. Systém načíta akýkoľvek externý obraz a automatická evolúcia<br />
smeruje k jeho podobnosti. Problém je v meraní vzdialenosti medzi zadaným, želaným<br />
obrázkom a tým, ktorý je aktuálne k dispozícii. Cieľový obrázok je veľmi ťažké<br />
dosiahnuť, pretože sa nenachádza v prehľadávacom priestore, takže vyhľadávaním sa<br />
dostane obraz, ktorý je mu najpodobnejší zo všetkých ostatných, predtým<br />
vygenerovaných obrazov. Samozrejme, dva obrazy, ktoré sa ľudskému oku môžu zdať<br />
podobné, z „počítačového pohľadu“ sú úplné iné a naopak. Záleží na metóde, ktorá sa<br />
na porovnávanie obrazov použije.<br />
3.1 Reprezentácia a model RGB<br />
Vo všetkých evolučných algoritmoch tvorí ich reprezentácia kľúčový faktor. Má<br />
obrovský vplyv na úspech algoritmu a môže predpisovať prehľadávací priestor.<br />
Jednotlivý typ reprezentácie je vhodný na určité problémy. Výber zlej reprezentácie<br />
často vedie k zlým výsledkom.<br />
Počítačový obraz sa skladá zo série pixelov, každý pixel z binárneho reťazca,<br />
ktorý reprezentuje jeho farbu alebo hodnotu. Pole, tvorené reťazcami sa nazýva<br />
rastrovacie dáta. V prípade čiernobielych obrazov hodnota každého prvku v poli<br />
determinuje jas pixela. U farebných obrazov je potrebné uviesť spôsob, akým sa<br />
hodnota pixela zobrazuje na konkrétnu špecifickú farbu. Tento opis zobrazovania sa
FEI KKUI<br />
nazýva model. Jeden z najpoužívanejších je model RGB, ktorý sa skladá z opisu troch<br />
primárnych farieb -, červenej, zelenej a modrej. Všetky farby sa dajú zložiť z týchto<br />
troch, takže to je vhodný spôsob ukladania farby.<br />
Obr. 23 Model RGB<br />
RGB je štandardný model farieb a veľmi predvídavý, pretože používa základné<br />
farby na presné vymedzenie hodnôt pixela v priestore farieb. Použitím RGB<br />
reprezentácie farieb má každý kanál rovnaký vplyv na obraz. Akýkoľvek farebný odtieň<br />
je zložený z rôznych sýtostí troch farieb, ktoré sú pre tento systém základné. Tieto tri<br />
základné farby sú rovnocenné, a preto najlepší matematický model RGB je tzv. RGB<br />
kocka.<br />
RGB je aditívny model, kedy výsledná farba je určená hodnotami jednotlivých<br />
zložiek. Znamená to teda, že ak všetky tri farebné zložky nadobúdajú hodnotu nula,<br />
výsledná farba je čierna, ak všetky tri farebné zložky sú stopercentné, výsledná farba je<br />
biela.<br />
Graf má dva vstupy, súradnice x a y pixela v obrázku a tri výstupy: RGB<br />
(červená, zelená, modrá) jednotlivého pixela. Program reprezentovaný chromozómom<br />
mapuje každú súradnicu na špecifickú farbu, špecifikovanú hodnotami RGB. Zmenou<br />
funkcií a spojení uzlov sa menia hodnoty farieb každého pixela, čím sa mení obraz.<br />
Posledné tri čísla v chromozóme sú výstupné ukazovatele na červenú, zelenú a modrú<br />
farbu.<br />
Každá pozícia pixela má rovnakú rovnicu, ktorá definuje jej mapovanie farieb,<br />
takže bude existovať súvislosť medzi jednotlivými pixelami. Počet uzlov<br />
v chromozóme súvisí so zložitosťou obrazu. Čím vyšší je počet uzlov, tým viac funkcií<br />
môže byť v rovnici, ktorá definuje obraz, použitých. Samozrejme, zvýšením počtu<br />
uzlov narastá aj prehľadávací priestor. Aj keď dlhé chromozómy sú schopné<br />
produkovať komplikovanejšie a zaujímavejšie obrazy, užívateľ by musel stráviť viac<br />
času evolúciou v prípade dlhých chromozómov.<br />
46
FEI KKUI<br />
3.2 Karteziánske genetické programovanie<br />
Karteziánske GP (ďalej CGP) je taká forma GP, kde je program reprezentovaný<br />
orientovaným grafom indexovaných uzlov.<br />
CGP bolo po prvýkrát publikované Millerom a Thomsonom [36]. V porovnaní<br />
so štandardným GP je program zakódovaný ako lineárny reťazec celých čísel, ktoré<br />
reprezentujú orientovaný graf. Zaujímavá vlastnosť CGP je, že populácia reťazcov má<br />
fixnú dĺžku aj keď ich odpovedajúce grafy sú premenlivej dĺžky v závislosti od počtu<br />
použitých génov.<br />
3.2.1 Výhody CGP<br />
3.2.2 Genotyp<br />
a. Výkonnejšie programové kódovanie používajúc grafy ako tradičné GP so<br />
stromovými reprezentáciami.<br />
b. Jednoduchá grafová reprezentácia mapovaná ako lineárny reťazec celých<br />
čísiel.<br />
c. Menej komplikovaná rekombinácia.<br />
Genotyp je zoznam celých čísel (integer), ktoré determinujú spojenia a funkčnosť uzlov.<br />
Môžu byť mutované a krížené a takýmto spôsobom vznikajú nové orientované grafy.<br />
Genotyp je fixnej dĺžky, ale graf ním opísaný nie je (preto, lebo nie všetky uzly<br />
v genotype sú vyjadrené). Môže obsahovať uzly, ktoré nie sú spojené s výstupnými<br />
uzlami a preto nie sú vyjadrené vo fenotype, čo sa nazýva uzlová redundancia.<br />
Podobne sa vyskytuje aj funkčná a vstupová redundancia. Funkčná redundancia sa<br />
vyskytuje, keď množina uzlov implementuje zložitejšie funkcie, ktoré by mohli byť<br />
implementované s menším počtom uzlov. Vstupová redundancia je na miestach, kde<br />
niektoré vstupy uzlov nie sú používané funkciou uzla. Táto redundancia poskytuje CGP<br />
nestrannosť porovnaním so štandardným GP a preto sa CGP a obyčajné GP odlišujú<br />
v správaní. Prítomnosť zobrazovania genotypu na fenotyp dovoľuje rozličným<br />
genotypom mapovať ten istý fenotyp.<br />
47
FEI KKUI<br />
3.2.3 Genetický drift<br />
Genetický drift je zmena nevyjadrených génov alebo uzlov v genotype, ktorá môže<br />
viesť k neskoršiemu zlepšeniu vo funkcii vhodnosti po ich vyjadrení. S danou mierou<br />
mutácie by nebolo možné dospieť k potomstvu, ktoré by malo lepšiu fitness. Keď dôjde<br />
ku genetickému driftu, následné potomstvo by malo mať schopnosť vytvoriť lepšieho<br />
jedinca, umožnením úteku z lokálneho minima.<br />
3.2.4 Výstupy<br />
V štandardnom GP má program len jeden výstup (môže to byť samozrejme vektor<br />
hodnôt). V CGP je možné mať toľko výstupov, koľko je potrebné. Tieto výstupné<br />
hodnoty sa môžu deliť o uzly, takže funkčne súvisia spolu oveľa viac ako výstupy<br />
viacerých separovaných GP stromov.<br />
Konkrétne v uvedenom programovom systéme výstupy primárne reprezentujú<br />
červený, zelený a modrý „kanál“. Množstvo predošlých programov <strong>evolučné</strong>ho umenia<br />
malo jeden výstup, ktorý bol mapovaný na farby prostredníctvom tabuľky (napríklad<br />
Rooke). Je oveľa jednoduchšie pracovať s tromi výstupmi, jedným pre každý kanál<br />
farby (tri kanály použil Ashomore).<br />
3.3 Kroky výpočtu<br />
1) Inicializácia náhodnej populácie chromozómov<br />
2) Selekcia najlepších jedincov z populácie<br />
3) Nahradenie všetkých ostatných jedincov mutovanými a kríženými jedincami<br />
z najlepších, vybraní jedinci prejdú do ďalšej generácie bez zmeny<br />
4) Ak sa dosiahne uspokojujúce riešenie – koniec, inak skok na krok 2)<br />
3.3.1 Populácia<br />
Veľkosť populácie je veľmi dôležitá, pretože všetky jedince musia byť zobrazené v tom<br />
istom čase. Keby bola populácia príliš veľká, obrazy by museli byť „zrazené“, čím by<br />
mohlo dôjsť k strate dôležitých detailov. Naopak, malá populácia by spôsobila, že<br />
48
FEI KKUI<br />
obrazce by neboli dostatočne odlišné, pestré a generovali by sa populácie s rovnakými<br />
rodičmi.<br />
3.3.2 Selekcia<br />
V programe sa používa stratégia nahradením, čo znamená, že užívateľ si vyberá<br />
obľúbené obrazy, ktoré sa dostávajú do ďalšej generácie. Keď sa nevyberie žiadny<br />
obraz, predpokladá sa, že ani jeden nie je dostatočne dobrý a je nahradený ďalšou<br />
generáciou. Najvýhodnejšie je, keď užívateľ označí niekoľko rôznych obrazov, ktoré sa<br />
mu páčia a tieto chromozómy ostávajú v populácii, ostatné budú nahradené.<br />
3.3.3 Genetické operátory<br />
Kríženie<br />
Kríženie sa málokedy používa pri evolúcii grafov, pretože často vedie k deštrukcii, ale<br />
v prípade <strong>evolučné</strong>ho umenia funkcia vhodnosti nie je pevne definovaná a celý proces<br />
je „prieskumnejší“. Kríženie spočíva v produkcii potomka z dvoch rodičovských<br />
genotypov.<br />
Genotypy rôznych dĺžok sú krížené tak, že potomok má rovnaký počet uzlov<br />
ako dlhší rodič. Miesto kríženia je vybrané z kratšieho genotypu a uzly pred týmto<br />
miestom sú skopírované do potomka. Uzly po tomto mieste sú zobraté z dlhšieho<br />
genotypu.<br />
Mutácia<br />
Obr. 24 Spôsob kríženia dvoch genotypov<br />
Rozhodovanie sa, v ktorom bode dôjde k mutácii, je zabezpečené výberom náhodného<br />
miesta v chromozóme a miera mutácie špecifikuje počet týchto miest.<br />
Niektoré funkcie majú hodnoty od 0 do 255, iné od 0 do 50. Špecifické kanály<br />
farieb sa môžu uzamknúť (napríklad uzamkneme červenú farbu – červený kanál sa<br />
ďalej meniť nebude), čím je užívateľovi poskytnutá väčšia kontrola nad zmenami<br />
49
FEI KKUI<br />
v procese. Keď je vybraný kanál na uzavretie, potom všetky uzly, definujúce rovnicu<br />
toho kanála musia ostať statické.<br />
Preto sa pri výbere miesta mutácie musí skontrolovať, či toto miesto netvorí časť<br />
žiadneho uzamknutého uzla. V prípade, ak sú uzamknuté všetky kanály, tak sa mutujú<br />
len nadmerné uzly a výstup sa nemení.<br />
3.4 Návrh užívateľského rozhrania<br />
Keďže užívateľ veľkou mierou ovplyvňuje evolučný proces, návrh užívateľského<br />
rozhrania je jedna z najdôležitejších častí návrhu softvéru.<br />
Vhodnosť jednotlivého obrazu je relatívna vzhľadom na ostatné obrazy z tej<br />
populácie, takže je dôležité, aby užívateľ videl všetky jedince populácie naraz. Tým je<br />
zabezpečené to, že môže porovnávať obrazy medzi sebou.<br />
Užívateľ môže označiť alebo spätne deselektovať obrazy jednoduchým<br />
kliknutím na obraz. Toto je jedna z najoverenejších metód selekcie. Iná zvažovaná<br />
možnosť bola umiestniť bodovacie okienka, čiže škálovacie miery pod každý obraz, kde<br />
by užívateľ hodnotil každý obraz zvlášť priraďovaním hodnotení, známkovaním,<br />
napríklad od 1 po 5. Vo viacerých publikáciách sa tento spôsob hodnotenia v prípade<br />
<strong>evolučné</strong>ho umenia neodporúča.<br />
50
FEI KKUI<br />
Ak nenájdeme nič vznešené, aspoň by sme mali nájsť niečo nové<br />
51<br />
Voltaire, Candide<br />
4 Realizácia demonštračných experimentov na<br />
vyvíjanom systéme<br />
4.1 Ukážky obrazov<br />
V programe sa nastavuje počet uzlov, podľa ktorého závisí zložitosť konkrétneho<br />
jedinca. Obrazy s malým počtom uzlov sú jednoduché, s vyšším zložitejšie.<br />
Obr. 25 Obrazy s počtom uzlov 1<br />
Obr. 26 Obrazy s počtom uzlov 50<br />
Obr. 27 Obrazy s počtom uzlov 100
FEI KKUI<br />
4.2 Neautonómna evolúcia – hodnotenie užívateľom<br />
4.2.1 Ukážka kríženia<br />
Obr. 28 Vybratí rodičia na kríženie<br />
Obr. 29 Potomstvo kríženia dvoch genotypov bez mutácie<br />
Obr. 30 Potomstvo kríženia dvoch genotypov s nastavením miery mutácie na 10%<br />
52
FEI KKUI<br />
4.2.2 Ukážka mutácie<br />
Obr. 31 Rodičia mutácie<br />
Obr. 32 Potomkovia mutácie s mierou 5% dvoch genotypov (bez kríženia)<br />
Obr. 33 Potomkovia mutácia s mierou 50% dvoch genotypov (bez kríženia)<br />
53
FEI KKUI<br />
4.3 Autonómna evolúcia – smerom k cieľovému obrazu<br />
Príklady evolúcie smerom k načítanému cieľovému obrazu: Tieto výsledky boli<br />
dosiahnuté po 1000 generáciách evolúcie. Graf pod obrazmi reprezentuje proces<br />
evolúcie smerom k podobnosti prvých 40tich generácií.<br />
Obr. 34 Cieľové obrazy a ich vyvinuté podobizne 13<br />
Obr. 35 Graf vývoja evolúcie smerom k totožnosti s načítaným obrázkom<br />
13 Ako cieľové obrazy boli použité umelecké diela akademickej maliarky Jany Semianovej<br />
54
FEI KKUI<br />
Dobrá ilúzia nie je nič zlé, pokiaľ nikto netvrdí, že je to realita.<br />
5 Teoretická analýza možností vyvíjaného<br />
systému pre jeho reálne nasadenie v praxi<br />
5.1 Možnosti vylepšenia programového systému<br />
5.1.1 Rozšírenie rozmanitosti obrazov<br />
55<br />
Howard Pattee<br />
Existuje množstvo spôsobov, pomocou ktorých by prehľadávací priestor bol lepší<br />
a pestrejší, čo ovplyvňuje počet a typ funkcií v genotype. Mohlo by byť pridaných viac<br />
funkcií, čím by sa rozšíril prehľadávací priestor a vzrástla by rozmanitosť možných<br />
obrazov. Najzaujímavejšia možnosť by bola zahrnutie fraktálnych rovníc do množiny<br />
funkcií.<br />
5.1.2 Vylepšenie funkcie evolúcie smerom k cieľovému obrazu<br />
Proces evolúcie smerom k načítanému externému obrazu by sa mohol zlepšiť viacerými<br />
metódami. Rozlišnosť dvoch obrazov je veľmi komplikované ohodnotiť. Sú známe<br />
rôzne techniky analýzy obrazov. Takisto by pomohlo detekovanie dôležitých objektov<br />
alebo častí obrazu, ktoré by mohol vyznačiť užívateľ. Súčasné riešenie sa zameriava na<br />
dosiahnutie rovnakej farby alebo pozadia ako má cieľový obraz. Keby som použila<br />
techniky rozpoznávania objektov, získaná napodobnenina by sa viac priblížila<br />
cieľovému obrazu.<br />
5.1.3 Zrýchlenie konvergencie algoritmu<br />
Jedno z riešení, ktoré by zrýchlilo konvergenciu algoritmu by bolo zavedenie viacerých<br />
populácií, kde každá z nich by mala vlastnú funkciu vhodnosti zameranú na určitú<br />
vlastnosť alebo časť obrazu. Po nezávislých evolúciách týchto populácií by sa vybrali<br />
najlepšie jedince z každej populácie a skombinovali by sa s cieľom produkovať<br />
konečný výsledok.
FEI KKUI<br />
5.1.4 Schopnosť systému učiť sa estetické preferencie od užívateľa<br />
Schopnosť systému učiť sa estetické preferencie od užívateľa je veľmi diskutovaná<br />
téma. Keby bol program schopný pozorovaním a učením sa vyvíjať dostatočne<br />
komplexné pravidlá, podľa ktorých konkrétny užívateľ postupuje vo vyberaní<br />
a hodnotení jedincov, potom by sa program mohol vyvíjať samostatne. To by prispelo<br />
k zrýchleniu celého procesu evolúcie a mohli by sa použiť obrovské populácie.<br />
Metóda koevolúcie (angl. co-evolution) spočíva v tom, že keď užívateľ<br />
ohodnocuje jedincov, tak sa súčasne vyvíja aj funkcia vhodnosti, čo sa môže dosiahnuť<br />
zavedením učiacej sa neurónovej siete alebo druhého CGP, ktorého výstupy by boli<br />
funkcie vhodnosti závislé od charakteristických čŕt rôznych obrazov.<br />
Keby systém dospel do štádia, že by sám vyvíjal nových jedincov, vynorili by sa<br />
otázky typu: Je počítač kreatívny? Alebo len nasleduje pravidlá naučené od človeka,<br />
ktorý bol kreatívny? Možno by nám práve taký systém mohol pomôcť pochopiť, čo robí<br />
niektoré obrazy „krajšími“ ako druhé.<br />
5.1.5 Internetový prístup<br />
Zaujímavé a nenáročné vylepšenie navrhnutého systému by bolo jeho sprístupnenie na<br />
internete, kde by sa do evolúcie mohli zapojiť viacerí užívatelia. Systém by bežal na<br />
serveri, kde by sa zhromažďovali informácie o hodnotách funkcií vhodnosti a najlepší<br />
jedinci by sa ukladali do „knižnice“, ktorá by sa následne používala ďalej na načítanie<br />
počiatočných populácií budúcej evolúcie obrazov.<br />
5.2 Oblasti na nasadenie systému v praxi<br />
Existuje mnoho smerov, ktoré by tento projekt mohol ďalej nasledovať. Evolučné<br />
umenie tvorí súčasť mnohých aktuálnych výskumov, hlavne v oblasti skúmania<br />
prepojenia ľudskej a počítačovej kreativity.<br />
5.2.1 Kompresia dát<br />
Jedna z možností použitia myšlienky „evolúcie smerom k cieľovému obrazu“ je<br />
kompresia dát. Výsledný obraz môže byť uložený ako reťazec celých čísel. Napríklad,<br />
ak obraz obsahuje 32bitov/pixel, jeho veľkosť je 256KB. Najdlhší genotyp má veľkosť<br />
83 čísel, takže veľkosť genotypu je 83 násobené 32, čo je približne 0.7KB. To znamená<br />
56
FEI KKUI<br />
kompresiu 365 ku jednej. Aj keď sa výsledky len veľmi málo podobajú originálnemu<br />
obrazu, môže to byť neskôr vylepšené rôznymi metódami (viď kapitola 5.1.2).<br />
5.2.2 Trojrozmerná evolúcia<br />
Pridanie ďalšej osi, z - súradnice do CGP by znamenalo pridanie novej dimenzie<br />
obrazom, čo by znamenalo vytvorenie akejsi trojrozmernej vyplnenej kocky. Takéto<br />
„sochy“ by boli veľmi zaujímavé.<br />
Obr. 36 EU v trojrozmernom priestore, autorom je Cristian René Paraná 14<br />
14 Umelec, ktorý tvorí obrazy interaktívnym genetickým algoritmom:<br />
http://runnerfrog.blogspot.com/<br />
57
FEI KKUI<br />
Keby vstupy prišli zo susedných pixelov, systém by bol veľmi podobný<br />
celulárnym automatom alebo systému šírenia difúzie. Myšlienka kombinácie<br />
<strong>evolučné</strong>ho umenia a celulárneho automatu vedie smerom k „Alive Art“, čiže „Živého<br />
umeniu“, typu umeleckého systému, ktorý by bol schopný sa konštantne meniť<br />
a reagovať na isté podnety.<br />
Obr. 37 Zľava: systém šírenia difúzie, fraktály, celulárny automat<br />
5.3 Teoretická analýza výsledkov<br />
5.3.1 Miera mutácie<br />
Výhodou je, že počiatočné populácie môžu byť jednoducho predefinované pomocou<br />
nástrojov mutácie a kríženia, napríklad jedinci sa radikálne zmenia nastavením miery<br />
mutácie na vysokú hodnotu. Hoci len mutácia v genotype v malej miere môže spôsobiť<br />
obrovské zmeny vo fenotype.<br />
Najlepšie výsledky boli dosiahnuté, keď miera mutácie bola veľmi nízka (do 5<br />
percent v generácii), pričom malá miera mutácie znamená, že existuje malá šanca, že<br />
fenotyp bude zmenený.<br />
V boji proti strate rozmanitosti prispievajú aj nástroje kríženia a mutácie, nad<br />
ktorými má užívateľ kontrolu, čiže sám ovplyvňuje do akej miery budú chromozómy<br />
ďalšej generácie odlišné.<br />
5.3.2 Kríženie<br />
Kríženie môže vstúpiť do procesu, alebo nie, čo závisí od užívateľa. Kríženie je veľmi<br />
nápomocné v priebehu prvých 500 generácií, ale viac škodiace ako nápomocné<br />
v neskorších generáciách, pretože najlepšie chromozómy sa časom stávajú veľmi<br />
podobnými. Keď sa potomok stáva najlepším jedincom, existuje veľká<br />
pravdepodobnosť, že jeho genotyp pochádza z jedinca, ktorý bol v predchádzajúcej<br />
58
FEI KKUI<br />
generácii najlepší, takže sa budú veľmi málo odlišovať a kríženie má v tomto prípade<br />
minimálny efekt.<br />
5.3.3 Rôznorodosť obrazov<br />
Vďaka použitiu CGP je systém schopný produkovať obrovské množstvo rôznych<br />
obrazov. V mnohých podobných systémoch reprezentácia limituje rozmanitosť<br />
jedincov. Program, ktorý používa štandardné GP, by teoreticky mohol vytvoriť rovnakí<br />
jedinci pri zavedení rovnakej množiny funkcií, ale väčšina týchto programov 1) najprv<br />
vytvorí čiernobiele obrazy, ktoré sú potom mapované na farby používajúc tabuľku<br />
(takto dochádza k rôznym obmedzeniam), 2) používa vektor, ktorý obsahuje tri farebné<br />
hodnoty (limitujúc funkcie a vzťahy medzi výstupnými hodnotami), alebo 3) používa tri<br />
separované GP pre každú farbu (čím sa strácajú všetky existujúce súvislosti medzi<br />
výstupmi).<br />
5.3.4 Zostávajúce problémy programového systému<br />
V niektorých prípadoch sa vyskytnú príliš dlhé genotypy v chromozóme, a objaví sa<br />
chybové hlásenie java.lang.OutOfMemoryError. Vtedy má program problém<br />
s generovaním nových generácií a ukladaním chromozómov.<br />
Java ako programovací jazyk na evolúciu nie je asi veľmi vhodný, myslím si, že<br />
iný jazyk by bol rýchlejší. Do odovzdania práce sa mi nepodarilo nájsť spôsob, ako<br />
dostať .exe zo zdrojového kódu.<br />
59
FEI KKUI<br />
Zhodnotenie a záver<br />
60<br />
„Viete, vesmír je jediná vec<br />
dostatočne obrovská na chod neprekonateľnej hry života.<br />
Jediný problém s vesmírom ako s platformou je,<br />
že v nej beží program niekoho iného."<br />
Ken Karakotsios, autor SimLife<br />
Mojim cieľom v tejto práci bolo analyzovať zaujímavú oblasť použitia interaktívnych<br />
evolučných výpočtov akou je evolučný dizajn, konkrétne <strong>evolučné</strong> umenie.<br />
V bakalárskej práci som sa snažila splniť všetky zadané úlohy, ktoré sú<br />
vypracované nasledovne:<br />
Široký teoretický základ evolučných výpočtov, interaktivity, <strong>evolučné</strong>ho dizajnu<br />
a umenia, na ktorom som stavala riešenie bakalárskej práce. Následne som navrhla svoj<br />
vlastný systém, na ktorom som robila experimenty.<br />
Evolučné <strong>výpočty</strong> sa používajú v rôznych štádiách dizajnu, ako program<br />
generujúci podoby dizajnu, ako procesor a ako výstup. V konceptuálnom plánovaní<br />
poskytuje nové, nečakané nápady. V analýze dizajnu sa evolúcia používa na<br />
optimalizáciu a na hľadanie rozličných možností s cieľom splnenia cieľového nápadu.<br />
Výstupom sú produkty tvorené na prispôsobenie sa individuálnym používateľom.<br />
Evolučný dizajn sa rozvíja vo všetkých jeho stránkach, či už z pohľadu umelcov<br />
alebo vedcov. Samozrejme je naivné sa domnievať, že proces <strong>evolučné</strong>ho dizajnu<br />
nahradí všetky aplikácie kreatívneho dizajnu.<br />
Táto bakalárska práca obsahuje analýzu a návrh systému <strong>evolučné</strong>ho dizajnu,<br />
ktorý je primárne navrhnutý na uplatnenie nadobudnutých teoretických poznatkov.<br />
Bližší popis funkcií a používateľská príručku softvéru sú uvedená v prílohe. Je náročné<br />
navrhnúť systém, ktorý by úspešne zaviedol evolúciu prostredníctvom počítača, ktorý<br />
by bol používaný v reálnych praktických situáciách a jeho účelom by nebolo len<br />
demonštrovať možnosti tohto prístupu.<br />
Do budúcna plánujem rozšírenie funkcií, ktoré systém ponúka svojim<br />
užívateľom a skonkretizovať aplikačnú oblasť. Rozmýšľala som o oblasti architektúry
FEI KKUI<br />
alebo stavebníctva. Po konzultácii s profesorom Kmeťom zo Stavebnej fakulty <strong>TUKE</strong><br />
som sa inšpirovala jeho návrhom striech a iných konštrukcií. To by znamenalo okrem<br />
návrhu estetickej stránky začlenenie aj iných, technických kritérií, ktoré by som<br />
konzultovala s expertom. Systém by okrem hľadania nových dizajnérskych nápadov<br />
musel spĺňať aj kritériá a obmedzenia, ktoré by sa zadefinovali do funkcie vhodnosti.<br />
Takisto by som si želala, aby sa navrhnutý systém dokázal prispôsobovať<br />
konkrétnemu užívateľovi a učiť sa od neho jeho subjektívne hodnotenia.<br />
Za hlavný prínos tejto práce by som označila sumarizáciu najznámejších prác<br />
svetových osobností v oblasti evolučných výpočtov, interaktívnych systémov<br />
a kreatívneho počítačového dizajnu, doplnenú o vlastné myšlienky.<br />
61
FEI KKUI<br />
Zoznam použitej literatúry<br />
[1] ASHMORE, L.: An Investigation Into Evolutionary Art, in: EvoMusArt, 2004.<br />
http://www.emoware.org/evolutionary_art.asp<br />
[2] BEASLEY, David: An Overview of Genetic Algorithms, Part 1: Fundamentals,<br />
1993.<br />
http://www.idi.ntnu.no/emner/it3704/lectures/papers/Beasley93GA.pdf<br />
[3] BENTLEY, P.: Evolutionary Design by Computers, 1999.<br />
http://www.cs.ucl.ac.uk/staff/P.Bentley/evdes.html<br />
[4] BENTLEY, P. J. – WAKEFIELD, J. P.: The table: An illustration of evolutionary<br />
design using genetic algorithms, in Proceedings 1st IEE/IEEE Conf. Genetic<br />
Algorithms Eng. Syst.: Innovations Appl, s. 412-418, 1995.<br />
[5] BILES, J. – ANDERSON, J. – LOGGI, L.: Neural network fitness functions for a<br />
musical IGA, in: International ICSC Symposium on Intelligent Industrial<br />
Automation and Soft Computing, s. 39-44, 1996.<br />
http://www.it.rit.edu/~jab/SOCO96/SOCO.html<br />
[6] COPPIN, B.: Artificial intelligence illuminated, Jones and Bartlett Publishers,<br />
Kapitola 14: Genetic Algorithms (od strany 414), ISBN 0-7637-3230-3, 2004.<br />
[7] CSONTÓ, J. – PALKO , M.: Umelý život. Elfa, ISBN 80-89066-59-3, 2006.<br />
[8] DELANDA, M.: Deleuze and the Use of the Genetic Algorithm in Architecture,<br />
2000.<br />
http://www.a-aarhus.dk/~v/tekster/Genetic.rtf<br />
[9] DiPAOLA, S. – GABORA, L.: Incorporating Characteristics of Human Creativity<br />
into an Evolutionary Art Algorithm, GECCO, 2007.<br />
www.vub.ac.be/CLEA/liane/papers/gecco07.pdf<br />
[10] FOGEL, D. B.: Evolutionary Computation: Toward a New Philosophy of Machine<br />
Intelligence, Piscataway, New Jersey, U.S.A. IEEE, ISBN 0-7803-5379-X, 2000.<br />
[11] FOGEL, L. J. – OWENS, A. J. – WALSH, M. J. : Artificial Intelligence through<br />
Simulated Evolution, John Wiley & Sons, New York, 1966.<br />
[12] GARZA DE SILVA, E.G. – MAHER, M. L.: Evolving Design Layout Cases to<br />
Satisfy Feng Shui Constraints, eds. J. Gu and S. Wei, in: Proceedings of the Fourth<br />
Conference on Computer-Aided Design, 1999.<br />
62
FEI KKUI<br />
[13] GERO, J. S. – LOU MAHER, M.: Modeling Creativity and Knowledge-Based<br />
Creative Design, Lawrence Erlbaum Associates, ISBN 0805811532, 1993.<br />
[14] GOLDBERG, D. E.: Genetic Algorithms in Search, Optimization, and Machine<br />
Learning, Addison-Wesley, Reading, MA, 1989.<br />
[15] GONG, D. W. – HAO, G. S. – ZHOU, Y. – SUN, X. Y: Interactive genetic<br />
algorithms with multi-population adaptive hierarchy and their application in<br />
fashion design, in: Applied Mathematics and Computation, Vol 185, Issue 2, 15<br />
February 2007, Special Issue on Intelligent Computing Theory and Methodology, s.<br />
1098-1108, 2007.<br />
[16] GREEN, W S. – JORDAN P. W.: Pleasure with Products: Beyond Usability,:<br />
Design Based on Kansei, Kansei engineering, University of Tsukuba, CRC Press,<br />
ISBN 0415237041, 2002.<br />
[17] HAO, G. D. – SHI, Y.: Search space partition based autonomous genetic<br />
algorithms and theirs application, in: Proceedings of the 17th Symposium on China<br />
Automation Institute East China Region Automation, s. 75 – 78, 2004.<br />
[18] HART, D.: Toward Greater Artistic Control for Interactive Evolution of Images<br />
and Animation, in: EvoMusArt, 2007.<br />
http://www.dahart.com/research.html<br />
[19] HEATH T.: Social Aspects of Creativity and their Impact on Creativity Modeling,<br />
in: J. S. Gero & M. L. Maher (Eds.), Modeling creativity and knowledge based<br />
creative design, Broadway, NJ: Lawrence Erlbaum Associates, s. 9 – 24, 1993.<br />
[20] HEIMBRECHT, F. – TROGEMANN, G.: Modeling facial expressions by<br />
interactive evolution, in: Proceedings of the International Multimedia Modeling<br />
Conference ´99, Modeling Multimedia Information Systems, s.351 – 366, World<br />
Scientific, 1999.<br />
[21] HOLLAND, J. H. : Adaptation in natural and artifcial systems, The University of<br />
Michigan Press, Ann Arbor, MI, 1975.<br />
[22] HOROWITZ, D. : Generating rhythms with genetic algorithms, in: International<br />
Computer Music Conf. (ICMC'94), Aarhus, Denmark, s. 142-143 ,1994.<br />
[23] CHO, S. B.: Towards creative evolutionary systems with interactive genetic<br />
algorithm. In Applied Intelligence, vol. 16, no. 2., s. 129–138, 2002.<br />
63
FEI KKUI<br />
[24] ISHINO, Y. – TERANO, T.: Marketing data analysis using inductive learning and<br />
genetical algorithms with interactive and automated-phases, in: IEEE International<br />
Conference on Evolutionary Computation, Vol. 2, Issue 29. s. 771 – 776, 1995.<br />
[25] JOHNSON, C. G. – CARDALDA, J. R.: Genetic Algorithms in Visual Art and<br />
Music, in: Leonardo, 35(2), s. 175–184, 2002.<br />
[26] KAMOHARA, S. H. – TAKAGI, H. – TAKEDA, T.: Control rule acquisition for<br />
an arm wrestling robot, in: IEEE International Conference on System, Man,<br />
Cybernetics (SMC'97), Orlando, FL, USA, s. 4227 – 4231, 1997.<br />
[27] KELLY, K.: Out of Control: The New Biology of Machines, Social Systems, & the<br />
Economic World, Kapitola 14: In the library of form, 2003.<br />
http://www.kk.org/outofcontrol/contents.php<br />
[28] KITAMOTO, A. – TAKAGI, M.: Interactive image browsing using pipeline-type<br />
genetic algorithm, in: Workshop on Interactive Evolutionary Computation,<br />
Fukuoka, Japan, s. 31-36, 1998.<br />
[29] KOZA, J. – BENNETT, F. – ANDRE, D. – KEANE, M.: Genetic Programming<br />
III: Darwinian Invention and Problem Solving, Morgan Kaufmann, ISBN-10:<br />
1558605436, 1999.<br />
[30] KOZA, J.: Genetic Programming: On the Programming of Computers by Means of<br />
Natural Selection, MIT Press, 1992.<br />
[31] KURIYAMA, K. – TERANO, T. – NUMANO, M.: Authoring support by<br />
interactive genetic algorithm and case base retrieval, in: Asia Fuzzy System<br />
Symposium, Masan, Korea, 1998.<br />
[32] LATHAM, W.: internetová stránka umelca.<br />
http://www.doc.gold.ac.uk/~mas01whl/<br />
[33] LEE, J. Y. – CHO, S. B: Interactive genetic algorithm for content-based image<br />
retreival, in: Asia Fuzzy System Symposium, Masan, Korea, 1998.<br />
[34] LUCA, L.: Learning Classifier Systems: A Reinforcement Learning Perspective,<br />
Edited by Larry Bull, Tim Kovacs, Springer, ISBN 3540250735 , s. 267, 2005.<br />
[35] MACHADO, P. – CARDOSO, A.: Computing aesthetics, in: Oliveira, F. (Ed.),<br />
Procs. XIVth Brazilian Symposium on Artificial Intelligence SBIA'98, Porto<br />
Alegre, Brazil, LNAI Series, s. 219-229, 1998.<br />
64
FEI KKUI<br />
[36] MARKOWSKY, G.: Introduction To Algorithmic Information Theory, in: Journal<br />
of Universal Computer Science, vol. 2, no. 5, Springer, s. 245 – 269, 1996.<br />
[37] MILLER, J. F. – THOMSON, P.: Cartesian genetic programming, in: Proceeding<br />
of the Third European Conference on Genetic Programming, s.121 – 132, 2000.<br />
[38] MUTOH, T. – KOMAGATA, N. – UEDA, K.: An experimental study for<br />
automatically generating image filter sequence by using simulated breeding, in:<br />
Workshop on Interactive Evolutionary Computation, Fukuoka, Japan, s. 7 – 12,<br />
1998.<br />
[39] OHSAKI, M. – TAKAGI, H.: Application of interactive evolutionary computation<br />
to optimal tuning of digital hearing aids, in: International Conference on Soft<br />
Computing (IIZUKA'98), Iizuka, Fukuoka, Japan, World Scientific, 1998.<br />
[40] PAGLIARINI, L. – LUND, H. H. – MIGLINO, O. – PARISI, D.: Artificial life: A<br />
new way to build educational and therapeutic games, in: ALIFE V, MIT Press, s.<br />
152 – 156, 1996.<br />
[41] POLI, R. – CAGNONI, S.: Genetic programming with user-driven selection:<br />
Experiments on the evolution of algorithms for image enhancement, in: 2nd Annual<br />
Conference on Genetic Programming, s. 269 – 277, 1997.<br />
[42] RAY, S.: Para-City: http://architecture.myninjaplease.com/?m=20070212<br />
[43] RECHENBERG, I.: Evolutionsstrategie '94, Frommann, Holzboog, Stuttgart, 1994.<br />
[44] REINHARD, E. – STARK, M. – SHIRLEY, P. – FERWERDA, J.: Photographic<br />
Tone Reproduction for Images, in: Proceedings of SIGGRAPH, s. 267–276, 2002.<br />
[45] SATO, Y.: Voice conversation using evolutionary computation, in: Intelligent<br />
Manufacturing of Materials '97, s. 342 – 348, 1997.<br />
[46] SCHWEFEL, H. P.: Evolution and Optimum Seeking, John Wiley & Sons, New<br />
York, 1995.<br />
[47] SCHWEFEL, H. P. – KENT, A. – WILLIAMS, J. G – HALL, C. M.: Parallel<br />
problem solving from nature, in Encyclopedia of Computer Science and<br />
Technology, Marcel Dekker, New York, vol. 37, s. 225-246, 1997.<br />
[48] SIMS, K.: Artificial evolution for computer graphics, in: Proceedings of the 18th<br />
annual conference on Computer graphics and interactive techniques, s 319-328,<br />
1991.<br />
http://www.karlsims.com/papers/siggraph91.html<br />
65
FEI KKUI<br />
[49] TABUCHI, M. – TAURA, T.: Methodology for interactive knowledge acquisition<br />
between genetic learning engine and human, Japan Society for Artificial<br />
Intelligence, 11, 4, s. 600 – 607, 1996.<br />
[50] TAKAGI, H. – OHYA, K.: Discrete fitness values for improving the human<br />
interface in an interactive GA, in: IEEE 3rd International Conference on<br />
Evolutionary Computation (ICEC'96), Nagoya, Aichi, Japan, s. 109 – 112, 1996.<br />
[51] TAKAGI, H.: System Optimization Without Numerical Target, in: Biennial<br />
Conference of the North American Fuzzy Information Processing Society<br />
(NAFIPS'96), Berkeley, CA, USA, s. 351 – 354, 1996.<br />
[52] 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 />
[53] TERANO, T. – ISHINO, Y: Knowledge acquisition from questionnaire data using<br />
simulated breeding and inductive learning methods, in: Expert Systems With<br />
Applications, s. 507 – 518, 1996.<br />
[54] UNEMI, T.: Genetic Algorithms and Computer Graphic Art, in: Japan Society for<br />
Artificial Intelligence, s. 518 – 523, 1994.<br />
[55] VENTRELLA, J.: Disney meets Darwin-the evolution of funny animated figures,<br />
in: Computer Animation '95, Geneva, Switzerland, IEEE Computer Society Press,<br />
s. 35 – 43, 1995.<br />
[56] VENTURINI, G. – SLIMANE, M. – MORIN, F. – de BEAUVILLE, J. P. A: On<br />
using interactive genetic algorithms for knowledge discovery in databases, in: 7th<br />
International Conference on Genetic Algorithm (ICGA'97), Morgan Kaufmann<br />
Publisher,s. 696 – 703, 1997.<br />
[57] WIJNS, CH. – BOSCHETTI, F. –MORESI, L.: Inverse Modelling in Geology by<br />
Interactive Evolutionary Computation, 2003.<br />
http://www.per.marine.csiro.au/staff/Fabio.Boschetti/papers/JSG_inv<br />
ersion1.pdf<br />
[58] YANAGISAWA, H. – FUKUA, S.: Interactive Design Support System by<br />
Customer Evaluation and Genetic Evolution: Application to Eye Glass Frame Book<br />
Series, in: Lecture Notes in Computer Science, Springer Berlin/Heidelberg,<br />
Knowledge-Based Intelligent Information and Engineering Systems, s. 481 – 487,<br />
2003.<br />
66
FEI KKUI<br />
[59] YANAMOTO, M. – HASHIYAMA, T. – OKUMA, S.: Reducing computational<br />
time on evolution under the real environment using fitness estimation, in:<br />
Proceedings of the 26th Annual Conference of the IEEE on Industrial Electronics<br />
Society, s. 2497–2500, 2000.<br />
[60] ZEISEL, J. : Inquiry by Design: Tools for Environmental-Behavior Research, Cole<br />
Publishing Company, 1981.<br />
[61] ZHOU, Y. – GONG, D.: Phase estimations of individuals’ fitness based on neural<br />
networks in interactive genetic algorithms, in: Control and Decision, s. 234–236,<br />
2005.<br />
67
FEI KKUI<br />
Prílohy<br />
Príloha A: CD médium – bakalárska práca v elektronickej podobe, prílohy v<br />
elektronickej podobe.<br />
Príloha B: Používateľská príručka<br />
Príloha C: Systémová príručka<br />
68