Slide 1:Introductory Lecture on
Cellular Automata Modified and upgraded slides of
Martijn Schut
schut@cs.vu.nl
Vrij Universiteit Amsterdam
Lubomir Ivanov
Department of Computer Science
Iona College
and anonymous from Internet
Slide 2:Overview Conway’s Game of Life
Cellular Automata
Self Reproduction
Universal Machines } Artificial Life
Cellular Automata :Cellular Automata A Cellular Automaton is a model of a parallel computer
A CA consists of processors (cells), connected usually in an n-dimensional grid Discuss also other regular structures and irregular structures
Slide 4:EXAMPLE: Life - The Game Movement of black patterns on grid matrix
History of Cellular Automata :History of Cellular Automata Original experiment created to see if simple rule system could create “universal computer”
Universal Computer (Turing): a machine capable of emulating any kind of information processing through simple rule system
Von Neumann and Stan Ulam
late 1960’s: John Conway invents “Game of Life”
Slide 6:Life - Conway’s Game of Life John H. Conway
Slide 7:Simplest possible universe capable of computation
Basic design: rectangular grid of “living” (on) and “dead” (off) cells
Complex patterns result from simple structures
In each generation, cells are governed by three simple rules
Which patterns lead to stability? To chaos? Life - Conway’s Game of Life
Slide 8:Life - The Game A cell dies or lives according to some transition rule
As in Starlogo, the world is round (flips over edges)
How many rules for Life? 20, 40, 100, 1000? T = 0 T = 1 transition
rules Life - Conway’s Game of Life Here we are interested in rules for the middle cell only time
Slide 9:Life - The Game Three simple rules
dies if number of alive neighbor cells == 5 (overcrowding)
lives is number of alive neighbor cells = 3 (procreation) This means that in original “Game of Life” when the cell has
4 alive neighbors, then its state remains as it was. Life - Conway’s Game of Life
Another variant of Conway’s Rules :Another variant of Conway’s Rules Death: if the number of surrounding cells is less than 2 or greater than 3, the current cell dies
Survival: if the number of living cells is exactly 2, or if the number of living cells is 3 (including the current cell), maintain status quo
Birth: if the current cell is dead, but has three living cells surrounding it, it will come to life Life - Conway’s Game of Life
Slide 11:Life - The Game Examples of the rules
loneliness (dies if #alive == 5)
procreation (lives if #alive = 3) Here the rules are applied only to the cell in the middle New cell is born
Slide 12:Life - The Game Here the rules are applied only to the cell in the middle Cell has four alive neighbors so its state is preserved
Slide 13:Life - The Game What happens at the frontiers? Rap-around the east and west
and the north and south (this is only in some variants)
Slide 14:Life - Patterns If you start from such patterns, they will remain
If such separated pattern is every created, it remains. These patterns oscillate with certain periods, here the period is two, please analyse
Slide 15:Cellular Automata - Introduction Traditional science
Newton laws
states Heisenberg principle
states that it is impossible to precisely know
the speed and the location of a particle
basis of quantum theory problem: detailed description of states impossible etc etc How to model classical world with CA? How to model quantum world with CA?
Slide 16:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Beyond Life - Cellular Automata Let us analyze every
component of the
definition
In essence, what are Cellular Automata? :In essence, what are Cellular Automata? 1. Computer simulations which emulate the laws of nature
2. Discrete time/space logical universes
3. Complexity from simple rule set: reductionist approach
4. Deterministic local physical model
5. Rough estimation of nature: no precision
6. This model does not reflect ‘closed sphere’ life: can achieve same end results given rules and initial conditions
Simulation Goals using CA :Simulation Goals using CA Avoid extremes: patterns that grow too quickly (unlimited) or patterns that die quickly
Desirable behaviors:
No initial patterns where unlimited growth is obvious through simple proof
Should discover initial patterns for which this occurs
Simple initial patterns should grow and change before ending by:
fading away completely
stabilizing the configuration
oscillating between 2 or more stable configurations
Behavior of population should be relatively unpredictable
Slide 19:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Cellular Automata – Various types of Arrays 1 dimensional
2 dimensional
Slide 20:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Cellular Automata – rules for Cells Identically programmable?
What it gives us if not identically programmable?
Slide 21:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Cellular Automata – Interaction is local the rules
if #alive == 5, then die Discuss the role of local interaction in modern VLSI and future (nano) technologies
Slide 22:Classic examples of cell neighborhoods: Cellular Automata - Neighbourhood
Slide 23:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Cellular Automata - Neighbourhood 8 neighbors in Moore neighborhood 4 neighbors in Von Neumann neighborhood Margolus, Wolfram and other neighborhoods
Slide 24:“A CA is an array of identically programmed automata, or cells,
which interact with one another in a neighborhood and have
definite state” Cellular Automata - States
Slide 25:Cellular Automata - Simple 1D Example The rules Observe the recursive property of the pattern Describe the logic design – minimization, encoding, excitation function realization the same as in synchronous automata from class
Slide 26:Cellular Automata - Pascal’s Triangle
Slide 27:Cellular Automata - Classification dimension 1D, 2D … nD
neighborhood Neumann, Moore for 1D
(2D => r is used to denote the radius)
number of states 1,2,…, n
Slide 28:Cellular Automata - Wow! examples
Automata Theory :Automata Theory Automata Theory is a branch of Computer Science which:
a) Attempts to answer questions like:
“What can computers do”
“what is beyond computer capabilities?”
b) Helps create and study new models of computation in a clear, unambiguous way.
c) Contrary to popular belief, has very practical implications and is the basis for many real-world applications … a little bit of formalism….
Cellular Automata Formalism :Cellular Automata Formalism An important component of a Cellular Automaton is its interconnection graph, G.
This graph is, typically, an n-dimensional grid.
But it can be other grid,
Or slightly irregular
Or irregular
Each cell of the CA can be in one of several possible states. The state set, Q, of a Cellular Automaton is the set of all possible states that a cell can be in.
The pair (G, Q) is usually referred to as a Cell Space of the CA.
Cellular Automata Formalism :A configuration, x, of a CA is a mapping from the graph to the state set, which assigns a state from the state set Q to each node in the graph G , i.e.
x: G ® Q
x(i) = q, where iÎG and qÎQ
A configuration of a CA describes the overall state of the Cellular Automaton on a global scale Cellular Automata Formalism
Slide 32:The computation of CAs, though, is a local process. The next state of each cell depends on its current state, and the states of its closest neighbors only.
Thus, we need to define the concept of a cell neighborhood.
A neighborhood of a cell in a cellular automaton, is the collection of cells situated at a “distance” r or less from the cell in question. Cellular Automata Formalism
Slide 33:Each cell of a CA is a simple Finite State Machine
The local dynamics (transition function) of a cell, denoted d, is a function, which receives as inputs the state of a cell and its “neighbors”, and computes the next state of the cell.
For example, the local dynamics of a 1-D CA can be defined as follows:
d(xi-1, xi, xi+1) = xi¢ Cellular Automata Formalism: local dynamics The local dynamics is often expressed as a table:
xi-1, xi, xi+1 000 001 010 011 100 101 110 111
d(xi-1, xi, xi+1) 1 0 0 1 0 1 1 0 This is nothing new, just a formalism to be used in formal proofs and journal papers
Slide 34:Formally, a Cellular Automaton is a quadruple M = (G, Q, N, d), where:
G - interconnection graph,
Q - set of states
N - neighborhood (e.g. von Neumann, etc.)
d - local dynamics Cellular Automata Formalism: definition State of this joint is a function of neighbor joints Humanoid robot example:
Slide 35:The local dynamics, d, of a CA describes the computation occurring locally at each cell.
The global computation of the CA as a system is captured by the notion of global dynamics.
The global dynamics, T, of a CA is a mapping from the set of configurations C to itself, i.e.
T: C ® C
Thus, the global dynamics describes how the overall state of the CA changes from one instance to the next Cellular Automata Formalism: global dynamics Give examples of bridge and graph coloring to explain the principle of egoism and emerging global behavior
Slide 36:Since the global computation is determined by the computation of each individual cell, the global dynamics, T, is defined in terms of the local dynamics, d:
T(x)i := d(xi-1, xi, xi+1)
Starting with some initial configuration, x, the Cellular Automaton evolves in time by computing the successive iterations of the global dynamics:
x, T(x), T2(x)=T(T(x)), …, Tn(x), …
Thus, we can view the evolution of a CA with time as a computation of the forward orbit of a discrete dynamical system. Cellular Automata: link to dynamical systems
Slide 37:Cellular Automata - Types Symmetric CAs
Spatial isotropic
Legal
Totalistic
Wolfram Game of life Will be discussed
Slide 38:Cellular Automata - Wolfram I. Always reaches a state in which
all cells are dead or alive
II. Periodic behavior
III. Everything occurs randomly
IV. Unstructured but complex behavior What are the possible “behaviors” of “black patterns”? There are four possibilities:
Slide 39:Cellular Automata –
Wolfram’s parameter and classes = chance that a cell is alive in the next state 0.0 0.1 0.2 0.3 0.4 0.5 I I II IV III Wolfram introduced a parameter called lambda I. Always reaches a state in which
all cells are dead or alive
II. Periodic behavior
III. Everything occurs randomly
IV. Unstructured but complex behavior What do these classes look like? Our four classes
Slide 40:Cellular Automata – Complexity of rules What is the total number of possibilities with CAs?
Let’s look at total number of possible rules
For 1D CA:
23 = 8 possible “neighborhoods” (for 3 cells)
28 = 256 possible rules
For 2D CA:
29 = 512 possible “neighborhoods”
2512 possible rules (!!) This is dramatic!
Slide 41:Cellular Automata - Alive or not? Can CA or Game of Life represent life as we know it?
A computer can be simulated in Game of Life
Building blocks of a computer (wires, gates, registers) can be simulated in Game of Life as patterns (gliders, eaters etcetera)
Is it possible to build a computer based on this game model?
YES
Is it possible to build life based on this model?
??
Is it possible to build model of brain based on this model?
YES, Hugo De Garis and Andrzej Buller
Slide 42:Universal Machines - Cellular Automata Stanislaw Ulam (1909 - 1984)
Slide 43:Universal Machines - Cellular Automata Stanislaw Ulam
Memorial Lectures conceived in the 1940s
Stanislaw Ulam - evolution of graphicconstructions generated by simple rules
Szkocka Café in Lwow, Poland now Ukraine
Ulam asked two questions:
can recursive mechanisms explainthe complexity of the real?
Is complexity then only appearant,the rules themselves being simple?
Slide 44:Universal Machines - Turing Machines Alan Turing (1912-1954)
Slide 45:Universal Machines - Turing Machines Data
(e.g., resignation letter) Program
(e.g., Microsoft Word) No, they’re all just 0s and 1s! The idea of Universal Machine, Universal Turing Machine The idea of “Turing Test”
Slide 46:Universal Machines - Neumann Machines John von Neumann (1903- 1957)
Slide 47:Universal Machines - Neumann Machines John von Neumann interests himself on theory ofself-reproductive automata
worked on a self-reproducing “kinematon”(like the monolith in “2001 Space Odyssey”)
Ulam suggested von Neumann to use “cellular spaces”
extremely simplified universe
Slide 48:Self Reproduction von Neumann - Reproduction Conway - Game of Life Cellular Automata Self-reproduction Game of Life is model of Universal Computing Game of Life can lead to models of Self-reproduction See next slide
Slide 49:Self Reproduction Langton Loop’s
8 states
29 rules Is life that simple?
Cellular Automata as Dynamical Systems Chaos Theory :Cellular Automata as Dynamical Systems Chaos Theory Chaotic Behavior of Dynamical Systems
Dynamical Systems :Dynamical Systems A Discrete Dynamical System is an iterated function over some domain, i.e.
F: D ® D
Example 1: F(x) = x x=0, F(0) = 0, F(F(0)) = F2(0) = 0, … , Fn(0) = 0, ...
x=3, F(3) = 3, F(F(3)) = F2(3) = 3, … , Fn(3) = 3, ...
x=-5, F(-5) = -5, F(F(-5)) = F2(-5) = -5, … , Fn(-5) = -5, ... Boring life, nothing happens
Dynamical Systems :Dynamical Systems Example 2: F(x) = -x x=0, F(0) = 0, F(F(0)) = F2(0) = 0, …, Fn(0) = 0, ...
x=3, F(3) = -3, F(F(3)) = F2(3) = 3, …, Fn(3) = 3, Fn+1(3) = -3, ...
x=-5, F(-5) = 5, F(F(-5)) = F2(-5) = -5, …, Fn(-5) = -5, Fn+1(-5) = 5, ... Boring life, push and pull regularity
Dynamical Systems :Dynamical Systems A point, x, in the domain of a dynamical system, F, is a fixed point iff F(x) = x
A point, x, in the domain of a dynamical system, F, is a periodic point iff Fn(x) = x
A point, x, in the domain of a dynamical system, F, is eventually periodic if Fm+n(x)=Fm(x) Life becomes more interesting Representation of abstract state of a system
Dynamical Systems :Dynamical Systems Sometimes certain points in the domain of some dynamical systems exhibit very interesting properties:
A point, x, in the domain of F is called an attractor iff there is a neighborhood of x such that any point in that neighborhood, under iteration of F, tends to approach x
A point, x, in the domain of F is called a repeller iff there is a neighborhood of x such that any point in that neighborhood, under iteration of F, tends to diverge from x A point in the state space, think about a ball in mountain-like terrain This is different representation of state space then before, earlier branching from a point was not possible.
Dynamical Systems: interesting research questions :Dynamical Systems: interesting research questions Our goals, when studying a dynamical system are:
a) To predict the long-term, asymptotic behavior of the system given some initial point, x, and
b) To identify interesting points in the domain of the system, such as:
attractors,
repellers,
periodic points,
etc.
Dynamical Systems :Dynamical Systems For some simple dynamical systems, predicting the long-term, asymptotic behavior is fairly simple (recall examples 1 and 2)
For other systems, one cannot predict more than just a few iterations into the future.
Such unpredictable systems are usually called chaotic.
Chaotic Dynamics :Chaotic Dynamics A chaotic dynamical system has 3 distinguishing characteristics:
a) Topological Transitivity - this implies that the system cannot be decomposed and studied piece-by-piece
b) Sensitive Dependence on Initial Conditions - this implies that numerical simulations are useless, since small errors get magnified under iteration, and soon the orbit we are computing looks nothing like the real orbit of the system
c) The set of periodic points is dense in the domain of the system - amidst unpredictability, there is an element of regularity
Cellular Automata as Dynamical Systems :Cellular Automata as Dynamical Systems As we saw earlier, the behavior of a Cellular Automaton in terms of iterating its global dynamics, T, can be considered a dynamical system.
Depending on the initial configuration and the choice of local dynamics, d, the CA can exhibit any kind of behavior typical for a dynamical system - fixed, periodic, or even chaotic
Since CAs can accurately model numerous real-world phenomena and systems, understanding the behavior of Cellular Automata will lead to a better understanding of the world around us!
Slide 59:Summary Ulam
Turing
von Neumann
Conway
Langton Universal Machines
Turing Machines
von Neumann Machines
Game of Life
Self Reproduction
Slide 60:New Research and Interesting Examples Image Processing - shifter example from Friday’s Meetings
GAPP - Geometric Array Processor of Martin Marietta - used in (in)famous Patriot Missiles
Cube Calculus Machine - a controlled one dimensional Cellular Automaton to operate on Multiple-Valued Functions Applications in Physics
CAM 8 Machine of Margolus
CBM machine of Korkin and Hugo De Garis
Applications in biology, psychology, models of societies, religions, species domination, World Models.
Self Reproduction for future Nano-technologies
Homework :This is a programming and presentation homework, at least two weeks are given.
Your task is to simulate and visualize an emergent “generalized game of life”.
How many “interesting Games of Life” exists? Try to find the best ones.
Use a generalized symmetric function in which every symmetry coefficient is 0, 1 or output from flip-flop of Cell’ State C. Thus we have 8 positions, each in 3 states, and there is 38 possible ways to program the Game of Life.
The standard Game of Life is just one of that many Games of Life. Most of these all “universes” are perhaps boring. But at least one of them is an universal model of computation? What about the others?
Your task is to create a programming and visualization environment in which you will investigate various games of life. First set the parameters to standard values and observe gliders, ships, ponds, eaters and all other known forms of life.
Next change randomly parameters, set different initial states and see what happens.
Define some function on several generations of life which you will call “Interestingness of Life” and which will reflect how interesting is given life model for you, of course, much action is more interesting than no action, but what else?
Finally create some meta-mechanism (like God of this Universe) which will create new forms of life by selecting new values of all the parameters. You can use neural net, genetic algorithm, depth first search, A* search, whatever you want. Homework
Homework(cont) :Finally create some meta-mechanism (like God of this Universe) which will create new forms of life by selecting new values of all the parameters. You can use neural net, genetic algorithm, depth first search, A* search, whatever you want.
Use this mechanism in feedback to select the most interesting Game of life. Record the results, discuss your findings in writing.
Present a Power Point Presentation in class and show demo of your program.
You should have some mechanism to record interesting events. Store also the most interesting parameters and initial states of your universes.
Possibly we will write a paper about this, and we will be doing further modifications to the Evolutionary Cellular Automaton Model of Game of Life. Homework(cont)
Homework (cont) :Homework (cont) Lattice diagram Cell’s 8 neighbors S0 S8 Standard Game of Life
If S0, S1 or S2 --> C’ := 0
If S3 --> C’:= 1
If S4 --> C’:= C
If S5, S6, S7 or S8 --> 0 Data inputs: Control (program) inputs (register) preserve S1 Dff Output to 8 neighbors Feedback C Each control input is set to a constant or C
Homework (cont) :Homework (cont) Lattice diagram Cell’s 8 neighbors Standard Game of Life
If S0, S1 or S2 --> C’ := 0
If S3 --> C’:= 1
If S4 --> C’:= C
If S5, S6, S7 or S8 --> 0 Data inputs: Control (program) inputs (register) preserve S1=0 Dff Output to 8 neighbors Feedback: S4=C S0=0 S2=0 S8=0 S6=0 S7=0 S5=0 S3=1 This is only example, show your own creativity