Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Oscilátor
Lode
Bafkače
Generátory
Rozbuška a knôt
Matuzalém
Požierač
Čiara
Stabilné
Odvodené štruktúry
Rajská záhrada
Odvodené štruktúry



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


Oscilátor

Ide o živé zoskupenie, ktorého štruktúra sa zopakuje po n generáciách (n - oscilátor), pričom nikdy nedôjde k ustáleniu.

Oscilátory môžeme rozdeliť podľa ich tvaru alebo funkcie :

  • oscilátory s periódou 1 označujeme ako stabilné štruktúry
  • flip-flop je oscilátor s periódou 2, ktorého 2 fázy sú zrkadlovými obrazmi
  • on-off je názov oscilátora s periódou 2, ktorého rotor cyklicky vzniká a zaniká
  • krídlo je oscilátor, ktorý v polovici svojej periódy dosiahne zrkadlový obraz
  • oscilátor, ktorého rotor je obkolesený bunkami statora označujeme ako biliardový stôl
  • oscilátor, ktorému v každej generácii zomrú všetky živé bunky sa nazýva fénix
  • oscilátor s veľkou periódou a rotorom na vonkajšej strane sa nazýva pulzátor
  • jazdec je oscilátor s vysokou periódou, u ktorého sa rotor v priebehu svojich oscilácií pohybuje z miesta na miesto medzi stabilnými štruktúrami (typicky sa odráža, alebo rotuje)
  • iskrič je oscilátor, z ktorého odletujú iskry (bunky) a práve tie môžu byť užitočné pri vytváraní iných oscilátorov
  • „hassler“ je oscilátor, ktorého rotor vytvára obrazce, ktoré môžu pôsobiť na iné oscilátory bez toho aby ich poškodili
  • oscilátor pozostávajúci z reťazca samostatných buniek prepojených z jedného konca na druhý sa nazýva „žblnkotajúci potok“
  • oscilátor, v ktorom klzáky alebo lode putujú v slučke dookola sa nazýva štafetový beh

Uvedené triedy oscilátorov sa môžu navzájom prekrývať, napríklad trieda on-off s triedou fénix, alebo trieda biliardový stôl s triedou štafetový beh a triedou jazdec. Medzi štafetovým behom a biliardovým stolom je rozdiel hlavne v tom, že pri štafetovom behu putujú klzáky v slučke dookola zatial čo pri biliardovom stole to nie je podmienkou. Rozdiel medzi jazdcom a biliardovým stolom je taký, že pri jazdcovi nemusí byť rotor obklopený statorom, stačia len ostrovčeky medzi ktorými sa tento rotor odráža. Teda rozdiel je len vo veľkosti statora.

Samotný oscilátor pozostáva z troch častí: rotora, statora a obalu. Rotor pozostáva z tých políčok, ktoré sú nestabilné, teda sa menia. Stator sú tie políčka priľahlé k rotoru, ktoré hrajú úlohu pri vytváraní jednotlivých sekvencií rotora. Stator nemusí byť nemenný, môže sa vplyvom rotora meniť, vždy sa však vráti do pôvodného stavu. Obal pozostáva z políčok, ktoré síce nemajú vplyv na oscilácie rotora, ale sú potrebné na udržanie celkovej stability oscilátora.

Periódou oscilátora (P) nazývame najmenšie celé kladné číslo vyjadrujúce počet generácií, po ktorých sa štruktúra zopakuje, pričom orientácia štruktúry musí byť totožná s orientáciou v 0-tej perióde. „Mod“ (M) je najmenšie kladné celé číslo vyjadrujúce počet generácií, po ktorých sa štruktúra zopakuje, ale štruktúra nemusí mať tú istú orientáciu ako štruktúra v perióde 0. Kvocient q=P/M nadobúda vždy hodnotu 1,2 alebo 4. Aby sme mohli vyjadriť obidve veličiny naraz využívame zápis „perióda P.M“ alebo „perióda P/q“. Poznáme oscilátory rôznych periód, ale oscilátory s periódami 19, 23, 31, 37, 38, 41, 43 a 53 ešte neboli objavené.

Existuje 43 druhov symetrie, ktoré môže oscilátor dosiahnuť. Do úvahy berieme symetriu, ktorá sa vyskytuje v jednej generácii, ako aj symetriu, ktorú môžeme dosiahnuť o M generácii neskôr (zvyčajne rotáciou).

V jednej generácii môže štruktúra nadobúdať 16 druhov symetrie. Ich označenie je nasledujúce :

  • n - žiadna symetria
  • -c - zrkadlová symetria naprieč horizontálnou alebo vertikálnou osou vzhľadom na centrum bunky
  • -e - zrkadlová symetria naprieč horizontálnou alebo vertikálnou osou vzhľadom na hranu bunky
  • / - zrkadlová symetria cez diagonálu
  • .c - 180° rotácia okolo centra bunky
  • .e - 180° rotácia okolo hrany bunky
  • .k - 180° rotácia okolo rohu bunky
  • +c - zrkadlová symetria naprieč horizontálnou a vertikálnou osou so stredom v jadre bunky
  • +e - zrkadlová symetria naprieč horizontálnou a vertikálnou osou so stredom v hrane bunky
  • +k - zrkadlová symetria naprieč horizontálnou a vertikálnou osou so stredom v rohu bunky
  • xc - zrkadlová symetria cez 2 diagonály so stredom v centre bunky
  • xk - zrkadlová symetria cez 2 diagonály so stredom v rohu bunky
  • rc - 90° rotácia okolo centra bunky
  • rk - 90° rotácia okolo rohu bunky
  • *c - 8 násobná symetria okolo centra bunky
  • *k - 8 násobná symetria okolo rohu bunky

Pre objekty s periódou P/1 nepotrebujeme poznať vzťahy medzi M-tou a 0-tou generáciou, pretože tieto generácie sú totožné. Pre objekty s periódou P/2 a P/4 potrebujeme poznať aký je vzťah medzi M-tou generáciu a 0-tou generáciou. Pre prípad periódy P/2 môže byť M-tá generácia zrkadlovým obrazom 0-tej generácie, aj pre 180° rotáciu, aj pre 90° rotáciu, ak má štruktúra 180° symetriu. Pre prípad štruktúry s periódou P/4 musí byť M-tá generácia pootočená o 90° voči 0-tej generácii. Ak nezlúčime všetky generácie, ktoré sú násobkom M výsledná štruktúra bude mať viac symetrií ako originálny oscilátor. Kompletnú triedu symetrií oscilátora môžeme popísať pridaním jedného alebo dvoch znakov zo symetrie zlúčených generácií, k symetrii 0-tej generácie. Napríklad : ak 0-tá generácia má 180° symetriu okolo jadra bunky a M-tá generácia je dosiahnutá zrkadlením 0-tej generácie po diagonále, potom zjednotenie 0-tej a M-tej generácie je symetrické vzhľadom na obidve diagonály. Potom triedu symetrie môžeme označiť ako “.cxc”.

43 možných typov symetrie :

  • Perióda/mod = 1 :
    nn -c-c -e-e // .c.c .e.e .k.k +c+c
    +e+e +k+k xcxc xkxk rcrc rkrk *c*c *k*k

  • Perióda/mod = 2 :
    n-c n-e n/ n.c n.e n.k -c+c -c+e
    -e+e -e+k /xc /xk.c+c .cxc .crc .e+e
    .k+k .kxk .krk +c*c +k*k xc*c xk*k rc*c
    *k*k       

  • Perióda/mod = 4 :
    nrc nrk      

Zaujímavé štruktúry :

  • Blikač (barpol.lif) – Oscilátor s periódou 2. Vytvára dojem pohybu buniek medzi dvoma elektródami. Štruktúru môžeme v podstate ľubovoľne predĺžiť ak dodržíme štruktúru rotora. Trieda symetrie tohto oscilátora .c.c. Čo znamená, že jednotlivé generácie sa navzájom líšia pootočením o 180° (.c), a v konkrétnej generácii môžeme nájsť symetriu pri rotácii o 180°(.c). Tento oscilátor patrí do triedy flip-flop.
  • Kríž (cross.lif) – Oscilátor s periódou 3. Ide o najmenší oscilátor s periódou 3. V každej generácii je zrkadlovo symetrický cez dve diagonály so stredom v rohu bunky, čomu zodpovedá označenie xc.
  • Iskra (sparkcoil.lif) – Oscilátor s periódou 14, je zaujímavý tým že neobsahuje žiaden stator. Existencia tohto oscilátora je založená na jeho symetrii. Štruktúra je symetrická vertikálne a v polovici periódy sa objaví zrkadlový obraz pôvodnej štruktúry. Symetria oscilátora je typu xc.
  • Hodiny (clock.lif) – Oscilátor s periódou 4. Rotor, ktorý má predstavovať ručičku hodiniek pozostáva z troch buniek. Rotor je obklopený bunkami statora. Ďalšie štyri stabilné štruktúry, ktoré obklopujú stator zabezpečujú celkovú stabilitu. Každá ďalšia generácia tohto oscilátora vznikne pootočením rotora (ručičiek) o 90°. Trieda symetrie tohto oscilátora je nrc. Teda v konkrétnej generácii symetriu nenájdeme (n), ale každá ďalšia generácia vznikne pootočením pôvodnej o spomínaných 90° (rc).Tento oscilátor môžeme zaradiť do triedy biliardový stôl.
  • Kalich (cup.lif) – Oscilátor s periódou 6. Má dva oddelené rotory, pričom v 3 generácii v jeho strede vznikne a nasledovne zanikne jednoduchá stabilná štruktúra. Oscilátor je v každej generácii symetrický okolo vertikálnej osi, jeho trieda symetrie je -e.
  • Piest (piston.lif) – Oscilátor s periódou 30. Po 15 generáciách sa vytvorí zrkadlový obraz pôvodnej štruktúry. Medzi dvoma stabilnými elementmi sa pohybuje štruktúra, ktorá pripomína piest. Trieda symetrie tohto oscilátora je -c.e.
  • On-off (on-off.lif) - Oscilátor s periódou 2. Môžeme ho zaradiť do triedy on-off oscilátorov, u ktorých rotor cyklicky vzniká a zaniká. Ale tak tiež môže patriť do triedy fénix pretože v každej generácii zomrú všetky jeho živé bunky. Tento oscilátor pozostáva iba z rotora, pretože neobsahuje žiadne stabilne štruktúry.
  • Pulzátor (billiard.lif) - Oscilátor s periódou 15. Môžeme ho zaradiť do triedy pulzator. Rotor sa nachádza na vonkajšej strane a je tvorený štyrmi jednoduchšími oscilátormi, ktoré majú tiež periódu 15. Stator je tvorený štyrmi jednoduchými štruktúrami v strede oscilátora.
  • Prepínač (flip.lif) - Oscilátor s periódou 8. Keďže tento oscilátor v polovici svojej periódy dosiahne zrkadlový obraz , zaraďujeme ho do triedy krídlo. Tento oscilátor je v každej generácii symetrický po diagonále.
  • Wasyoku (wasyoku.lif) - Štruktúra celého oscilátora pozostáva z dvoch jednoduchších oscilátorov, z dvoch stabilných štruktúr a z jednej pohyblivej štruktúry. Dve jednoduchšie oscilátory majú periódu 4 a ich úlohou je stabilizovať celý oscilátor. Medzi dvoma stabilnými štruktúrami sa odráža iskra (efekt je lepšie vidieť pri vyššej rýchlosti apletu). Tento oscilátor zaraďujeme do triedy iskrič. Perióda oscilátora je 72.
  • Jazdec (oscp144.lif) - Oscilátor s pomerne vysokou periódou - 144. V polovici jeho periódy vznikne obraz pootočený o 90°. Stator tohto oscilátora je tvorený iba štyrmi malými stabilnými objektmi v rohoch štruktúry. Tento oscilátor patrí do triedy jazdec.
  • Biliard - Má periódu 7. Tento oscilátor patrí do triedy biliardový stôl. Rotor je tvorený štyrmi živými štruktúrami nachádzajúcimi sa v strede oscilátora. Stator je tvorený bunkami, ktoré obklopujú tento rotor a stabilizujú celý oscilátor. Jednoduchším príkladom biliardového stola by mohol byt oscilátor hodiny.
  • Bežec - Oscilátor s periódou 49. Vo vnútri oscilátora sa v slučke pohybujú 4 klzáky. Tento oscilátor patrí do triedy štafetový beh. Štruktúra oscilátora pozostáva zo štyroch oscilátorov s periódou 7, štyroch požieračov a štyroch klzákov. Úlohou týchto oscilátorov a požieračov je odrážať klzáky a udržiavať tak chod celého oscilátora.

Hore
Kontakt: Marek Bundzel