Cellular Automata Is Λ a Good Measure?
Total Page:16
File Type:pdf, Size:1020Kb
NAVY Research Group Department of Computer Science Faculty of Electrical Engineering and Computer Science VŠB-TUO 17. listopadu 15 708 33 Ostrava-Poruba Czech Republic! Basics of Modern Computer Science Cellular Automata An Introduction Ivan Zelinka MBCS CIPT, www.bcs.org/ http://www.springer.com/series/10624 Department of Computer Science Faculty of Electrical Engineering and Computer Science, VŠB-TUO 17. listopadu 15 , 708 33 Ostrava-Poruba Czech Republic www.ivanzelinka.eu Topics • Historical overview • Introduction • CA’s and its rules • Wolfram’s classes of CA • Langton’s λ-parameter • CA’s behavior • Patterns • New Kind of Science • CA’s in simulation and modelling 2! navy.cs.vsb.cz! Objectives The objectives of the lesson are: • Explain basics of CA’s • Show that CA’s produce different behavior and patterns • Explain rules of CA and its impact on its dynamics • Show that CA can be used as a pseudorandom number generator • Explain classification of CA’s by Wolfram’s classes 1 – 4 • Demonstrate use of CA’s in modeling and simulations 3! navy.cs.vsb.cz! Cellular Automata Introduction Simple rules can lead to complex behavior. 4! navy.cs.vsb.cz! Cellular Automata Introduction • 40's and 50s: von Neumann, Ulam: basic formalism (the study of self-reproduction) • 1970: The Conway: The Game of Life, an article in Scientific American (Gardner), it attracted big attention • 1983 Wolfram: A review of the CA, CA beginning of study in physics • 1984: Founding of Santa Fe Institute • 1987: The Langton: Artificial Life 5! navy.cs.vsb.cz! Cellular Automata Introduction • Application – Pattern formation – Growth and decay organisms – Earth Sciences – Chemistry – Physics – Social systems 6! navy.cs.vsb.cz! Cellular Automata Introduction • System modeling - from the bottom - individuals, local interactions (examples predator - prey population) • Agent based modeling (ABM) - agent-based modeling • WHY cellular automata (CA)? • Predecessor ABM: – Historically and technically simple but interesting – Several interesting models 7! navy.cs.vsb.cz! Cellular Automata Introduction • CA – Discreet space and time – Strictly local interactions • Classical mathematics – Continuous space and time – Solutions are global (cf PDE) 8! navy.cs.vsb.cz! Cellular Automata Introduction • Discreet area – the grid of all cells • Homogeneity - all the cells are identical • Discrete states - each cell can have only finite number of states • Local interactions - status of the cells used only on the state of the surrounding area • Discreet dynamic - state changes synchronized in a discrete way 9! navy.cs.vsb.cz! Cellular Automata Introduction lace of cells, with state 2 1 0 0 0 0 3 0 0 1 CA generaons 0 1 0 2 1 0 1 0 0 2 0 0 1 2 1 0 0 3 2 1 ... ... 0 0 2 3 2 0 1 2 3 2 2 0 1 3 2 1 0 0 3 1 neighbourhood of a cell t t + 1 0 0 0 1 0 2 transiPon 0 0 0 0 0 1 2 3 table ... ... 0 0 0 0 2 3 neighbourhood output 10! navy.cs.vsb.cz! Cellular Automata Introduction • Grid / lattice / array of Nd identical cells (usually a rectangular grid) • Identical behaviors and connection patterns – 1D,2D,3D,... – one-dimensional – two-dimensional: rectangular, hexagonal, multidimensional ... • each cell has a neighborhood – n cells: itself, + the adjoining cells it is connected to • for 1D CAs, n = 2r + 1, r = “radius” • for 2D CAs, n = (2r + 1)2, r = “box range” Moore von Neumann neighbourhood neighbourhood 11! navy.cs.vsb.cz! Cellular Automata Introduction • Strict requirements for transition functions receive special class CA: – Legal - maintaining the steady state + symmetry – Totalistic - transition function works only with the sum of the values from the environment – Outer-totalistic additive - determines the state of the cell and the sum of the other – Additive - linear function (modulo k) over the values from the environment 12! navy.cs.vsb.cz! UTB ve Zlín, FT, Institut ízení proces a aplikované informatiky 14 generaci. Z obrázku je již patrné, jak dostalo své jméno napíklad pravidlo 110, Wolframem oznaováno jako „rule 110 CA“. pravidlo 110.[4] 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 UTB ve Zlín, FT, Institut ízení proces a aplikované informatiky 14 Cellular Automata Introduction 0 1 1 0 1 1 1 0 = 110 generaci. Z obrázku je již patrné, jak dostalo své jméno napíklad pravidlo 110, [4] Wolframem oznaováno jako „rule Obr.110 CA“.2. Pravidlo pravidlo 110 110. Pravidla1 1 1 jednozna1 1 0n charakterizují1 0 1 1 0novou0 generaci0 1 1 bun0k,1 0definujíce0 0 ji1 na 0základ0 0 0 1 1 0 1 1 1 0 pedchozího stavu. Pi vytváení další generace dochází k prostému porovnávání aktuálního stavu buky a jejích soused s pravidly a pi shod se akceptuje stav pro konkrétní buku tak, jak pravidlo definuje. Je-li buka neaktivní a její oba sousedé jsou 0 1 1 0 1 1 1 0 = 110 aktivní, pak podle pravidla 110 bude buka v nové generaci aktivní. Obr. 2. Pravidlo 110 Zápis nkterých pravidel lze ješt zjednodušit, jako napíklad pravidlo 90 Pravidla jednoznan charakterizují novou generaci bunk, definujíce ji na základ 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 pedchozího stavu. Pi vytváení další generace dochází k prostému porovnávání 0 1 0 1 1 0 1 0 aktuálního stavu buky a jejích soused s pravidly a pi shod se akceptuje stav pro konkrétní buku tak, jak pravidlo definuje. Je-li buka neaktivní a její oba sousedé jsou aktivní, pak podle pravidla 110 bude buka v nové generaci aktivní. 0 1 0 1 1 0 1 0 = 90 Zápis nkterých pravidel lze ješt zjednodušit,Obr. 3. Pravidlo jako nap 90 íklad pravidlo 90 jež1 lze1 1vyjád1it pom1 0ocí rovnice1 0 1 a t1 1 0a t 0 a t 0mod1 12 , kde0 t1 zna0í itera0 0ní 1krok, 0 i-1,0 i+10 0 1 0 i 1 i1 i1 1 0 1 0 jsou sousedé buky a operátor modulo 2 koriguje13! rozsah opt do binárních hodnot. Tentonavy.cs.vsb.cz ! zápis vede k jednoduššímu výpotu a tedy urychlení iterací.[4] 0 1 0 1 1 0 1 0 = 90 Pi grafické interpretaci elementárních bunných automat se s oblibou využívá rozšíení do dvou-dimenzionálního prostoru,Obr. nebo 3. Pravidlolze takto 90 zachytit nkolik po sob jdoucích generací. t1 t t jež lze vyjádit pomocí rovnice ai ai1 ai1 mod 2 , kde t znaí iteraní krok, i-1, i+1 jsou sousedé buky a operátor modulo 2 koriguje rozsah opt do binárních hodnot. Tento zápis vede k jednoduššímu výpotu a tedy urychlení iterací.[4] Pi grafické interpretaci elementárních bunných automat se s oblibou využívá rozšíení do dvou-dimenzionálního prostoru, nebo lze takto zachytit nkolik po sob jdoucích generací. Cellular Automata UTB ve Zlín, FT, Institut ízení procesIntroduction a aplikované informatiky 15 0 0 0 1 1 1 1 0 = 30 0 1 0 1 1 0 1 0 = 90 ! Time 1 0 0 1 0 1 1 0 = 150 1 1 1 1 1 0 1 0 = 250 Obr. 4. Grafická implementace generací 2.1.2 Obecné jednorozmrné automaty14! navy.cs.vsb.cz! Mezi jedno-dimenzionální automaty ale nepatí pouze ty elementární. Je zejmé, že doposud uvažované parametry automatu jsou velmi limitující. Pi jejich rozšiování má smysl uvažovat jednak o zvýšení potu možných stav samotné buky, tak rozšíení okolí, které bude bráno v potaz pi vyhodnocování stavu v nové generaci. Takto bohatý prostor pro volbu parametr umožuje vytvoit nekonen velkou množinu jedno-dimenzionálních automat což ovšem klade nemalé požadavky na systém zápisu pravidel. Ze zápisu musí být patrné, jakého potu stav mže buka nabývat a jak velké je okolí, které hraje roli pi vyhodnocování.[9] Za pedpokladu, že okolí bude shodn velké na obou stranách je možná jednoznaná definice jedinou cifrou a celý systém zápisu pak mže vycházet z již známého konceptu užitého u elementárních automat. Napíklad konstrukce zápisu pravidla pro buku, za jejíž sousedy se považují všechny do vzdálenosti 1, buka má tedy 2 sousedy, jednoho vlevo a jednoho vpravo, mající ti možné stavy (0, 1, 2) bude následující. Cellular Automata (3) CellularCellular Automata Automata (3) Introduction •cell i at time t is in one of a finite set of k states si,t ∈Σ •cell i at time t is in one of a finite set of k states si,t ∈Σ –often binary, Σ = { 0, 1 }, k = 2 –often binary, Σ = { 0, 1 }, k = 2 • Cell i at time t is in one of a finite set of k states s ∈ Σ n –the state of i ’s neighbourhood at timei,tnt is η ∈Σ –the –st aOftente of binary,i ’s ne ighbourhoodΣ={0,1}, k=2 at time t is ηi,t ∈Σ i,t – The state of ith neighbourhood at time i is η ∈ Σn •• sstatetate transition transition rule rule i,t • State transition nrule – update rule φ : Σ →Σn – update– updaterule rule φφ: :Σ Σn→Σ →Σ n •for a k state, n neighbourhood CA, there are k k possible rules • For a k state, n neighbourhood CA, there are k k n possible rulesk n •f–torh ae rke state,are 256 differentn neighbourhood k = 2, r = 1 ( nCA,= 3) there1D CAs are k possible rules – There are 256 different k = 2, r = 1 (n = 3) 1D CAs –t• heexhaustivere are enumeratio 256 differentn is possible k = 2, r = 1 (n = 3) 1D CAs – Exhaustive enumeration2 9 512 is154 possible –there• areexhaustive 2 = 2 ~enumeratio 10 differentn is possiblek = 2 , r = 1 (n = 9) 2D CAs – There are 2 29 = 2512 ~ 10154 different k = 2 , r = 1 • of which “the Game9 of Life” is one! (n–t = h9)e r2De aCAsre of2 2which= 2 “the512 ~Game 10154 ofdifferent Life” is one! k = 2 , r = 1 (n = 9) 2D CAs • array of state transition machines • Array of state• o ftransition which “the machines Game of Life” is one! – each– timestep,Each timestep update, update state state of everyof every cell cell in in parallel: parallel: s(it ,1)+ = φ ()ηit, • array of state transition machines s Department– of Computereach Science timestep, updateNSC -- state CAs -- 5 of every cell in parallel: it,1+ = φ ()ηit, 15! navy.cs.vsb.cz! Department of Computer Science NSC -- CAs -- 5 Cellular Automata Falling off the edge of the world • Infinite grid – “grow” the grid as a pattern propagates • Finite grid – A hard boundary • edge cells with a fixed state (usually zero) – Periodic boundary conditions – calculate the index of the neighbours modulo N, size of grid • 1D ring • 2D ring • Equivalent to an infinite grid of repeating Nd tiles • Or weirder topologies, with a “twist”: Mobeuis bands, Klein bottles 0 1 2 3 4 = ..