Prírodou inšpirované algoritmyštudijné materiály pre projekt mobilnej triedy umelej inteligencie |
||
Vznik samoreprodukcieTáto kapitola je prakticky prekladom druhej časti článku Reggia, Chou, Lohn, 1998 Doteraz popísané samoreprodukujúce sa štruktúry boli na začiatku nastavené ako pôvodné kópie štruktúry, ktoré sa budú reprodukovať ("semeno" - počiatočné štruktúry) a sú založené na ručne vytvorených pravidlách zmien určených pre jedinú konkrétnu štruktúru. Nedávno sme sa začali uberať iným smerom pri vytváraní samoreprodukujúcich sa štruktúr, pričom sme sa na samoreprodukciu zamerali ako na vznikajúcu vlastnosť (emergent property). V tejto časti ukážeme dva príklady našej práce v tejto oblasti. Vznik replikátorov
Naše nedávne práce ukázali, že je možné vytvoriť modely celulárnych automatov, v ktorých samoreprodukujúce sa slučky vznikajú z počiatočného stavu s náhodnou hustotou a rozložením prvkov (tzv. "počiatočná polievka" - "primordial soup") (Chou & Reggia, 1997). Tieto vzniknuté samoreprodukujúce sa slučky používajú množinu všeobecných pravidiel, ktoré podporujú reprodukciu a rast slučiek rôznych veľkostí. Táto množina pravidiel tiež umožňuje náhodné zmeny veľkostí slučiek a vzájomné pôsobenie samoreprodukujúcich sa slučiek v priestore celulárnych automatov, obsahujúcich voľne pohyblivé prvky. Príklad bežiaci v malom priestore (
![]()
Táto simulácia sa vyznačuje počiatočným vznikom veľmi malých samoreprodukujúcich sa slučiek a ich postupným vývinom až na stále väčšie a rôzne reprodukcie. Počas tohto procesu sa môže reprodukujúca slučka stretnúť s inými slučkami alebo s voľne sa pohybujúcimi prvkami a buď sa vráti do pôvodného stavu, alebo sa zničí. Po čase
Ako sa dá z tohto príkladu vidieť, funkcia zmien týchto samoreprodukujúcich sa slučiek sa líši od tých, ktoré boli použité v predchádzajúcich modeloch celulárnych automatov v niekoľkých bodoch. Samoreprodukujúca štruktúra vzniká z náhodného počiatočného usporiadania prvkov, samoreprodukcia nie je daná na začiatku, ale vzniká v prostredí voľne sa pohybujúcich prvkov, potomkovia rastú a s časom menia svoju veľkosť a keď reprodukcia už nie je možná, podliehajú zničeniu. Všetko toto sa objavuje v prítomnosti jedinej prechodovej funkcie založenej na
![]()
Ako bolo skôr poznamenané, každá bunka, ktorá nie je v pokoji predstavuje možný "prvok" štruktúry celulárnych automatov. Štruktúrou celulárnych automatov môže byť aj jediná bunka, t.j. bunka bez žiadneho významového prepojenia s nejakou vedľajšou činnou bunkou, a v tom prípade ju voláme neviazaným prvkom. Na druhej strane, štruktúra celulárnych automatov sa môže skladať z niekoľkých susediacich činných buniek ktoré sú navzájom funkčne pospájané, správajú sa ako celok, tak ako samoreprodukujúca sa slučka. V tomto druhom prípade voláme túto štruktúru štruktúrou s viacej prvkami, alebo jednoducho štruktúrou a jej prvky voláme viazanými prvkami. (ich bit viazania je nastavený na
Spomínané štyri údajové polia (predchádzajúci obrázok) a ich poradie vo funkcii zmien je nasledovné. Štvorbitové pole prvok obsahuje jednu z
Úplná množina pravidiel tvoriacich prechodovú funkciu podporuje reprodukciu slučiek podobným spôsobom ako v minulosti (Langton, 1984; Lohn & Reggia, 1995). Navyše však môže byť potomok inej veľkosti (väčší) a tento proces nazývame rozšírenou reprodukciou. Postupnosť signálov slučky sa dá zmeniť tak, aby vytvárala slučky väčšie ako je sama ak sa v niektorej bunke slučky náhodou objaví bit rastu v stave Ďalšou novou stránkou tohoto modelu je zisťovanie stretávania (zrážania) sa a rozkladania sa. Vo všetkých minulých prácach o samoreprodukujúcich sa slučkách sa reprodukcia objavuje v prázdnom priestore a funkcia zmien nemusí narábať s neočakávanými udalosťami. Inými slovami, zatiaľ čo zapisujete pravidlá, máte úplnú kontrolu nad správaním, ktoré sa objavuje v priestore celulárneho automatu, vrátane počiatočného stavu. Naproti tomu, prvý predpoklad je, že nejestvujú predbežné znalosti o vzájomnom pôsobení medzi slučkami, alebo o tom ako vyzerá priestor celulárneho automatu v čase nula. Hoci pravidlá, s ktorými sme doteraz uvažovali v predchádzajúcich modeloch reprodukcie, dokážu spoľahlivo viesť štruktúru k samoreprodukcii v izolácii, nedokážu zaručiť, že štruktúra nevojde do inej štruktúry, že sa nebudú pokúšať reprodukovať dve štruktúry naraz do tej istej oblasti priestoru, alebo že slučka sa nestretne s voľne pohyblivým neviazaným prvkom. Všetky tieto činitele sú určované náhodne. Tu použitá prechodová funkcia teda predpokladá, že nie všetky vytvorené bežné činnosti pôjdu vždy za sebou bez prerušenia alebo rušenia od ostatných štruktúr. Zahŕňa v sebe pravidlá, ktoré budú zisťovať činnosti, ktoré zlyhali a čistiť priestor celulárneho automatu po takomto zlyhaní. Keď hocijaká z buniek slučky sa dostane do stavu zlyhania, tento stav sa rýchlo šíri po celej štruktúre, čo spôsobí, že sa slučka úplne rozpadne. Prvky slučky sa stanú neviazanými a znova sa začnú riadiť pravidlami pre neviazané prvky.
Nejestvuje žiadna predbežná informácia o tom, kedy a kde by mal byť v modeli vznikajúcej reprodukcie nastavený bit rastu a žiadny z nich nie je nastavený na začiatku. V príklade, ktorý sme uviedli, vždy keď sa rozpadne alebo "umrie" signál
![]()
Vznik samoreprodukcie sa dosiahol povolením premiestňovania a premieňania neviazaných prvkov a ich nahodným objavovaním, t.j. "miešaním počiatočnej polievky", až kým sa náhodou neobjaví usporiadanie prislúchajúce malej (
Tieto pravidlá sú zovšeobecnením (z binárnych do nebinárnych stavov) tých, ktoré boli použité v hre života a vo všeobecnosti vytvárajú neustále sa meniace rozloženie neviazaných prvkov. Všetko, čo je potom potrebné ku vzniku samoreprodukcie je malá množina pravidiel, ktoré sledujú informácie o usporiadaní najmenšej slučky. Keď sa takéto usporiadanie objaví, všetky štyri jej členy naraz zmenia svoj bit viazania (bound bit) na
![]()
Správanie tohto modelu vznikajúcej samoreprodukcie bolo preverené experimentálne (Chou & Reggia, 1997). Bolo prevedených
Tieto výsledky po prvý raz ukazujú, že neobyčajné samoreprodukujúce sa štruktúry môžu vzniknúť v priestore celulárneho automatu spusteného s náhodne rozloženou množinou prvkov. Bolo vykonaných aj niekoľko ďalších výpočtových výskumov vznikajúcej samoreprodukcie (pozri kapitolu 28 v Koza, 1992) a (Pargellis, 1992), ale tieto nepoužívajú metódy celulárnych automatov. Napríklad výskum v (Pargellis, 1992) používal veľmi rozličné modely (necelulárne automaty), ktoré mali počiatočný stav zložený z náhodne vytváraných postupností počítačových operácií. Tento model vyvinul samoreprodukciu pomocou operácie premeny (mutation operation). Prvotný záver urobený z výsledkov bol taký, že pravdepodobnosť zmeny náhodne vytvorenej postupnosti operácií na samoreprodukujúcu slučku sa zvýšila s počtom operácií, ktoré obsahovala. Navyše samoreprodukujúce sa postupnosti sa zmenšovali len čo sa objavili. Tu popísaný model celulárneho automatu ukazuje, že také správanie nie je nutne prirodzenou stránkou vznikajúcej samoreprodukcie a že najprv môžu vzniknúť malé reprodukujúce sa štruktúry a tie potom môžu narásť na väčšie, ako sa často dohadujeme, že to nastalo pri počiatku biologickej reprodukcie. Rozdiely vo výsledkoch pripisujeme skutočnosti, že náš model začína s náhodnými jednotlivými zložkami a nie náhodnými počiatočnými postupnosťami počítačových operácií, že ich pravidlá boli umelo vytvorené a že celulárne automaty sú založené výlučne na vysoko miestnych operáciách (napríklad nejestvuje žiadna celková operácia kopírovania, ktorá kopíruje slučku do susednej oblasti priestoru).
Vyvíjajúce sa reprodukčné pravidláPredchádzajúce výpočtové modely samoreprodukcie používajúce celulárne automaty boli navrhnuté ručne, čo je zložitý a časovo náročný proces, ktorý programátor vynaloží na úkor svojich vedľajších záujmov. Druhou možnosťou, na ktorú sme nedávno ukázali je možnosť vynájsť pravidlá pre samoreprodukciu samočinne použitím genetických algoritmov (Lohn & Reggia, 1995, 1997). Zatiaľ čo práce v tejto oblasti sa len začínajú a štruktúry doteraz použité sú celkom malé, prvé výsledky už vytvorili novú triedu reprodukujúcich sa štruktúr, ktoré sa už nerozmnožujú tak ako predchádzajúce, ale novým nezvyčajným spôsobom.
Pomerne málo predchádzajúcich štúdií sa zmieňovalo o používaní genetických algoritmov (alebo podobných postupov) na samočinné vytváranie tabuliek pravidiel pre celulárne automaty (pozri napríklad Andre et al., 1997; Mitchell & Hraber, 1993). S výnimkou predbežnej správy (Lohn & Reggia, 1995), neexistujú žiadne predchádzajúce správy o použití genetických algoritmov na objavovanie samoreprodukujúcich sa štruktúr v modeloch celulárneho priestoru. Takýto výskum sa s najväčšou pravdepodobnosťou neuskutočnil z najmenej dvoch príčin. Po prvé, výpočtová zložitosť sa môže stať neúnosnou. Tabuľky pravidiel pre malú sústavu môžu rýchlo rásť do extrémnych rozmerov (napr.
Našťastie dokázalo sa, že je možné vyriešiť tieto problémy aspoň do istej miery (Lohn & Reggia, 1995, 1997). Genetický algoritmus, ktorý sme použili začína vytváraním skupiny náhodne inicializovaných tabuliek pravidiel a tieto používa na spustenie simulácií celulárnych automatov, pričom všetky začínajú s tou istou počiatočnou štruktúrou. Následkom týchto simulácií každá tabuľka pravidiel v skupine prijíma mieru schopnosti
Ďalší obrázok ukazuje kódovanie tabuľky pravidiel používanej genetickým algoritmom v tomto procese. Tabuľka je indexovaná naľavo vzorkami pätbunkového okolia CNESW (center, north, east, south, west) a pravidlá pre každú jednotlivú zložku sú zoskupené spolu. Každé pravidlo má položku "nasledujúci stav", ktorá udáva, čím by sa v nasledujúcom časovom kroku mala stať prostredný bunkový prvok
![]() Použitá bola verzia viacbodového kríženia, kde sa aplikuje jednobodové kríženie na segmentoch (označených hrubými čiarami v ďalšom obrázku; súčasné typy prvkov majú oveľa viac pravidiel zmien ako je zobrazených tu). Bod kríženia bol vybraný náhodne pre každý segment a jednobodové kríženie sa previedlo na každom segmente. Zmyslové výsledky porovnávajúce túto metódu kríženia k jednobodovému kríženiu (po celej tabuľke pravidiel) ukázali lepší výkon pre opakované použitie krížení. Po selekcii a krížení bolo každé pravidlo zmeny podrobené mutácii, ktorá nastala náhodnou selekciou nového stavu s malou pravdepodobnosťou.
![]()
Vytváranie funkcie schopnosti
Akým spôsobom by mali byť tieto tri výrazy volené, aby maximalizovali pravdepodobnosť úspechu týmto postupom? V súčasnosti nie je na túto otázku žiadna presná odpoveď. Opakované pokusy naznačujú, že
Aby sme odhadli úspešnosť predchádzajúceho prístupu, urobili sme
![]()
Na replikátory objavené týmto spôsobom (genetickým algoritmom) sa môžeme pozerať tak, že tvoria tretiu triedu samoreprodukujúcich sa štruktúr (prvé dve sú univerzálne počítače - konštruktéry a samoreprodukujúce sa slučky). Okrem toho, že sa vytvárajú z ľubovolných neslučkovitých počiatočných usporiadaní, navyše sa všeobecne pohybujú po bunkovom priestore, pričom ako sa hýbu, robia kópie, čo je konštrukcia, ktorá nebola doteraz v ručne vytvorených reprodukčných modeloch celulárnych automatov zrejme ešte nikdy prijatá. Napríklad na štvorprvkový replikátor na predchádzajúcom obrázku sa môžeme pozerať akoby prechádzal premenami pri posuvnom pohybe doprava (vzhľadom na jeho počiatočnú polohu, ktorá je označená počiatkom ľubovoľných súradnicových osí v obrázku), opakovane sa objavuje vo svojom pôvodnom tvare ( |
||
Kontakt: Marek Bundzel |