Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Applet
Prehľad appletov na webe



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


Applet

Štvorec vs šesťuholník

Zásadnou zmenou oproti klasickej hre Life, odohrávajúcej sa v štvorcovej mriežke je to, že Hexagonálny Life beží v šesťuholníkovej resp. hexagonálnej mriežke. Tvar jedného políčka gridu ( mriežky ) má priamy vplyv na počet susediacich políčok. Presnejšie, oproti 8 susedom pri štvorcovom políčku máme v tomto prípade len 6 susedov. Napriek menšiemu počtu susediacich políčok ponúka hexagonálna verzia hry života graficky zaujímavejšie štruktúry.

Zdroje štruktúr

Štruktúry pre tento applet boli prevzaté z :

Prehľad appletov nájdete na tejto stránke.

Zápis pravidiel

Pripomeňme si pravidlá tejto hry, tak ako ich navrhol Conway. Vychádzal z priameho susedstva, teda o prežití resp. vzniku rozhodujú bezprostrední susedia políčka. Zrod bunky je vtedy, ak v okolí prázdneho políčka sú 3 bunky. Bunka prežije ( ostáva zafarbená ) pri 2 alebo 3 bunkách. V ostatných prípadoch : 0, 1, 4, 5, 6, 7, 8 buniek znamená uhynutie bunky - vzniká prázdne políčko. Slovný popis ako vidíme je dosť zdĺhavý. Namiesto neho sa zvykne používať oveľa kratší zápis pomocou číslic, napríklad :

2,3/3

Takto sme jednoducho zapísali Conway-ové pravidlá hry života. Význam zápisu je nasledovný. Má dve časti, ktoré sú oddelené znakom lomítka /. Čísla pred lomítkom ( môže byť aj jedno číslo ) udávajú koľko buniek musí mať okolo seba bunka, aby prežila. Teda pred lomítkom je uvedené pravidlo prežitia. Za lomítkom je uvedené pravidlo zrodu - koľko buniek musí byť okolo prázdneho políčka. Opäť tu môže byť viac čísel alebo len jedno. Uhynutie už nie je nutné uvádzať. Napríklad sada pravidiel 1,2,3/4,5 hovorí, že na prežitie bunka musí okolo seba mať 1, 2 alebo 3 bunky, a na zrod je potrebných 4 alebo 5 buniek.

Applet

Tento zápis používa aj nasledovný applet, na ktorom si môžete odskúšať viacero sád pravidiel, prípadne navrhnúť vlastnú sadu. Treba dodržať vyššie uvedený postup. Čísla musia byť oddelené čiarkami a nesmie chýbať lomítko na oddelenie pravidla prežitia a zrodu. V pravidlách sa nesmú vyskytovať medzery. Applet ďalej ponúka možnosť vytvorenia si vlastných štruktúr jednoduchým klikaním alebo pridržaním ľavého tlačidla myši a zafarbením viacero políčok naraz. Takisto je možné upraviť si už existujúce štruktúry.

Ovládanie je intuitívne. V prípade potreby získate nápovedu o ovládaní a štruktúrach kliknutím na Info.

Ovládanie appletu

Pre správny chod appletu je potrebné mať nainštalované min. JRE 1.4.2_04

  • Zive : udáva počet žijúcich buniek v danej štruktúre
  • Gen : generácia v ktorej sa štruktúra nachádza
  • Reset : nastavenie východzej štruktúry
  • +1 : krokovanie vývoja štruktúry - krok = 1
  • Start : spustenie vývoja štruktúry ( spustenie a stopnutie appletu )
  • TextField : miesto pre zadanie kroku, kedy sa zobrazí vyvíjajúca štruktúra
  • Zmaz : vymazanie mriežky
  • ciste/mreza : vizualizácia bez/s mriežkou
  • - : zmenšenie veľkosti celej mriežky ( Zoom out )
  • + : zväčšenie veľkosti celej mriežky ( Zoom in )
  • 2,3/3 : ukazuje aktuálne používanú sadu pravidiel
  • Vyber sady pravidiel : výber z predvolených sád pravidiel
  • napr:1,2,3/4,5 : zadanie vlastnej sady pravidiel
  • Pouzi : aktivovanie novej sady pravidiel
  • SliderBar : rýchlosť vyvíjajúcej štruktúry
  • Vyber struktur : rýchly výber štruktúr
  • Info : zobrazí nové okno s popisom štruktúr a informáciami o applete - ovládanie, autori

Applet je schopný maximálne zobraziť pole o veľkosti 62x40 buniek. Na rozdiel od appletu na stránke http://www.cse.sc.edu/~h6h6h6/ sa pri dosiahnutí okrajov zobrazí varovné hlásenie o dosiahnutí okraja s možnosťami:

  • Pokračovať ďalej s testom na dosiahnutie okraja,
  • pokračovať ďalej bez testu,
  • koniec(stop).

Po pokračovaní štruktúry dôjde k jej deformovaniu po okrajoch mriežky. Ďalším rozdielom od spomínaného appletu je, že obsahuje aj test pre ustálenie štruktúry po jednej, resp. cyklického striedania dvoch po sebe idúcich generácií.

 

Zaujímavosti

V časti venovanej pravidlám sme si vysvetlili obvyklý zápis pravidiel v tvare pravidlo prežitia / pravidlo zrodu. Táto forma zápisu nemusí však vždy úplne postačovať. Ide o prípady, kedy nás nezaujíma iba konkrétny počet buniek obklopujúcich bunku alebo prázdne políčko, ale aj umiestnenie týchto buniek. V tomto prípade je najlepšie použiť grafickú reprezentáciu pravidiel, kde okrem počtu susediacich buniek ukážeme aj ich pozície voči stredovému políčku. Pre lepšiu názornosť si pozrite nasledovný applet. V spodnej časti stránky je uvedená grafická reprezentácia pravidiel.

Ďalšiu zaujímavosť ponúka program HexCells. Používa až 4 rôzne farby narozdiel od 2, s ktorými si vystačí väčšina appletov. Keďže rozlišujeme 2 stavy ( živá bunka - zafarbené políčko, neživá bunka - prázdne políčko ) úplne nám postačuje dvojica farieb, ktorá tieto stavy odlíši. HexCells má dvojicu farieb pre neživú bunku, kde sa rozlišuje medzi práve odumretou bunkou a políčkom, ktoré doteraz nebolo vyfarbené hoci obe farby zodpovedajú rovnakému stavu. Ďalšiu farbu má pre živú bunku, a posledná farba je pre políčka, ktoré nie sú momentálne viditeľné.

Hore
Kontakt: Marek Bundzel