Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Podstata hry života
Základné typy štruktúr
Applet
Prehľad appletov na webe
Editor štruktúr
Štruktúry vo formáte LIF
Hexagonálne LIFE
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Výpočtové schopnosti celulárnych automatov
Celulárne automaty - úvod
Samoreprodukujúce sa celulárne automaty
Kryštálove výpocty
HAL
Boidi
Floyi
Aplikácie celulárnych automatov
CAPOW
LIFE - Hra života
Fredkinov biliardový automat


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


Podstata hry života

John Horton Conway - matematik na University of Cambridge - bol posadnutý myšlienkou zostavenia neumannovského 2D CA v omnoho jednoduchšej podobe. Pracoval iba s dvomi stavmi (budú v ďalšom texte označované ako bunka a prázdne políčko) a s úplným okolím (Gardner, 1970, 1971). Dlho experimentoval s vhodnou lokálnou prechodovou funkciou: pravidlami pre zrod, prežitie a uhynutie bunky. Nakoniec našiel pravidlá, ktoré zaručovali najpestrejšiu dynamiku obrazcov, tvorených populáciami buniek:

  • zrod - v okolí prázdneho políčka sú práve tri bunky ("trojpohlavné" rozmnožovanie)
  • prežitie - v okolí bunky sú dve alebo tri ďalšie bunky
  • uhynutie - v okolí bunky je 0, 1, 4, 5, 6, 7 alebo 8 ďalších buniek

Výsledná sada pravidiel poskytovala tiež prijateľnú biologickú interpretáciu, napr. uhynutie príliš osamotenej bunky, ale tiež bunky v prehustenej populácii. Navrhnutý CA bol nazvaný hrou života - LIFE a ta sa stala po zverejnení veľmi populárnou (článok v Time roku 1974 odhadol, že na hru LIFE bol "premrhaný" strojový čas v hodnote niekoľko miliónov dolárov). Východzie obrazce, tvorené populáciami buniek, smerovali obyčajne po niekoľkých generáciách k jednej z nasledujúcich situácií:

  • zánik (štruktúra A na obrázku)
  • stabilný (v ďalších krokoch nemenný) obrazec (štruktúra B na obrázku)
  • cyklicky sa opakujúci obrazec (štruktúra C na obrázku)
  • cyklicky sa opakujúci, ale posunutý obrazec (štruktúra D na obrázku - tzv. klzák; ten sa vo štvrtej generácii objaví v rovnakom tvare posunutý o jedno políčko po uhlopriečke)

A. B. C.

D.

E.

Existovali však výnimky, tzv. R-pentomino (štruktúra E na hore uvedenom obrázku) sa ustáli až v 1103-tej generácii - výsledná štruktúra pozostáva z 15 jednoduchých stabilných obrazcov, 4 cyklických štruktúr (C z horného obrázku) a 6 klzákov. V aplete pre R-pentomino 6 štvrorcov (block) po okrajoch apletu sú degenerované klzáky, ktoré majú pokračovať do nekonečna. Zaujímavý je proces narušenia pravidelnej štruktúry "nákazou". Podľa miesta "nákazy" si s ňou pôvodná štruktúra buď poradí (krížik v nasledovnom obrázku), alebo je ňou úplne deštruovaná (krúžok v nasledovnom obrázku).

Nákaza

Keď chcel Conway dokázať, že jeho jednoduchý CA tvorí univerzum, do ktorého je možné vsadiť Turingov stroj, bolo potrebné preukázať možnosti zostrojenia počítača z jeho jednoduchých prvkov. Z tohto hľadiska bolo kľúčovou otázkou existencia obrazca, ktorý by sa premiestňoval (nosič informácie) a tiež existencie iného obrazca, ktorý by sa neustaľoval jedným z uvedených spôsobov, ale generoval by spomínané pohyblivé obrazce. William Gosper z MIT našiel tzv. klzákové delo, produkujúce v každej 30-tej generácii jeden klzák (na nasledovnom obrázku je v hornej časti klzákové delo, vpravo dole zasa cyklická štruktúra s periódou 15, pohlcujúca naviac prichádzajúce klzáky).

Nato boli objavené ďalšie pohyblivé štruktúry, ale bolo tiež dokázané, že žiadna z nich - pokiaľ ju tvorí konečný počet buniek - nemôže presiahnuť rýchlosť svetla (posun o jedno políčko v ktoromkoľvek smere v jedinej generácii, klzák ma štvrtinu tejto rýchlosti, čo je maximum dosiahnuteľné v tomto smere).

Ďalšími príkladmi posuvných štruktúr sú tzv. lode (tri z nich sú na nasledovnom obrázku), majú periódu 4 a posúvajú sa vpravo s polovičnou rýchlosťou svetla.

Na nasledujúcej animácii je nekonečná štruktúra, tzv kombajn, ktorá má periódu 4 a posúva sa vpravo hore rýchlosťou svetla po nekonečnom rade buniek a necháva za sebou "snopy" - stabilné štvorice buniek.

Hlavnú úlohu hrajú ale klzáky, vzhľadom k tomu, že sú najmenšie pohyblivé štruktúry, že celý rad štruktúr je schopný ich generovať, a že kombinácie klzákov sú schopné vyvolať rad zaujímavých procesov (napr. konfigurácia 13 klzákov vytvorí klzákové delo).

V (Berlekamp et al., 1982). je uvedený dôkaz výpočtovej univerzality LIFE (schopnosti emulovať Turingov stroj), opierajúci sa práve o klzáky ako nositeľov elementárnej informácie. Celý počítač v LIFE nikdy nebol zostrojený, bola v ňom ale zostrojená fungujúca sčítačka.

Najväčším problémom ale bolo, že sa v LIFE nepodarilo nájsť konečnú samoreprodukujúcu sa štruktúru (triviálnym prípadom je nekonečne dlhá zvislá alebo vodorovná čiara - tá postupne vytvára svoje kópie navzájom vzdialené na štyri políčka; v generácii 2m - 2 existuje 2m-1 čiar pre m=2, 3, 4, ...). Odhaduje sa však, že na mriežke 106 políčok možno vytvoriť štruktúru, porovnateľnú s jednobunkovým živým organizmom.

Systematický prehľad jednotlivých typov štruktúr je uvedený v samostatnej kapitole. V prípade záujmu je tu uvedená aj galéria štruktúr a popis súborov hry LIFE vo formáte *.lif. Taktiež je možné si pozrieť hru LIFE online pomocou nášho apletu. V prípade záujmu o iné aplety si pozrite podkapitolu Prehľad apletov na webe alebo si stiahnite niektoré programy modelujúce hru LIFE a podrobnejšie ju preskúmajte.

Hore
Kontakt: Marek Bundzel