26.07.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!