Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Čo je to Celulárny Automat
Von Neumannov Celulárny Automat
Wolframov Celulárny Automat
Applet pre viachodnotové 1D CA
Kvantitatívne hodnotenie dynamiky CA
Arbibov Celulárny Automat
Paralelné celulárne počítače
Literatúra
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


Applet pre viachodnotové 1D CA

Podkapitoly:

Prehľad 1D CA appletov na webe

Keď applet vykonáva zložité operácie, zobrazí sa počas tohto procesu v ľavom dolnom rohu informatívna správa Pracujem ... Po jej zmiznutí (resp. znefunkčnení) môžete pokračovať v práci

Stručný popis činnosti appletu :

  • applet sa spustí kliknutím na tlačítko Štart ktoré sa po spustení zmení na tlačítko Pauza
  • kliknutím na tlačítko Pauza sa činnosť appletu zastaví so zachovaním aktuálneho zobrazenia a tlačítko sa zmení na Štart
  • nasledovným kliknutím na tlačítko Štart bude applet opäť pokračovať v činnosti
  • tretie tlačítko plní dve funkcie:
    • po nabehnutí apletu a pri zastavenom aplete je to tlačítko Zmaž - po jeho stlačení dôjde k vymazaniu aktuálne zobrazovanej generácii buniek(všetky aktuálne nastavenia ostávajú zachované)
    • pri bežiacom aplete je to tlačítko Reset - jeho stlačenie spôsobí reštartovanie zobrazovania od prvého kroku(všetky aktuálne nastavenia ostávajú zachované)
  • užívateľ môže zadať číslo sady pravidiel, prípadne si vybrať predvolenú sadu
    • pri ručnom zadaní čísla sady:
      • pri nekorektnom čísle sady (písmena) sa aplet nespustí
      • pri zápornom čísle sady sa vezme z toho absolútna hodnota a umožní sa spustenie apletu s daným číslom sady
    • počet možných sád pravidiel je daný vzťahmi : N=Kpom, pom=KS, S=2*r+1, kde K je počet stavov a r je polomer
    • príklad skupiny pravidiel pre k=2 a r=1:
    • 0*20 + 1*21 + 0*22 + 0*23 + 1*24 + 0*25 + 0*26 + 0*27 = 18
    • čiže príklad znázorňuje sadu číslo 18
    • príklad skupiny pravidiel pre k=2 a r=2:
    • 1*23 + 1*27 + 1*211 + 1*212 = 1*8 + 1*128 + 1*2048 + 1*4096 = 6280
    • čiže príklad znázorňuje sadu číslo 6280
    • príklad skupiny pravidiel pre k=3 a r=1:
    • 1*33 + 2*35 + 2*36 + 1*38 = 1*27 + 2*243 + 2*729 + 1*6561 = 8532
    • čiže príklad znázorňuje sadu číslo 8532
  • pri voľbe rýchlosti, je možné vybrať si rôznu rýchlosť pomocou slideru
  • tlačítko Krokovanie, krokuje podľa nastavenia počtu krokov
  • je možné zmeniť počet stavov, ktoré môže bunka nadobudnúť, kde význam farieb pre jednotlivé stavy buniek je daný na základe vybranej farebnej schémy cez combobox farby
  • jednotlivé farby sú danému stavu,na základe ich počtu,priradené pomocou funkcie, ktorá je rôzna pre každú schému
  • pri základnej schéme Basic Color je použité pevné nastavenie farieb:
  • nastavením polomeru určíme počet uvažovaných susedov (z oboch strán) bunky, ktorá je umiestnená nad bunkou, ktorej stav chceme zistiť, čiže napríklad, ak je polomer=1, potom stav novej bunky je daný kombináciou stavov trojice buniek nad uvažovanou novou bunkou
    • v aplete je možné použiť polomer r = 1,2,3; pričom pre k > 9 už len r = 1 alebo r = 2, kvôli náročným výpočtom pre r = 3
  • ďalšou možnosťou na výber sú tri rôzne predvolené inicializácie počiatočného stavu buniek v prvej generácii
  • pomocou checkboxu zoom sa mení veľkosť bunky, čiže v konečnom dôsledku to plní funkciu priblíženia na aktuálne zobrazovanú generáciu buniek:
    • zoom 1 : veľkosť bunky je v dvojrozmernom priestore 1x1
    • zoom 2 : veľkosť bunky je 2x2
    • zoom 5 : veľkosť bunky je 5x5
    • zoom 10 : veľkosť bunky je 10x10
  • checkbox cyklicky slúži na nastavenie prechodu cez okraje apletu a teda rieši problém okrajových buniek, kde bunky úplne napravo, alebo úplne naľavo nemajú z jednej strany žiadnych susedov:
    • ak je zaškrtnutý, tak ako susedné bunky buniek napravo sa vezmú bunky zľava a naopak, takýmto spôsobom vlastne dôjde k prepojeniu oboch okrajov
    • ak nie je zaškrtnutý, tak za susedné bunky sa automaticky berú mŕtve bunky, čiže sa zobrazuje len tá časť medzi okrajmi a to čo je za nimi sa neberie do úvahy
  • aplet umožňuje generovať aj náhodné sady pravidiel, pričom na kvantitatívne hodnotenie dynamiky sa využíva tzv. lambda parameter, ktorý vyjadruje pomer počtu pravidiel vedúcich k nekľudovým stavom (nenulovým) k ich celkovému počtu
  • postup pri náhodnom generovaní:
    • pre prácu s lambdou je potrebné zaškrtnúť checkbox Náhodne, ktorý nám sprístupní slider, kde môžeme meniť hodnotu lambdy a tlačidlo Náhodne, ktoré slúži na vygenerovanie náhodnej sady pravidiel
    • najprv je potrebné nastaviť požadovanú hodnotu lambdy a stlačením tlačidla Náhodne sa vygeneruje náhodná sada pravidiel
    • stlačením tlačidla Štart sa spustí samotné generovanie buniek pre túto konkrétnu lambdu a sadu pravidiel
    • opätovným stláčaním tlačidla Náhodne sa automaticky spustí generovanie jednotlivých buniek od prvého kroku vždy s novou náhodnou sadou pravidiel
    • pri zmene hodnoty lambdy je vždy potrebné stlačiť tlačidlo Náhodne, aby sa táto nová hodnota akceptovala a znovu sa vygenerovala nová náhodná sada pravidiel
  • aplet vypisuje aj hodnotu lambdy pre nenáhodnu sadu pravidiel:
    • pri preddefinovaných číslach sady pravidiel sa lambda zobrazí hneď pri zmene čísla sady
    • pri ručnom zadaní čísla sady sa lambda zobrazí po stlačení klávesy Enter, poprípade po stlačení tlačidla Štart

Hore
Kontakt: Marek Bundzel