Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||
GenetikaGény organizmov nesú kompletnú informáciu o ich fyziológii a stavbe nervovej sústavy. V organizmoch PolyWorldu sú prítomné gény, ktoré špecifikujú:
Všetky gény sú 8-bitové a môžu byť kódované binárne alebo
size = minSize + valSize * (maxSize – minSize)
Tieto hraničné hodnoty, ktoré určujú rozsah parametrov organizmov v simulácií, sú uložené v súbore parametrov worldfile, ktorý sa načíta pri štarte simulátora PolyWorldu. Prvých 8 génov riadi simulovanú fyziológiu organizmu. Veľkosť a sila ovplyvňujú rýchlosť, ktorou si dopĺňajú energiu a výsledok boja s ostatnými organizmami. Navyše ich veľkosť priamo súvisí s množstvom energie, ktorú sú schopné vnútorne uložiť. Ďalší gén, maximálna rýchlosť, ovplyvňuje rýchlosť metabolizmu. Funkcia ID génu je zaistiť zelenú zložku sfarbenia organizmu pri jeho zobrazení. Pokiaľ sú organizmy schopné vidieť jeden druhého, toto môže byť v princípe podporou mimikry (podobnosť organizmu zväčša neživému predmetu alebo inému organizmu čo do sfarbenia). Môže to tiež mať význam pri párení, keď zmenou sfarbenia sa organizmus stane potencionálne atraktívnejší. Miera mutácie a počet bodov kríženia sú parametre rozmnožovania. Kríženie je názorne modelované na obrázku 2. Ďalší gén maximálna doba života. Hodnoty týchto génov majú určité hranice: 0.01 až 0.1 pre mieru mutácie, 2 až 8 pre počet bodov kríženia a niekoľko sto až niekoľko tisíc „časových cyklov“ pre dobu života. Následujúci obrázok približuje princíp kríženia. ![]() Posledný gén týkajúci sa fyziológie hovorí o tej časti energie organizmu, ktorá bude daná potomkovi pri narodení. Potomok bude mať teda celkovú energiu, ktorá je súčtom týchto príspevkov energie od oboch rodičov.
Zostávajúce gény sú použité na definovanie architektúry nervovej sústavy. Parametre, ktoré sú nimi špecifikované budú rozobrané v kapitole Nervový systém a učenie. Je však potrebné poznamenať, že jednou z motivácií, ktoré viedli k špecifikácii týchto parametrov, je redukcia počtu génov potrebných na jej úplný popis. Staršie verzie PolyWorldu používali jednoduchšiu štruktúru, ktorá bola popísaná kompletnou maticou synaptických spojov medzi všetkými dvojicami neurónov, pričom každý prvok vyžadoval jeden gén. Pre Uveďme príklad:
teda pri 185 neurónoch môže byť architektúra definovaná len 2146 génmi. Vysoké konštanty v rovnici 232 a 1026 sú dôsledkom pevne stanoveného počtu vstupných a výstupných skupín a kvôli zaradeniu každého výstupného neurónu do samostatnej skupiny. I keď je počet génových špecifikácií značne zredukovaný oproti kompletnej maticovej špecifikácii, tento počet stále mnohonásobne prevyšuje počet génov určených pre špecifikáciu fyziológie. Aby sa poskytol masívnejší rozvoj možných fyziológií, jeden z bodov kríženia je vynútene umiestňovaný do oblasti fyziologických génov. Pretože počet bodov kríženia je rovný aspoň 2, kríženie nastane aj v oblasti neurofyziologických génov. Genóm organizmu je interpretovaný ako priestor pre maximálny možný počet dvojíc neurónových skupín (jeden parameter je špecifikovaný pre každú dvojicu na osobitnom mieste). V sieti s 3 skupinami neurónov, kde maximálny možný počet je 5, je schéma genómu následovná:
kde položka „–“ znamená vyhradené nepoužité miesto, na rozdiel od schémy:
kde sú jednotlivé položky bezprostredne susediace. Dôvod používania prvej schémy je umožniť plynulejší vývoj nervovej architektúry. Pridanie štvrtej skupiny neurónov by nechalo pôvodné prepojenia v prvej schéme neporušené, zatiaľ čo v druhej schéme už nie. Je dokonca možné umiestniť do architektúry nečinné gény pre niektoré užitočné vlastnosti, ktoré by sa mohli neskôr prejaviť. Aj keď existuje podpora učenia v nervovej sieti, v génoch je kódovaná iba architektúra a niektoré počiatočné hodnoty. Z tohto dôvodu je evolúcia v PolyWorlde čisto darwinovská, nie lamarckistická (lamarckizmus hovorí o dedičnosti za života naučených vlastností). Ako vo väčšine genetických algoritmoch, organizmus vytvorený na začiatku má všetky bity génov vynulované, a následne nastavené s určitou pravdepodobnosťou. Na rozdiel od iných algoritmov je možné špecifikovať rozsah pravdepodobností namiesto pevnej 0,5. Pravdepodobnosť pre príslušný bit je vybraná z tohto rozsahu a použitá na inicializáciu bitového reťazca genómu organizmu. To umožňuje väčšiu lokálnu rozdielnosť organizmov už v skorších generáciách ako pri závislosti len na mutáciách a krížení. V PolyWorlde je voliteľná možnosť „funkcia miešania plemien“, ktorá aplikuje pravdepodobný vplyv genetickej odlišnosti organizmov na životaschopnosť ich potomkov. Čím väčšia je odlišnosť organizmov, tým nižšia je pravdepodobnosť ich úspešného rozmnožovania. Táto funkcia nie je normálne používaná, ak áno, tak až po významnom počte narodení bez vytvárania organizmov systémom, aby sa umožnilo v skorších etapách simulácie rozvinúť toľko genetických rekombinácií ako je možné. Táto funkcia môže byť vypnutá aj úplne. |
||
Kontakt: Marek Bundzel |