Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||
Sieťová TierraVýsledkom predchádzajúcich pokusov boli zmeny, či vývoj len v zmysle početnosti populácie, prípadne v povolenom počte cyklov virtuálnych procesorov, keďže obmedzením bola len veľkosť pamäte a výkonnosť stroja, na ktorom Tierra bežala. Preto bolo nevyhnutné vytvoriť pestrejšie a zložitejšie selekčné tlaky, aby mohla byť aj evolúcia rozmanitejšia. Riešenie ponúkla myšlienka spustenia Tierry na viacerých počítačoch zapojených v distribuovanej sieti tak, aby mohli kreatúry migrovať medzi nimi. Naviac nový simulátor bežal ako proces s veľmi nízkou prioritou a pri akejkoľvek aktivite klávesnice alebo myši sa na 10 minút zastavil. Takto sa získal jednak väčší životný priestor, ale predovšetkým ten najdôležitejší zdroj pre umelé organizmy, procesorový čas, sa stal veľmi nepredvídateľným – v závislosti na aktivite používateľa príslušného počítača. Prvá podoba uvažovala o rozšírení serverov Tierry v rámci celej globálnej siete Internet, čo by vytvorilo obrovskú heterogénnu „rezerváciu“ pre digitálne organizmy. Po prvých pokusoch sa však ukázala táto možnosť z technickej stránky ako problémová, pretože Tierra vyvolala na sieti priveľkú záťaž. Preto sa ďalej zamerali na rozsiahle lokálne siete, kde je voľnejšia sieťová prevádzka. I tu boli dosiahnuté zaujímavé evolučné výsledky. Každý server Tierry si pravidelne aktualizuje tabuľku s rôznymi informáciami o stave okolitých počítačov a o parametroch a aktivite serverov bežiacich na nich. Do prostredia bol „naočkovaný“ prapredok, už diferencovaný, zložený z dvoch „tkanív“ reprodukčného a senzorického. Na začiatku sa „zárodočná“ bunka kreatúry rozdelí na dve, z ktorých každá začne vykonávať inú časť kódu. Reprodukčná bunka sa rozdelí na nové štyri, aby sa skrátil čas vytvárania potomka. ![]() Náčrt genómu jedinca, ktorý bol rozdelený podľa funkčnosti jeho jednotlivých častí do génov. Hlavných génov je 6 (označené sú v spodnej časti obrázku s ich dĺžkami), niektoré z nich boli rozdelené do subgénov (horná časť obrázku). Úzky pás vpravo predstavuje pamäť naviac, ktorú využíva senzorický systém pre svoju činnosť. Prapredok má 8 buniek senzorického tkaniva a 2 bunky reprodukčného. Počet prvých sa počas činnosti tkaniva mení. Najprv 8 buniek získa informáciu o 8 náhodne vybratých serveroch a uloží ju ako 8 blokov do pamäte.Potom polovica buniek zahynie, pretože porovnávanie prebieha párovo, teda každá zo zvyšných buniek porovná svoj blok so susedným blokom. Po porovnaní sa vždy prepíše horšie ohodnotený blok informáciou z lepšie ohodnoteného bloku, opäť polovica buniek zahynie a analogicky sa pokračuje ďalej, až kým sa nenájde najvhodnejší z ôsmych serverov. Pri prepisovaní blokov sa využíva tá istá časť kódu, ktorá slúži reprodukčnému tkanivu. Pre tento účel vždy dočasne vznikne až 8 kopírovacích buniek. Za účelom získania väčšej variability evolúcie, do tejto verzie Tierry boli pridané nové genetické operátory,kde bola získaná vysoká úroveň evolvability. Ide v nich o manipulácie s genetickými programami založenými na Lisp stromoch. Preto mutácia dostala dve podoby:pôvodná sa realizuje preklopením jedného bitu v 6 bitovej inštrukcii, ale naviac môže byť celá inštrukcia nahradená novou náhodne vybratou z celkového inštrukčného súboru. Boli pridané operátory vloženia (inzercia) a vynechania (delécia) inštrukcií z kódu a tiež rekombinácia. Pri analýze výsledkov experimentov sa zistili rôzne druhy genetických zmien. Výsledkom kombinácie niekoľkých operácií môžu byť zmeny ako napr. duplikácia časti kódu. Jednou z najzaujímavejších takýchto zmien bolo zdvojenie celého génu označeného cop (využívaného reprodukčným algoritmom na kopírovanie kódu do potomka, aj senzorickým algoritmom na kopírovanie informačných blokov) – ![]() Po zdvojení boli obidva gény takmer identické, avšak ďalej sa už každý z nich vyvíjal samostatne. Podrobnú analýzu pokusov uvádza. Zaujímavý vývojový posun nastal aj v spôsobe migrácie organizmov. Časom sa vyvinuli organizmy, ktoré svojho potomka nechali na pôvodnom stroji a samé sa presunuli na server s najlepšími zistenými parametrami. Tiež sa objavili také, ktoré po umiestnení potomka na nový server, presunuli aj samých seba, čo je zjavne najvýhodnejšia taktika. Takto sa dostali nielen k bohatšiemu zdroju energie, ale zároveň si vlastne znížili vek, pretože Tierra umožňuje presun organizmu iba v podobe zárodočnej bunky. Experimenty naznačujú, že pokiaľ je prostredie počítačovej siete dostatočne heterogénne, evolúcia je rozmanitá, vedie k novým podobám jedincov, v opačnom prípade môžu degradovať a populácia sa stáva jednotvárnou. Napriek tomu však stále nie je jasné, ako treba navrhnúť systém, aby mal vysokú evolvabilitu. V prípade Tierry to predstavuje významný nedostatok, pretože odhadnutie bohatosti evolúcie už vo fáze návrhu experimentu by umožnilo vyhnúť sa zbytočnému úsiliu.Ani posledná z verzií sieťovej Tierry zatiaľ nepreukázala výrazné zvýšenie zložitosti organizmov počas evolúcie. To ostáva aj naďalej jedným z najdôležitejších cieľov jej vývojárov. |
||
Kontakt: Marek Bundzel |