Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Úvod
Prostredie
Genetika
Fyfziológia
Nervový systém a učenie
Správanie
Simulátor
Linky
Literatúra



Ostatné kapitoly
LEE
Framsticks
EINSTein
Nerve garden
Poly World
Simulácia evolúcie rozhodovania
Nornovia
Creatures 3
Primordial Life
Core War
Desktop Garp
Tierra
Avida


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Genetika

Gé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ú:

  • veľkosť
  • sila
  • maximálna rýchlosť
  • ID (zelené sfarbenie)
  • miera mutácie
  • počet bodov kríženia
  • maximálna doba života
  • časť energie pre potomstvo
  • počet neurónov určených pre červenú zložku obrazu
  • počet neurónov určených pre zelenú zložku obrazu
  • počet neurónov určených pre modrú zložku obrazu
  • počet vnútorných (skrytých) neurónových skupín
  • počet stimulujúcich neurónov v každej neurónovej skupine
  • počet tlmiacich neurónov v každej neurónovej skupine
  • počiatočný bias neurónov v každej nevstupnej skupine neurónov
  • rýchlosť učenia biasu v každej nevstupnej skupine neurónov
  • hustota spojov medzi jednotlivými dvojicami neurónových skupín a typov
  • topologická distorzia medzi jednotlivými dvojicami neurónových skupín typov
  • rýchlosť učenia medzi jednotlivými dvojicami neurónových skupín a typov

Všetky gény sú 8-bitové a môžu byť kódované binárne alebo grayovým kódom (dve susedné čísla sú binárne reprezentované reťazcami, ktoré sa líšia len na jednej pozícii binárneho reťazca). Všetky okrem génu ID poskytujú 8-bitovú presnosť medzi špecifikovateľnou minimálnou a maximálnou možnou hodnotou. Napríklad ak minimálna možná veľkosť je minSize a maximálna možná veľkosť maxSize, a hodnota génu je valSize a leží medzi 0.0 a 1.0 (pri 255 možných hodnotách), potom veľkosť organizmu podľa tohto génu je:

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 NN=200 neurónov vyžadoval tento model NN2=40000 génov. Súčasná schéma podporuje rozdelenie neurónov do skupín. Skupiny neurónov tvoria 3 rôzne vrstvy – vstupnú, vnútornú (skrytú) a výstupnú. Táto schéma nervovej architektúry je plne popísaná 12NG2 + 232NG + 1026 génmi, kde NG je počet vnútorných (skrytých) skupín (zväzkov) neurónov. Berieme pritom do úvahy, že veľkosť vstupnej a výstupnej skupiny je fixne stanovená na 1. Tiež je známe, že neuróny na vstupnej vrstve nepotrebujú synaptické vstupy.

Uveďme príklad:

  • pre NG=4 vnútorné (skryté) skupiny neurónov s 32 neurónmi v každej skupine,
  • plus ďalších max. 16 neurónov v skupine pre zrak (ktoré sú 3, pre červenú, zelenú a modrú farebnú zložku)
  • plus 2 ďalšie vstupné skupiny (1 neurón na skupinu) a
  • 7 štandardných výstupných skupín (1 neurón v každej)

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á:

1,1 1,2 1,3 – – 2,1 2,2 2,3 – – 3,1 3,2 3,3 – –

kde položka „–“ znamená vyhradené nepoužité miesto, na rozdiel od schémy:

1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3

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.

Hore
Kontakt: Marek Bundzel