Cellular Automata

2D Automata

Definition

  • Grid of cells
  • Each cell either dead or alive
  • Next timestep dependent on current one
  • Ruleset for Moore neighbourhood

Example

  • Rules S23/B3
    • Also known as Conway's game of life
  • Survival/Birth

Dynamic structures

Oscillators

  • Pattern repeats itself in loop
  • Pattern stays at position while looping

Spaceships

  • Pattern repeats itself in loop
  • Pattern moves while looping

Guns

  • Pattern is oscillator
  • Pattern creates spaceships

Puffer train

  • Pattern is spaceship
  • Pattern leaves behind debris

Rake

  • Pattern is puffer train
  • Pattern is gun
  • Debris is stream of spaceships

Breeder

  • Pattern is puffer train
  • Debris creates secondary pattern
  • Secondary pattern creates tertiary pattern

Combining Structures

Yo dawg I heard you like game of life

Game of life

  • Can simulate itself
  • Turing complete
  • Undecidable
  • Still ongoing research

And now for something completely different

25/012346







Different rules

Exploration

  • Manual search using own tool
  • Randomize rules
    pyceau -r 18+18
  • Refine via breadth-first search
pyceau -r 0/2 -p .3









pyceau -r 56/257 -p .01









pyceau -r 4567/567 -p .4









pyceau -r 1234/4 -p .3









pyceau -r 03456/012346 -p .98 -k 2









pyceau -r 34568/5678 -p .0005









pyceau -r 2/014 -p .34 -k 2









Alternating rules

Operating principle

  • No more single ruleset
  • List of rulesets
    pyceau -r 12/134,7/4
  • Each tick sets new rule
pyceau -r 12/134,7/4 -p .29









pyceau -m 1 -r 1467/1,1345/0123456,012345/24567









pyceau -r 2346/5,04/27









pyceau -r 2/7,06/124567 -p .01 -k 2









pyceau -r 123/2,146/45 -m 1 -b $b









pyceau -r 3/127,56/56









pyceau -p .004 -k 2 ‑r 1/157,056/01









Repeated rules

Operating principle

  • Allow repetitions of rulesets
    pyceau -r 8x0/01,14x0123457/23
  • Expand to list of rulesets
  • Interpret as before
pyceau -r 2x257/7,2x56/1 -p .3









pyceau -p .9 -m 1 ‑r 8x0/01,14x0123457/23









pyceau -p .002 -r 3x34568/5678,7x4567/567,5x1245/1234567,7x4567/567









pyceau -b 1 -k 2 ‑r 23x124/17,16/4









Post processing

pyceau -r 012346/0123678 -k 2
pyceau -r 012346/0123678 -k 2 --post-ticks 4
--post-rules 0123456/2357,
0123457/23467,
05/0,013456/5









Conclusion

Conclusion

  • Cellular automata show emergent behaviour
  • Behaviour highly dependent on rulesets
  • Dynamic structures form
    • Given loose/tight conditions
  • Reproduction is information theoretic property
    • Proof of existence by von Neumann
  • Maths allows unveiling beauty

Outlook

  • Use NumPy
    • Increased performance
    • Better extensibility
  • Compute metrics on system properties
    • Lyapunov exponents
    • Entropy
  • Add colors
    • Unclear paradigm

Media sources

In order of appearance
  1. WP – Gun (cellular automaton)
  2. WP – Puffer train
  3. WP – Rake (cellular automaton)
  4. WP – Breeder
  5. YT – Life in Infinite Recursion by Grzegorz Hasse

Watch slides online

https://flx.ai/talks

Play around

           $ pip install pyceau
           $ pyceau -r 18+18
          

Thanks for
your attention


Questions?