179
 Cellular Automata

Cellular Automata.pdf

Embed Size (px)

Citation preview

  • Cellular Automata

  • Contents

    1 Overview 11.1 Cellular image processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.3 Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.4 Elementary cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.5 Rule space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.6 Biology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.7 Chemical types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.8 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.9 Modeling physical reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1.10 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.11 Reference notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.1.13 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.2 Reversible cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2.2 Constructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.3 Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.2.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.3 Second-order cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    1.4 Asynchronous cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.4.1 Update Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.4.2 Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.4.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    1.5 Block cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.5.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.5.2 Neighborhoods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.5.3 Reversibility and conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    i

  • ii CONTENTS

    1.5.4 Simulation by conventional cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . 261.5.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.5.6 Additional rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.5.7 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.5.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271.5.9 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    1.6 Continuous automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.6.1 Reference notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    1.7 Continuous spatial automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.7.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.7.2 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.8 Mobile automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.8.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.9 Network automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.10 Von Neumann neighborhood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.10.1 von Neumann neighborhood of range r . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.10.2 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.10.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.10.4 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    1.11 Moore neighborhood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.11.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.11.2 Termination Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.11.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.11.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.11.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2 Elementary cellular automata 322.1 Elementary cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.1.1 The numbering system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.2 Reections and complements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.3 Single 1 histories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.4 Random initial state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.1.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.1.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    2.2 Wolfram code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.2.1 Generalized cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.2.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    2.3 Rule 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.3.1 Rule set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.3.2 Structure and properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.3.3 Chaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.3.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

  • CONTENTS iii

    2.3.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.3.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    2.4 Rule 90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.4.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.4.2 Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.4.3 Additivity, superposition, and decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 402.4.4 Stunted trees and triangular clearings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.4.5 Sierpiski triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.4.6 Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.4.7 Predecessors and Gardens of Eden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.4.8 Emulation by other systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.4.9 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.4.10 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.4.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    2.5 Rule 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5.3 Interesting properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5.4 The proof of universality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.5.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.5.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.5.7 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.5.8 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    2.6 Rule 184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.6.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.6.2 Dynamics and majority classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.6.3 Trac ow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.6.4 Surface deposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.6.5 Ballistic annihilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.6.6 Context free parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.6.7 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.6.8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.6.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502.6.10 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    3 Conways Game of Life 523.1 Conways Game of Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    3.1.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.1.2 Origins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.1.3 Examples of patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.1.4 Self-replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.1.5 Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

  • iv CONTENTS

    3.1.6 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.1.7 Variations on Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.1.8 Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.9 Notable Life programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.10 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.12 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.2 Speed of light (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.2.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.2.2 Lightspeed propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.2.3 Faster than light propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.2.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.3 Methuselah (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.3.1 In Conways Game of Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.3.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.3.3 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    3.4 Breeder (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4.1 Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    3.5 Spaceller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.5.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    3.6 Glider (Conways Life) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.1 Importance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.2 Hacker emblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.6.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.6.4 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    3.7 Gun (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.7.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    3.8 Still life (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.8.1 Pseudo still lifes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.8.2 In Conways Game of Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.8.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    3.9 Oscillator (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.9.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.9.2 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    3.10 Puer train (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.10.1 In Conways Game of Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.10.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

    3.11 Rake (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.11.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    3.12 Spaceship (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

  • CONTENTS v

    3.12.1 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.13 Reector (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    3.13.1 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.14 Sawtooth (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    3.14.1 Expansion factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.14.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.14.3 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    3.15 Spark (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.15.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.15.2 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    4 Life-like cellular automaton 684.1 Life-like cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

    4.1.1 Notation for rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1.2 A selection of Life-like rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.1.3 Generalizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.1.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    4.2 Day & Night . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.1 Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.2 Film and TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.3 Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.4 Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    4.3 HighLife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.3.1 Artists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.3.2 Highlife in jazz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.3.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    4.4 Life without Death . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.4.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.2 Shoots and ladders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.3 Simulation of circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.4 Innite growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    4.5 Seeds (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.5.1 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.5.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.5.3 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    4.6 Brians Brain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.6.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    4.7 3D Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

  • vi CONTENTS

    4.7.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.7.2 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    5 Other cellular automata 775.1 Von Neumann universal constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    5.1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.1.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.1.3 Practicality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.1.4 Animation gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.1.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.1.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.1.7 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    5.2 Von Neumann cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.2.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.2.2 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2.4 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    5.3 Nobili cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.3.1 Signal crossing in vNCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.3.2 Signal crossing in NCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.3.3 Memory storage in vNCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.3.4 Memory storage in NCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.3.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    5.4 Codds cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.4.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.4.2 Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.4.3 Universal computer-constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.4.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.4.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.4.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    5.5 Wa-Tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.5.1 The evolution of Wa-Tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.5.2 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.5.3 Possible Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.5.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.5.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.5.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.5.7 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    5.6 Langtons loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.6.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.6.2 Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.6.3 Comparison of related CA loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

  • CONTENTS vii

    5.6.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.6.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.6.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    5.7 Byls loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.7.1 Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.7.2 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.7.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.7.4 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.7.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    5.8 Langtons ant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.8.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.8.2 Modes of behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8.3 Universality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8.4 Extension to multiple colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8.5 Extension to multiple states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8.6 Extension to multiple ants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.8.7 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.8.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.8.9 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    5.9 Turmite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.9.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.9.2 Relative vs. absolute turmites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.9.3 Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.9.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.9.5 Turmites and the Busy Beaver game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.9.6 Other grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.9.7 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.9.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.9.9 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    5.10 Cyclic cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.10.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.10.2 One dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.10.3 Two or more dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.10.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.10.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

    5.11 Wireworld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.11.1 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.11.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.11.3 Computer programs featuring Wireworld . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.11.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.11.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

  • viii CONTENTS

    5.11.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    6 Theory 986.1 CurtisHedlundLyndon theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    6.1.1 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.1.2 Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.1.3 Counterexample for innite alphabets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.1.4 Application to reversible cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . 996.1.5 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.1.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    6.2 Garden of Eden (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2.1 Searching for the Garden of Eden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2.2 The Garden of Eden theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.2.3 In ction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.2.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.2.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.2.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    6.3 Firing squad synchronization problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.1 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.2 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.3.3 Generalizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.3.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.3.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

    6.4 Majority problem (cellular automaton) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.1 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.2 Approximate solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.3 Impossibility of a perfect classier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4.4 Exact solution with alternative termination conditions . . . . . . . . . . . . . . . . . . . . 1056.4.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    7 Applications 1077.1 A New Kind of Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    7.1.1 Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.1.2 NKS Summer School . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.1.3 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097.1.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117.1.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117.1.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    7.2 Calculating Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.2.1 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.2.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.2.3 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

  • CONTENTS ix

    7.3 Quantum cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.3.1 Usage of the term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.3.2 Models of QCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137.3.3 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.3.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    7.4 Quantum dot cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.4.2 Cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.4.3 Quantum-dot cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.4.4 Grid arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.4.5 Logic gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.4.6 State transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167.4.7 Wire-crossing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167.4.8 Parallel to Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.4.9 Fabrication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187.4.10 Improvement over CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187.4.11 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197.4.12 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    7.5 Lattice gas automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.5.1 Basic principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.5.2 Early attempts with a square lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.5.3 Hexagonal grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5.4 Three dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5.5 Obtaining macroscopic quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5.6 Advantages and disadvantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.5.9 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

    7.6 Excitable medium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.6.1 Modelling excitable media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.6.2 Geometries of waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.6.3 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.6.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.6.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.6.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

    7.7 Movable cellular automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.7.1 Keystone of the movable cellular automaton method . . . . . . . . . . . . . . . . . . . . . 1237.7.2 New concept: neighbours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.7.3 Denition of the parameter of pair state . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247.7.4 Criterion of switching of the state of pair relationships . . . . . . . . . . . . . . . . . . . . 1247.7.5 Equations of MCA motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

  • x CONTENTS

    7.7.6 Denition of deformation in pair of automata . . . . . . . . . . . . . . . . . . . . . . . . 1257.7.7 Modeling of irreversible deformation in the MCA method . . . . . . . . . . . . . . . . . . 1257.7.8 Advantages of MCA method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.7.9 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.7.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.7.11 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

    7.8 BakTangWiesenfeld sandpile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277.8.1 Denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277.8.2 Self-organized criticality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287.8.3 Cultural references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287.8.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287.8.5 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

    7.9 Patersons worms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.9.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.9.2 Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.9.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.9.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.9.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.9.6 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

    7.10 Biham-Middleton-Levine trac model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.10.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.10.2 Lattice space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.10.3 Phase transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.10.4 Rigorous analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327.10.5 Non-orientable surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327.10.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327.10.7 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

    7.11 Sugarscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.11.1 Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.11.2 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.11.3 Model implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337.11.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347.11.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

    7.12 Cellular image processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347.12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357.12.2 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367.12.3 Classication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377.12.4 Elementary cellular automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1397.12.5 Rule space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407.12.6 Biology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407.12.7 Chemical types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

  • CONTENTS xi

    7.12.8 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1407.12.9 Modeling physical reality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417.12.10 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1417.12.11 Reference notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427.12.12 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447.12.13 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

    8 Implementations 1468.1 Hashlife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

    8.1.1 Hashlife . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1468.1.2 Drawbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.1.3 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.1.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

    8.2 Mireks Cellebration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.2.1 Features[3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.2.2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.2.3 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

    8.3 Fractint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.3.1 Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.3.3 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.3.4 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.3.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.3.6 Further reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.3.7 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    8.4 Life Genesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.4.1 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

    8.5 MASON (Java) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.5.1 Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.5.2 Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.5.3 See also . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.5.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1498.5.5 External links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    8.6 Video Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508.6.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    8.7 Worms? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508.7.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508.7.2 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1508.7.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

    8.8 Cam-6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518.8.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

  • xii CONTENTS

    9 Text and image sources, contributors, and licenses 1529.1 Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.2 Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1579.3 Content license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

  • Chapter 1

    Overview

    1.1 Cellular image processing

    Gospers Glider Gun creating "gliders" in the cellular automatonConways Game of Life[1]

    A cellular automaton (pl. cellular automata, abbrev.CA) is a discrete model studied in computability theory,mathematics, physics, complexity science, theoretical bi-ology and microstructure modeling. Cellular automataare also called cellular spaces, tessellation automata,homogeneous structures, cellular structures, tessel-lation structures, and iterative arrays.[2]

    A cellular automaton consists of a regular grid of cells,each in one of a nite number of states, such as on ando (in contrast to a coupled map lattice). The grid canbe in any nite number of dimensions. For each cell, aset of cells called its neighborhood is dened relative tothe specied cell. An initial state (time t = 0) is selectedby assigning a state for each cell. A new generation iscreated (advancing t by 1), according to some xed rule(generally, a mathematical function) that determines thenew state of each cell in terms of the current state of thecell and the states of the cells in its neighborhood. Typ-ically, the rule for updating the state of cells is the samefor each cell and does not change over time, and is ap-plied to the whole grid simultaneously, though exceptionsare known, such as the stochastic cellular automaton andasynchronous cellular automaton.The concept was originally discovered in the 1940sby Stanislaw Ulam and John von Neumann while they

    were contemporaries at Los Alamos National Labora-tory. While studied by some throughout the 1950s and1960s, it was not until the 1970s and Conways Gameof Life, a two-dimensional cellular automaton, that in-terest in the subject expanded beyond academia. Inthe 1980s, Stephen Wolfram engaged in a systematicstudy of one-dimensional cellular automata, or what hecalls elementary cellular automata; his research assistantMatthew Cook showed that one of these rules is Turing-complete. Wolfram published A New Kind of Science in2002, claiming that cellular automata have applicationsin many elds of science. These include computer pro-cessors and cryptography.The primary classications of cellular automata as out-lined by Wolfram are numbered one to four. They are,in order, automata in which patterns generally stabilizeinto homogeneity, automata in which patterns evolve intomostly stable or oscillating structures, automata in whichpatterns evolve in a seemingly chaotic fashion, and au-tomata in which patterns become extremely complex andmay last for a long time, with stable local structures. Thislast class are thought to be computationally universal, orcapable of simulating a Turing machine. Special types ofcellular automata are those which are reversible, in whichonly a single conguration leads directly to a subsequentone, and totalistic, in which the future value of individualcells depend on the total value of a group of neighboringcells. Cellular automata can simulate a variety of real-world systems, including biological and chemical ones.

    1.1.1 Overview

    One way to simulate a two-dimensional cellular automa-ton is with an innite sheet of graph paper along witha set of rules for the cells to follow. Each square iscalled a cell and each cell has two possible states, blackand white. The neighborhood of a cell is the nearby,usually adjacent, cells. The two most common typesof neighborhoods are the von Neumann neighborhoodand the Moore neighborhood.[3] The former, named af-ter the founding cellular automaton theorist, consists ofthe four orthogonally adjacent cells.[3] The latter includesthe von Neumann neighborhood as well as the four re-maining cells surrounding the cell whose state is to be

    1

  • 2 CHAPTER 1. OVERVIEW

    The red cells are the Moore neighborhood for the blue cell.

    The red cells are the von Neumann neighborhood for the bluecell, while the extended neighborhood includes the pink cells aswell.

    calculated.[3] For such a cell and its Moore neighborhood,there are 512 (= 29) possible patterns. For each of the 512possible patterns, the rule table would state whether thecenter cell will be black or white on the next time inter-val. Conways Game of Life is a popular version of thismodel. Another common neighborhood type is the ex-tended von Neumann neighborhood, which includes thetwo closest cells in each orthogonal direction, for a to-tal of eight.[3] The general equation for such a system ofrules is kks , where k is the number of possible states for acell, and s is the number of neighboring cells (includingthe cell to be calculated itself) used to determine the cellsnext state.[4] Thus, in the two dimensional system with aMoore neighborhood, the total number of automata pos-sible would be 229 , or 1.3410154.

    It is usually assumed that every cell in the universe startsin the same state, except for a nite number of cells inother states; the assignment of state values is called aconguration.[5] More generally, it is sometimes assumedthat the universe starts out covered with a periodic pat-tern, and only a nite number of cells violate that pattern.The latter assumption is common in one-dimensional cel-lular automata.

    A torus, a toroidal shape

    Cellular automata are often simulated on a nite gridrather than an innite one. In two dimensions, the uni-verse would be a rectangle instead of an innite plane.The obvious problem with nite grids is how to handle thecells on the edges. How they are handled will aect thevalues of all the cells in the grid. One possible method isto allow the values in those cells to remain constant. An-other method is to dene neighborhoods dierently forthese cells. One could say that they have fewer neighbors,but then one would also have to dene new rules for thecells located on the edges. These cells are usually handledwith a toroidal arrangement: when one goes o the top,one comes in at the corresponding position on the bottom,and when one goes o the left, one comes in on the right.(This essentially simulates an innite periodic tiling, andin the eld of partial dierential equations is sometimesreferred to as periodic boundary conditions.) This can bevisualized as taping the left and right edges of the rectan-gle to form a tube, then taping the top and bottom edgesof the tube to form a torus (doughnut shape). Universesof other dimensions are handled similarly. This is donein order to solve boundary problems with neighborhoods,but another advantage of this system is that it is easilyprogrammable using modular arithmetic functions. Forexample, in a 1-dimensional cellular automaton like theexamples below, the neighborhood of a cell xit is {xit1,xit1, xit1}, where t is the time step (vertical), and i isthe index (horizontal) in one generation.

    1.1.2 History

    Stanislaw Ulam, while working at the Los Alamos Na-tional Laboratory in the 1940s, studied the growth ofcrystals, using a simple lattice network as his model.[6]

  • 1.1. CELLULAR IMAGE PROCESSING 3

    John von Neumann, Los Alamos ID badge

    At the same time, John von Neumann, Ulams colleagueat Los Alamos, was working on the problem of self-replicating systems.[7] Von Neumanns initial design wasfounded upon the notion of one robot building anotherrobot. This design is known as the kinematic model.[8][9]As he developed this design, von Neumann came to real-ize the great diculty of building a self-replicating robot,and of the great cost in providing the robot with a sea ofparts from which to build its replicant. Neumann reada paper entitled The general and logical theory of au-tomata at the Hixon Symposium in 1948.[7] Ulam wasthe one who suggested using a discrete system for creatinga reductionist model of self-replication.[10][11] Nils AallBarricelli performed many of the earliest explorations ofthese models of articial life.Ulam and von Neumann created a method for calculat-ing liquid motion in the late 1950s. The driving conceptof the method was to consider a liquid as a group of dis-crete units and calculate the motion of each based on itsneighbors behaviors.[12] Thus was born the rst system ofcellular automata. Like Ulams lattice network, von Neu-manns cellular automata are two-dimensional, with hisself-replicator implemented algorithmically. The resultwas a universal copier and constructor working within acellular automaton with a small neighborhood (only thosecells that touch are neighbors; for von Neumanns cellu-lar automata, only orthogonal cells), and with 29 states percell.[13] Von Neumann gave an existence proof that a par-ticular pattern would make endless copies of itself withinthe given cellular universe by designing a 200,000 cellconguration that could do so.[13] This design is knownas the tessellation model, and is called a von Neumannuniversal constructor.[14]

    Also in the 1940s, Norbert Wiener and Arturo Rosen-blueth developed a model of excitable media with some

    of the characteristics of a cellular automaton.[15] Theirspecic motivation was the mathematical description ofimpulse conduction in cardiac systems. However theirmodel is not a cellular automaton because the mediumin which signals propagate is continuous, and wave frontsare curves.[15][16] A true cellular automaton model of ex-citable media was developed and studied by J. M. Green-berg and S. P. Hastings in 1978; see Greenberg-Hastingscellular automaton. The original work of Wiener andRosenblueth contains many insights and continues to becited in modern research publications on cardiac arrhyth-mia and excitable systems.[17]

    In the 1960s, cellular automata were studied as a particu-lar type of dynamical system and the connection with themathematical eld of symbolic dynamics was establishedfor the rst time. In 1969, Gustav A. Hedlund compiledmany results following this point of view[18] in what is stillconsidered as a seminal paper for the mathematical studyof cellular automata. The most fundamental result is thecharacterization in the CurtisHedlundLyndon theoremof the set of global rules of cellular automata as the set ofcontinuous endomorphisms of shift spaces.In 1969, German computer pioneer Konrad Zuse pub-lished his book Calculating Space, proposing that thephysical laws of the universe are discrete by nature, andthat the entire universe is the output of a deterministiccomputation on a single cellular automaton; Zuses The-ory became the foundation of the eld of study calleddigital physics.[19]

    In the 1970s a two-state, two-dimensional cellular au-tomaton named Game of Life became widely known,particularly among the early computing community. In-vented by John Conway and popularized by Martin Gard-ner in a Scientic American article,[20] its rules are as fol-lows: If a cell has two black neighbors, it stays the same.If it has three black neighbors, it becomes black. In allother situations it becomes white. Despite its simplicity,the system achieves an impressive diversity of behavior,uctuating between apparent randomness and order. Oneof the most apparent features of the Game of Life is thefrequent occurrence of gliders, arrangements of cells thatessentially move themselves across the grid. It is pos-sible to arrange the automaton so that the gliders inter-act to perform computations, and after much eort it hasbeen shown that the Game of Life can emulate a universalTuring machine.[21] It was viewed as a largely recreationaltopic, and little follow-up work was done outside of inves-tigating the particularities of the Game of Life and a fewrelated rules in the early 1970s.[22]

    Stephen Wolfram independently began working on cellu-lar automata in mid 1981 after considering how complexpatterns seemed to be formed in nature in violation of theSecond Law of Thermodynamics.[23] His investigationswere initially spurred by an interest in modelling systemssuch as neural networks.[23] He published his rst paper inReviews of Modern Physics investigating elementary cel-

  • 4 CHAPTER 1. OVERVIEW

    lular automata (Rule 30 in particular) in June 1983.[2][23]The unexpected complexity of the behavior of these sim-ple rules led Wolfram to suspect that complexity in na-ture may be due to similar mechanisms.[23] His investiga-tions, however, led him to realize that cellular automatawere poor at modelling neural networks.[23] Addition-ally, during this period Wolfram formulated the conceptsof intrinsic randomness and computational irreducibil-ity,[24] and suggested that rule 110 may be universalafact proved later by Wolframs research assistant MatthewCook in the 1990s.[25]

    In 2002 Wolfram published a 1280-page text A NewKind of Science, which extensively argues that the dis-coveries about cellular automata are not isolated factsbut are robust and have signicance for all disciplines ofscience.[26] Despite confusion in the press,[27][28] the bookdid not argue for a fundamental theory of physics basedon cellular automata,[29] and although it did describe a fewspecic physical models based on cellular automata,[30] italso provided models based on qualitatively dierent ab-stract systems.[31]

    1.1.3 ClassicationWolfram, in A New Kind of Science and several pa-pers dating from the mid-1980s, dened four classes intowhich cellular automata and several other simple com-putational models can be divided depending on their be-havior. While earlier studies in cellular automata tendedto try to identify type of patterns for specic rules, Wol-frams classication was the rst attempt to classify therules themselves. In order of complexity the classes are:

    Class 1: Nearly all initial patterns evolve quickly intoa stable, homogeneous state. Any randomness in theinitial pattern disappears.[32]

    Class 2: Nearly all initial patterns evolve quickly intostable or oscillating structures. Some of the random-ness in the initial pattern may lter out, but someremains. Local changes to the initial pattern tend toremain local.[32]

    Class 3: Nearly all initial patterns evolve in apseudo-random or chaotic manner. Any stablestructures that appear are quickly destroyed by thesurrounding noise. Local changes to the initial pat-tern tend to spread indenitely.[32]

    Class 4: Nearly all initial patterns evolve into struc-tures that interact in complex and interesting ways,with the formation of local structures that are able tosurvive for long periods of time.[33] Class 2 type sta-ble or oscillating structures may be the eventual out-come, but the number of steps required to reach thisstate may be very large, even when the initial patternis relatively simple. Local changes to the initial pat-tern may spread indenitely. Wolfram has conjec-tured that many, if not all class 4 cellular automata

    are capable of universal computation. This has beenproven for Rule 110 and Conways game of Life.

    These denitions are qualitative in nature and there issome room for interpretation. According to Wolfram,"...with almost any general classication scheme thereare inevitably cases which get assigned to one class byone denition and another class by another denition.And so it is with cellular automata: there are occasion-ally rules...that show some features of one class and someof another.[34] Wolframs classication has been empir-ically matched to a clustering of the compressed lengthsof the outputs of cellular automata.[35]

    There have been several attempts to classify cellular au-tomata in formally rigorous classes, inspired by the Wol-frams classication. For instance, Culik and Yu pro-posed three well-dened classes (and a fourth one forthe automata not matching any of these), which aresometimes called Culik-Yu classes; membership in theseproved to be undecidable.[36][37][38] Wolframs class 2 canbe partitioned into two subgroups of stable (xed-point)and oscillating (periodic) rules.[39]

    Reversible

    Main article: Reversible cellular automaton

    A cellular automaton is said to be reversible if for ev-ery current conguration of the cellular automaton thereis exactly one past conguration (preimage).[40] If onethinks of a cellular automaton as a function mappingcongurations to congurations, reversibility implies thatthis function is bijective.[40] If a cellular automaton is re-versible, its time-reversed behavior can also be describedas a cellular automaton; this fact is a consequence of theCurtisHedlundLyndon theorem, a topological char-acterization of cellular automata.[41][42] For cellular au-tomata in which not every conguration has a preimage,the congurations without preimages are called Gardenof Eden patterns.[43]

    For one-dimensional cellular automata there are knownalgorithms for deciding whether a rule is reversible orirreversible.[44][45] However, for cellular automata of twoor more dimensions reversibility is undecidable; that is,there is no algorithm that takes as input an automaton ruleand is guaranteed to determine correctly whether the au-tomaton is reversible. The proof by Jarkko Kari is relatedto the tiling problem by Wang tiles.[46]

    Reversible cellular automata are often used to simulatesuch physical phenomena as gas and uid dynamics, sincethey obey the laws of thermodynamics. Such cellular au-tomata have rules specially constructed to be reversible.Such systems have been studied by Tommaso Tooli,Norman Margolus and others. Several techniques can beused to explicitly construct reversible cellular automatawith known inverses. Two common ones are the second

  • 1.1. CELLULAR IMAGE PROCESSING 5

    order cellular automaton and the block cellular automa-ton, both of which involve modifying the denition of acellular automaton in some way. Although such automatado not strictly satisfy the denition given above, it canbe shown that they can be emulated by conventional cel-lular automata with suciently large neighborhoods andnumbers of states, and can therefore be considered a sub-set of conventional cellular automata. Conversely, it hasbeen shown that every reversible cellular automaton canbe emulated by a block cellular automaton.[47][48]

    Totalistic

    A special class of cellular automata are totalistic cellularautomata. The state of each cell in a totalistic cellularautomaton is represented by a number (usually an integervalue drawn from a nite set), and the value of a cell attime t depends only on the sum of the values of the cells inits neighborhood (possibly including the cell itself) at timet 1.[49][50] If the state of the cell at time t does dependon its own state at time t 1 then the cellular automatonis properly called outer totalistic.[50] Conways Game ofLife is an example of an outer totalistic cellular automatonwith cell values 0 and 1; outer totalistic cellular automatawith the same Moore neighborhood structure as Life aresometimes called life-like cellular automata.[51][52]

    Related automata

    There are many possible generalizations of the cellularautomaton concept.

    A cellular automaton based on hexagonal cells instead of squares(rule 34/2)

    One way is by using something other than a rectangular(cubic, etc.) grid. For example, if a plane is tiled withregular hexagons, those hexagons could be used as cells.In many cases the resulting cellular automata are equiv-alent to those with rectangular grids with specially de-signed neighborhoods and rules. Another variation would

    be to make the grid itself irregular, such as with Penrosetiles.[53]

    Also, rules can be probabilistic rather than deterministic.Such cellular automata are called probabilistic cellular au-tomata. A probabilistic rule gives, for each pattern at timet, the probabilities that the central cell will transition toeach possible state at time t + 1. Sometimes a simplerrule is used; for example: The rule is the Game of Life,but on each time step there is a 0.001% probability thateach cell will transition to the opposite color.The neighborhood or rules could change over time orspace. For example, initially the new state of a cell couldbe determined by the horizontally adjacent cells, but forthe next generation the vertical cells would be used.In cellular automata, the new state of a cell is not aectedby the new state of other cells. This could be changed sothat, for instance, a 2 by 2 block of cells can be deter-mined by itself and the cells adjacent to itself.There are continuous automata. These are like totalisticcellular automata, but instead of the rule and states be-ing discrete (e.g. a table, using states {0,1,2}), continu-ous functions are used, and the states become continuous(usually values in [0,1]). The state of a location is a nitenumber of real numbers. Certain cellular automata canyield diusion in liquid patterns in this way.Continuous spatial automata have a continuum of loca-tions. The state of a location is a nite number of realnumbers. Time is also continuous, and the state evolvesaccording to dierential equations. One important exam-ple is reaction-diusion textures, dierential equationsproposed by Alan Turing to explain how chemical re-actions could create the stripes on zebras and spots onleopards.[54] When these are approximated by cellular au-tomata, they often yield similar patterns. MacLennanconsiders continuous spatial automata as a model of com-putation.There are known examples of continuous spatial au-tomata which exhibit propagating phenomena analogousto gliders in the Game of Life.[55]

    1.1.4 Elementary cellular automata

    Main article: Elementary cellular automaton

    The simplest nontrivial cellular automaton would be one-dimensional, with two possible states per cell, and a cellsneighbors dened to be the adjacent cells on either sideof it. A cell and its two neighbors form a neighborhood of3 cells, so there are 23 = 8 possible patterns for a neigh-borhood. A rule consists of deciding, for each pattern,whether the cell will be a 1 or a 0 in the next generation.There are then 28 = 256 possible rules.[4] These 256 cel-lular automata are generally referred to by their Wolframcode, a standard naming convention invented by Wolfram

  • 6 CHAPTER 1. OVERVIEW

    that gives each rule a number from 0 to 255. A numberof papers have analyzed and compared these 256 cellu-lar automata. The rule 30 and rule 110 cellular automataare particularly interesting. The images below show thehistory of each when the starting conguration consistsof a 1 (at the top of each image) surrounded by 0s. Eachrow of pixels represents a generation in the history of theautomaton, with t=0 being the top row. Each pixel is col-ored white for 0 and black for 1.

    Rule 30

    Rule 30 cellular automaton

    Rule 110

    Rule 110 cellular automatonRule 30 exhibits class 3 behavior, meaning even simpleinput patterns such as that shown lead to chaotic, seem-ingly random histories.Rule 110, like the Game of Life, exhibits what Wolframcalls class 4 behavior, which is neither completely randomnor completely repetitive. Localized structures appearand interact in various complicated-looking ways. In thecourse of the development of A New Kind of Science, asa research assistant to Wolfram in 1994, Matthew Cookproved that some of these structures were rich enoughto support universality. This result is interesting becauserule 110 is an extremely simple one-dimensional system,and one which is dicult to engineer to perform specic

    behavior. This result therefore provides signicant sup-port for Wolframs view that class 4 systems are inher-ently likely to be universal. Cook presented his proofat a Santa Fe Institute conference on Cellular Automatain 1998, but Wolfram blocked the proof from being in-cluded in the conference proceedings, as Wolfram did notwant the proof to be announced before the publication ofA New Kind of Science.[56] In 2004, Cooks proof wasnally published in Wolframs journal Complex Systems(Vol. 15, No. 1), over ten years after Cook came up withit. Rule 110 has been the basis over which some of thesmallest universal Turing machines have been built.[57]

    1.1.5 Rule space

    An elementary cellular automaton rule is specied by 8bits, and all elementary cellular automaton rules can beconsidered to sit on the vertices of the 8-dimensional unithypercube. This unit hypercube is the cellular automatonrule space. For next-nearest-neighbor cellular automata,a rule is specied by 25 = 32 bits, and the cellular au-tomaton rule space is a 32-dimensional unit hypercube. Adistance between two rules can be dened by the numberof steps required to move from one vertex, which repre-sents the rst rule, and another vertex, representing an-other rule, along the edge of the hypercube. This rule-to-rule distance is also called the Hamming distance.Cellular automaton rule space allows us to ask the ques-tion concerning whether rules with similar dynamical be-havior are close to each. Graphically drawing a highdimensional hypercube on the 2-dimensional plane re-mains a dicult task, and one crude locator of a rule inthe hypercube is the number of bit-1 in the 8-bit stringfor elementary rules (or 32-bit string for the next-nearest-neighbor rules). Drawing the rules in dierent Wolframclasses in these slices of the rule space show that class 1rules tend to have lower number of bit-1s, thus locatedin one region of the space, whereas class 3 rules tend tohave higher proportion (50%) of bit-1s.[39]

    For larger cellular automaton rule space, it is shown thatclass 4 rules are located between the class 1 and class 3rules.[58] This observation is the foundation for the phraseedge of chaos, and is reminiscent of the phase transitionin thermodynamics.

    1.1.6 Biology

    Some biological processes occuror can be simulatedby cellular automata.Patterns of some seashells, like the ones in Conus andCymbiola genus, are generated by natural cellular au-tomata. The pigment cells reside in a narrow band alongthe shells lip. Each cell secretes pigments according tothe activating and inhibiting activity of its neighbor pig-ment cells, obeying a natural version of a mathematical

  • 1.1. CELLULAR IMAGE PROCESSING 7

    Conus textile exhibits a cellular automaton pattern on its shell.[59]

    rule.[59] The cell band leaves the colored pattern on theshell as it grows slowly. For example, the widespreadspecies Conus textile bears a pattern resembling Wol-frams rule 30 cellular automaton.[59]

    Plants regulate their intake and loss of gases via a cellularautomaton mechanism. Each stoma on the leaf acts as acell.[60]

    Moving wave patterns on the skin of cephalopods can besimulated with a two-state, two-dimensional cellular au-tomata, each state corresponding to either an expandedor retracted chromatophore.[61]

    Threshold automata have been invented to simulateneurons, and complex behaviors such as recognition andlearning can be simulated.[62]

    Fibroblasts bear similarities to cellular automata, as eachbroblast only interacts with its neighbors.[63]

    1.1.7 Chemical types

    The BelousovZhabotinsky reaction is a spatio-temporalchemical oscillator which can be simulated by means ofa cellular automaton. In the 1950s A. M. Zhabotinsky(extending the work of B. P. Belousov) discovered thatwhen a thin, homogenous layer of a mixture of malonicacid, acidied bromate, and a ceric salt were mixed to-gether and left undisturbed, fascinating geometric pat-terns such as concentric circles and spirals propagateacross the medium. In the Computer Recreations sec-tion of the August 1988 issue of Scientic American,[64]A. K. Dewdney discussed a cellular automaton[65] whichwas developed by Martin Gerhardt and Heike Schusterof the University of Bielefeld (West Germany). This au-tomaton produces wave patterns resembling those in theBelousov-Zhabotinsky reaction.

    1.1.8 Applications

    Computer processors

    Cellular automaton processors are physical implemen-tations of CA concepts, which can process informationcomputationally. Processing elements are arranged in aregular grid of identical cells. The grid is usually a squaretiling, or tessellation, of two or three dimensions; othertilings are possible, but not yet used. Cell states are deter-mined only by interactions with adjacent neighbor cells.No means exists to communicate directly with cells far-ther away.[66] One such cellular automaton processor ar-ray conguration is the systolic array. Cell interaction canbe via electric charge, magnetism, vibration (phonons atquantum scales), or any other physically useful means.This can be done in several ways so no wires are neededbetween any elements. This is very unlike processorsused in most computers today, von Neumann designs,which are divided into sections with elements that cancommunicate with distant elements over wires.

    Cryptography

    Rule 30 was originally suggested as a possible Block ci-pher for use in cryptography. Two dimensional cellularautomata are used for random number generation.[67]

    Cellular automata have been proposed for public keycryptography. The one-way function is the evolution ofa nite CA whose inverse is believed to be hard to nd.Given the rule, anyone can easily calculate future states,but it appears to be very dicult to calculate previousstates.

    Error correction coding

    CA have been applied to design error correction codes inthe paper Design of CAECC Cellular Automata BasedError Correcting Code, by D. Roy Chowdhury, S. Basu,I. Sen Gupta, P. Pal Chaudhuri. The paper denes a newscheme of building SEC-DED codes using CA, and alsoreports a fast hardware decoder for the code.

    1.1.9 Modeling physical reality

    Main articles: Digital physics and digital philosophy

    As Andrew Ilachinski points out in his Cellular Automata,many scholars have raised the question of whether theuniverse is a cellular automaton.[68] Ilachinski argues thatthe importance of this question may be better appreciatedwith a simple observation, which can be stated as follows.Consider the evolution of rule 110: if it were some kindof alien physics, what would be a reasonable descriptionof the observed patterns?[69] If an observer did not knowhow the images were generated, that observer might endup conjecturing about the movement of some particle-

  • 8 CHAPTER 1. OVERVIEW

    like objects. Indeed, physicist James Crutcheld has con-structed a rigorous mathematical theory out of this idea,proving the statistical emergence of particles from cel-lular automata.[70] Then, as the argument goes, one mightwonder if our world, which is currently well described byphysics with particle-like objects, could be a CA at itsmost fundamental level.While a complete theory along this line is still to be de-veloped, entertaining and developing this hypothesis ledscholars to interesting speculation and fruitful intuitionson how can we make sense of our world within a dis-crete framework. Marvin Minsky, the AI pioneer, in-vestigated how to understand particle interaction with afour-dimensional CA lattice;[71] Konrad Zusethe in-ventor of the rst working computer, the Z3developedan irregularly organized lattice to address the question ofthe information content of particles.[72] More recently,Edward Fredkin exposed what he terms the nite naturehypothesis, i.e., the idea that ultimately every quantityof physics, including space and time, will turn out to bediscrete and nite.[73] Fredkin and Wolfram are strongproponents of a CA-based physics.In recent years, other suggestions along these lines haveemerged from literature in non-standard computation.Wolframs A New Kind of Science considers CA to bethe key to understanding a variety of subjects, physicsincluded. The Mathematics of the Models of Refer-encecreated by iLabs[74] founder Gabriele Rossi anddeveloped with Francesco Berto and Jacopo Tagliabuefeatures an original 2D/3D universe based on a newrhombic dodecahedron-based lattice and a unique rule.This model satises universality (it is equivalent to a Tur-ing Machine) and perfect reversibility (a desideratum ifone wants to conserve various quantities easily and neverlose information), and it comes embedded in a rst-ordertheory, allowing computable, qualitative statements onthe universe evolution.[75]

    1.1.10 See alsoSpecic rules

    Brians Brain Langtons ant Wireworld Rule 90 Rule 184 von Neumann cellular automata Nobili cellular automata Codds cellular automaton Langtons loops CoDi

    Problems solved

    Firing squad synchronization problem Majority problem

    See also

    Automata theory Bidirectional trac Cellular automata in popular culture Cyclic cellular automaton Excitable medium Mireks Cellebration Movable cellular automaton Quantum cellular automata Spatial decision support system Turmites

    1.1.11 Reference notes[1] Daniel Dennett (1995), Darwins Dangerous Idea, Pen-

    guin Books, London, ISBN 978-0-14-016734-4, ISBN 0-14-016734-X

    [2] Wolfram, Stephen (1983). Statistical Mechanicsof Cellular Automata. Reviews of Modern Physics55 (3): 601644. Bibcode:1983RvMP...55..601W.doi:10.1103/RevModPhys.55.601.

    [3] Kier, Seybold, Cheng 2005, p. 15

    [4] Bialynicki-Birula, Bialynicka-Birula 2004, p. 9

    [5] Schi 2011, p. 41

    [6] Pickover, Cliord A. (2009). The Math Book: FromPythagoras to the 57th Dimension, 250 Milestones in theHistory of Mathematics. Sterling Publishing Company,Inc. p. 406. ISBN 978-1402757969.

    [7] Schi 2011, p. 1

    [8] John von Neumann, The general and logical theory ofautomata, in L.A. Jeress, ed., Cerebral Mechanisms inBehavior The Hixon Symposium, John Wiley & Sons,New York, 1951, pp. 131.

    [9] John G. Kemeny, Man viewed as a machine, Sci. Amer.192(April 1955):5867; Sci. Amer. 192(June 1955):6(errata).

    [10] Schi 2011, p. 3

    [11] Ilachinski 2001, p. xxix

    [12] Bialynicki-Birula, Bialynicka-Birula 2004, p. 8

  • 1.1. CELLULAR IMAGE PROCESSING 9

    [13] Wolfram 2002, p. 876

    [14] von Neumann, John; Burks, Arthur W. (1966). Theory ofSelf-Reproducing Automata. University of Illinois Press.

    [15] Wiener, N.; Rosenblueth, A. (1946). The mathematicalformulation of the problem of conduction of impulses ina network of connected excitable elements, specically incardiac muscle. Arch. Inst. Cardiol. Mxico 16: 205.

    [16] Letichevskii, A. A.; Reshodko, L. V. (1974). N.Wieners theory of the activity of excitable media. Cy-bernetics 8: 856864. doi:10.1007/bf01068458.

    [17] Davidenko, J. M.; Pertsov, A. V.; Salomonsz, R.; Bax-ter, W.; Jalife, J. (1992). Stationary and drifting spiralwaves of excitation in isolated cardiac muscle. Nature355 (6358): 349351. Bibcode:1992Natur.355..349D.doi:10.1038/355349a0. PMID 1731248.

    [18] Hedlund, G. A. (1969). Endomorphisms and automor-phisms of the shift dynamical system. Math. SystemsTheory 3 (4): 3203751. doi:10.1007/BF01691062.

    [19] Schi 2011, p. 182

    [20] Gardner, Martin (1970). Mathematical Games: The fan-tastic combinations of John Conways new solitaire gamelife"". Scientic American (223): 120123.

    [21] Paul Chapman. Life universal computer. http://www.igblan.free-online.co.uk/igblan/ca/ November 2002

    [22] Wainwright 2010, p. 16

    [23] Wolfram 2002, p. 880

    [24] Wolfram 2002, p. 881

    [25] Mitchell, Melanie (4 October 2002). Is the Universea Universal Computer?". Science 298 (5591): 6568.doi:10.1126/science.1075073.

    [26] Wolfram 2002, pp. 17

    [27] Johnson, George (9 June 2002). "'A New Kind of Sci-ence': You Know That Space-Time Thing? Never Mind.The New York Times (The New York Times Company).Retrieved 22 January 2013.

    [28] The Science of Everything. The Economist. 30 May2002. Retrieved 22 January 2013.

    [29] Wolfram 2002, pp. 433546

    [30] Wolfram 2002, pp. 51114

    [31] Wolfram 2002, pp. 115168

    [32] Ilachinsky 2001, p. 12

    [33] Ilachinsky 2001, p. 13

    [34] Wolfram 2002, p. 231

    [35] Zenil, Hector (2010). Compression-based investigationof the dynamical properties of cellular automata and othersystems. Complex Systems 19 (1).

    [36] G. Cattaneo, E. Formenti, L. Margara (1998). Topolog-ical chaos and CA. In M. Delorme, J. Mazoyer. Cellularautomata: a parallel model. Springer. p. 239. ISBN 978-0-7923-5493-2.

    [37] Burton H. Voorhees (1996). Computational analysis ofone-dimensional cellular automata. World Scientic. p.8. ISBN 978-981-02-2221-5.

    [38] Max Garzon (1995). Models of massive parallelism: anal-ysis of cellular automata and neural networks. Springer.p. 149. ISBN 978-3-540-56149-1.

    [39] Li, Wentian; Packard, Norman (1990). The structureof the elementary cellular automata rule space. ComplexSystems 4: 281297. Retrieved January 25, 2013.

    [40] Kari, Jarrko 1991, p. 379

    [41] Richardson, D. (1972). Tessellations with local trans-formations. J. Computer System Sci. 6 (5): 373388.doi:10.1016/S0022-0000(72)80009-6.

    [42] Margenstern, Maurice (2007). Cellular Automata in Hy-perbolic Spaces Tome I, Volume 1. Archives contempo-raines. p. 134. ISBN 978-2-84703-033-4.

    [43] Schi 2011, p. 103

    [44] Serano Amoroso, Yale N. Patt, Decision Procedures forSurjectivity and Injectivity of Parallel Maps for TessellationStructures. J. Comput. Syst. Sci. 6(5): 448464 (1972)

    [45] Sutner, Klaus (1991). De Bruijn Graphs and Linear Cel-lular Automata. Complex Systems 5: 1930.

    [46] Kari, Jarkko (1990). Reversibility of 2D cellu-lar automata is undecidable. Physica D 45: 379385. Bibcode:1990PhyD...45..379K. doi:10.1016/0167-2789(90)90195-U.

    [47] Kari, Jarkko (1999). On the circuit depth of structurallyreversible cellular automata. Fundamenta Informaticae38: 93107.

    [48] Durand-Lose, Jrme (2001). Representing reversiblecellular automata with reversible block cellular automata.Discrete Mathematics and Theoretical Computer ScienceAA: 145154.

    [49] Wolfram 2002, p. 60

    [50] Ilachinski, Andrew (2001). Cellular automata: a discreteuniverse. World Scientic. pp. 4445. ISBN 978-981-238-183-5.

    [51] The phrase life-like cellular automaton dates back atleast to Barral, Chat & Manneville (1992), who used itin a broader sense to refer to outer totalistic automata,not necessarily of two dimensions. The more specicmeaning given here was used e.g. in several chapters ofAdamatzky (2010). See: Barral, Bernard; Chat, Hugues;Manneville, Paul (1992). Collective behaviors in a fam-ily of high-dimensional cellular automata. Physics LettersA 163 (4): 279285. Bibcode:1992PhLA..163..279B.doi:10.1016/0375-9601(92)91013-H.

    [52] Eppstein 2010, pp. 7273

  • 10 CHAPTER 1. OVERVIEW

    [53] http://www.newscientist.com/article/dn22134-first-gliders-navigate-everchanging-penrose-universe.html

    [54] Murray, J. Mathematical Biology II. Springer.

    [55] Pivato, M: RealLife: The continuum limit of Largerthan Life cellular automata, Theoretical Computer Sci-ence, 372 (1), March 2007, pp. 4668

    [56] Giles, Jim (2002). What Kind of Science is This?".Nature (417): 216218.

    [57] Weinberg, Steven (October 24, 2002). Is the Universea Computer?". The New York Review of Books (Rea S.Hederman). Retrieved October 12, 2012.

    [58] Wentian Li, Norman Packard, Chris G Langton(1990). Transition phenomena in cellular au-tomata rule space. Physica D 45 (1-3): 7794.Bibcode:1990PhyD...45...77L. doi:10.1016/0167-2789(90)90175-O.

    [59] Coombs, Stephen (February 15, 2009), The Geometry andPigmentation of Seashells, pp. 34, retrieved September2, 2012

    [60] Peak, West; Messinger, Mott (2004). Evidencefor complex, collective dynamics and emergent,distributed computation in plants. Proceedings ofthe National Institute of Science of the USA 101(4): 918922. Bibcode:2004PNAS..101..918P.doi:10.1073/pnas.0307811100. PMC 327117. PMID14732685.

    [61] http://gilly.stanford.edu/past_research_files/APackardneuralnet.pdf

    [62] Ilachinsky 2001, p. 275

    [63] Yves Bouligand (1986). Disordered Systems and Biologi-cal Organization. pp. 374375.

    [64] A. K. Dewdney, The hodgepodge machine makes waves,Scientic American, p. 104, August 1988.

    [65] M. Gerhardt and H. Schuster, A cellular automaton de-scribing the formation of spatially ordered structures inchemical systems, Physica D 36, 209221, 1989.

    [66] Muhtaroglu, Ali (August 1996). 4.1 Cellular Automa-ton Processor (CAP)". Cellular Automaton ProcessorBased Systems for Genetic Sequence Comparison/DatabaseSearching. Cornell University. pp. 6274.

    [67] Tomassini, M.; Sipper, M.; Perrenoud, M. (2000). Onthe generation of high-quality random numbers by two-dimensional cellular automata. IEEE Transactions onComputers 49 (10): 11461151.

    [68] Ilachinsky 2001, p. 660

    [69] Ilachinsky 2001, pp. 661662

    [70] J. P. Crutcheld, The Calculi of Emergence: Compu-tation, Dynamics, and Induction, Physica D 75, 1154,1994.

    [71] M. Minsky, Cellular Vacuum, International Journal ofTheoretical Physics 21, 537551, 1982.

    [72] K. Zuse, The Computing Universe, Int. Jour. of Theo.Phy. 21, 589600, 1982.

    [73] E. Fredkin, Digital mechanics: an informational processbased on reversible universal cellular automata, PhysicaD 45, 254270, 1990

    [74] iLabs

    [75] F. Berto, G. Rossi, J. Tagliabue, The Mathematics of theModels of Reference, College Publications, 2010

    1.1.12 References Adamatzky, Andrew, ed. (2010). Game of Life Cel-

    lular Automata. Springer. ISBN 978-1-84996-216-2.

    Bialynicki-Birula, Iwo; Bialynicka-Birula, Iwona(2004). Modeling Reality: How Computers MirrorLife. Oxford University Press. ISBN 0198531001.

    Chopard, Bastien; Droz, Michel (2005). CellularAutomata Modeling of Physical Systems. CambridgeUniversity Press. ISBN 0-521-46168-5.

    Gutowitz, Howard, ed. (1991). Cellular Au-tomata: Theory and Experiment. MIT Press. ISBN9780262570862.

    Ilachinski, Andrew (2001). Cellular Automata:A Discrete Universe. World Scientic. ISBN9789812381835.

    Kier, Lemont B.; Seybold, Paul G.; Cheng, Chao-Kun (2005). Modeling Chemical Systems using Cel-lular Automata. Springer. ISBN 9781402036576.

    Schi, Joel L. (2011). Cellular Automata: A Dis-crete View of the World. Wiley & Sons, Inc. ISBN9781118030639.

    Wolfram, Stephen (2002). A New Kind of Science.Wolfram Media. ISBN 978-1579550080.

    Cellular automaton FAQ from the newsgroupcomp.theory.cell-automata

    Neighbourhood Survey (includes discussion ontriangular grids, and larger neighborhood CAs)

    von Neumann, John, 1966, The Theory of Self-reproducing Automata, A. Burks, ed., Univ. of Illi-nois Press, Urbana, IL.

    Cosma Shalizis Cellular Automata Notebook con-tains an extensive list of academic and professionalreference material.

    Wolframs papers on CA