Celularni automati

Izvor Wikipedia, besplatna enciklopedija ( http://en.wikipedia.org/wiki/Cellular_automaton ).

Termin "Celularni automati" se odnosi na klasu matematičkih modela koji se koriste za proučavanje problema u teorijskoj Matematici , Fizici, Biologiji itd. Mogu se pronaći i pod nazivom "Ćelijski prostori" , "Ćelijske strukture" , "Homogene strukture", "Iterativni nizovi", "Tesselation automata" , "Tessellation structures" (eng. tessellation = srb. mozaik).

Celularni automat se sastoji od :

1. "Mreže ćelija" koja ima konačan broj dimenzija, u kojoj svaka ćelija zauzima jedno od konačnog broja stanja.

Svaka ćelija u mreži ima niz ćelija, "Ćelije komšije", koje su u neposrednom okruženju posmatrane ćelije i svojim zauzetim

stanjem utiču na stanje posmatrane ćelije.

2. Tačno definisana "Pravila" na osnovu kojih ćelije menjaju svoje stanje, takozvano "stvaranje nove generacije ćelija".

Pravila su uglavnom matematičke funkcije koje određuju novo stanje ćelije na osnovu trenutnog stanja posmatrane ćelije i stanja ćelija komšija.

Posmatranje Celularnog automata se odvija u sledećim koracima:

1. Postavljanje početnog rasporeda ćelija i dodeljivanjem osnovnog stanja svakoj ćeliji unutar mreže.

2. Postavljanje vremenskog brojača na nulu (brojač generacija).

3. Primena pravila i "stvaranje nove generacije ćelija".

4. Uvećanje vremenskog brojača za jedan.

Posmatranje na ovaj način se odvija ponavljanjem trećeg i četvrtog koraka, sve dok se ne steknu određeni uslovi koji zavise od proučavanog procesa na koji se primenjuje Celularni automat.

Primer "Kolizija" :

Ovaj primer predstavlja simulaciju sudara dva vozila na putu gde je prvo vozilo u pokretu i kreće se ka drugom vozilu. Drugo vozilo je nepokretno i nalazi se na kraju puta. Put je predstavljen kao jednodimenzionalna mreža ćelija , a dužina puta je određena brojem ćelija u mreži , 10 ćelija.

1. Mreža ćelija je jednodimenzionalna i u ovom primeru je broj ćelija ograničen na 10.

0000000000

2. Broj mogućih stanja ćelija je tri

1. "put" reprezentovano znakom "0"

2. "vozilo 1" reprezentovano znakom "1"

3. "vozilo 2" reprezentovano znakom "2"

3. Pravila

1. svaka ćelija sa stanjem "1" zauzima stanje "0" ukoliko ćelija komšija s desne strane ima stanje "0"

2. svaka ćelija sa stanjem "1" zauzima stanje "0" ukoliko ćelija komšija s desne strane ima stanje "2"

3. svaka ćelija sa stanjem "0" zauzima stanje "1" ukoliko ćelija komšija s leve strane ima stanje "1"

4. Posmatranje se prekida onog trenutka kada dođe do "kolizije" između ćelija sa stanjem "1" i "2",

odnosno kada ćelija sa stanjem "1" promeni stanje u "0" zbog primene pravila broj 2.

Početni raspored ćelija sa zauzetim stanjem :

1000000002 T = 0

Primenom pravila ćelije menjaju početno stanje i "stvorena je sledeća generacija" :

0100000002 T = 1

0010000002 T = 2

0001000002 T = 3

0000100002 T = 4

0000010002 T = 5

0000001002 T = 6

0000000102 T = 7

0000000012 T = 8

U sledećoj generaciji je došlo do kolizije vozila i završetka posmatranja.

0000000002 T = 9

Ovaj primer iako jednostavan i naočigled bez nekog smislenog rezultata, pokazuje način formiranja Celularnog automata i njegovog posmatranja..

Celularni automati su dobili na značaju s pojavom savremenih kompjutera i njihovom mogućnošću da brzo i tačno simuliraju celularni automat i kvalitetno reprezentuju rezultat. U okviru ovog poglavlja biće prikazini programi za simulaciju različitih celularnih automata. Ono što je bitno jeste da je za rad preuzetih programa neophodan .Net framework 4.0 koji možete preuzeti na zvaničnom sajtu Microsoft-a.