Tutorial - KSU Faculty Member websites

Complex Systems Engineering
SwE 488
Artificial Complex Systems
- Cellular Automata -
Cellular Automata
2
Purpose
• In Theory:
• Computation of all computable functions
• Construction of (also non-homogenous) automata by
other automata, the offspring being at least as
powerful (in some well-defined sense) as the parent
• In Practice:
• Exploring how complex systems with emergent
patterns seem to evolve from purely local interactions
of agents. I.e. Without a “master plan!”
3
Cellular Automata
• A cellular automata is a family of simple, finitestate machines that exhibit interesting,
emergent behaviors through their interactions
in a population
4
Emergent Behavior
The famous BOIDS model
shows how flocking
behavior can emerge from
a collection of agents
following a few simple
rules.
5
•
Original concept of CA is most strongly associated with
John von Neumann who was interested in the connections
between biology and the new study of automata theory
•
Stanislaw Ulam suggested to von Neumann the use a
cellular automata as a framework for researching these
connections.
•
The original concept of CA can be credited to Ulam, while
the early development of the concept is credited to von
Neumann.
•
Ironically, although von Neumann made many
contributions and developments in CA, they are commonly
referred to as “non-von Neumann style”, while the standard
model of computation (CPU, globally addressable memory,
serial processing) is know as “von Neumann style”.
6
Cellular Automata (CAs)
•
Have been used as:
•
•
•
•
•
VLSI Testing
Data Encryption
Error Correcting Code Correction
Testable Synthesis
Generation of hashing Function
•
Currently being investigated as model of quantum computation
(QCAs)
• massively parallel computer architecture
• model of physical phenomena (Fredkin, Wolfram)
7
• Grid
• Mesh of cells.
• Simplest mesh is one dimensional.
• Cell
• Basic element of a CA.
• Cells can be thought of as memory
elements that store state
information.
• All cells are updated synchronously
according to the transition rules.
8
• Local interaction leads to global
dynamics.
• One can think of the behaviour of a
cellular automata like that of a
“wave” at a sports event.
• Each person reacts to the state of
his neighbours (if they stand, he
stands).
9
• Rule Application
• Next state of the core cell is related to the states of the
neighbouring cells and its current state.
• An example rule for a one dimensional CA: 011->x0x
• All possible states must be described.
• Next state of the core cell is only dependent upon the sum
of the states of the neighbouring cells.
• For example, if the sum of the adjacent cells is 4 the
state of the core cell is 1, in all other cases the state of
the core cell is 0.
10
Structure
• Discrete space (lattice) of regular cells
• 1D, 2D, 3D, …
• rectangular, hexagonal, …
• At each unit of time a cell changes state in
response to (Time advances in discrete steps):
• its own previous state
• states of neighbors (within some “radius”)
• All cells obey same state update rule, depending
only on local relations
• Synchronous updating (parallel processing)
11
Structure: Neighborhoods
12
1-DIMENSIONAL AUTOMATA
13
One-Dimensional CA’s
• Game of Life is 2-D. Many simpler 1-D CAs have
been studied
• For a given rule-set, and a given starting setup, the
deterministic evolution of a CA with one state (on/off)
can be pictured as successive lines of colored squares,
successive lines under each other
14
Neighborhoods
15
•
•
•
•
3 Black = White
2 Black
= Black
1 Black = Black
3 White = White
Now make your own CA
16
“A New Kind of Science”
ISBN 1-57955-008-8
Stephen Wolfram
www.wolframscience.com
1-D CA Example
cell#
1
2
3
4
5
6
7
8
9
10 11 12 13
Rules
time = 1

time = 2

time = 3

time = 4

0
0
1
1
0
1
1
Rule# = 2 + 4 + 16 + 32 = 54
time = 5

time = 6

time = 7
18
0
Wolfram Model
1
1
1
1
1
1
1
0
Rule #126 = 64 + 32 + 16 + 8 + 4 + 2 + 0 = 126
1
1
1
1
1
1
0
0
Rule #124 = 64 + 32 + 16 + 8 + 4 + 0 + 0 = 124
Most of the rules are degenerate, meaning they create
repetitive patterns of no interest.
However there are a few rules which produce surprisingly
complex patterns that do not repeat themselves.
19
Wolfram Model
we can view the state of the model at any time in the future as
long as we step through all the previous states.
20
Hundred generations of Rule 30
21
CA Example: Rule 30
111 110 101 100 011 010 001 000
0
0
0
1
1
1
1
0
Rule (0 + 0 + 0 + 16 + 8 + 4 + 2 +0 ) = 30
22
Conus Textile pattern
23
The pattern is neither regular nor completely random.
It appears to have some order, but is never predictable.
24
Wolfram Model
Rule #45=32+8+4+1
= 0 27+ 0 26+ 1 25+ 0 24+1 23+ 1 22+ 0 21+ 1 20
=0 0 1 0 1 1 0 1
Rule #30=16+8+4+2
= 0 27+ 0 26+ 0 25+ 1 24+1 23+ 1 22+ 1 21+ 0 20
=0 0 0 1 1 1 1 0
This naming convention of the 256 distinct update rules is due
to Stephen Wolfram. He is one of the pioneers of Cellular
Automata and author of the book a New Kind of Science,
which argues that discoveries about cellular automata are not
isolated facts but have significance for all disciplines of
science.
See Demo - NetLogo
25
Wolfram Rule 90
0 1
0 1 1 0
1 0
Rule (0 + 2 + 0 + 8 + 16 + 0 + 64) = 90
26
Wolfram Rule 110
Proven to be Turing Complete - Rich enough for universal computation
interesting result because Rule 110 is an extremely simple system, simple enough to
suggest that naturally occurring physical systems may also be capable of universality
27
Wolfram Rule 99
Rule# 99 = 0 27 + 1 26 + 1 25 + 0 24 + 0 23 + 0 22 + 1 21 + 1 20
0 + 64 + 32 + 0 + 0 + 0 + 2 + 1 28
29
Mollusc Pigmentation Patterns
30
Wolfram’s CA classes 1,2
From observation, initially of 1-D CA spacetime
patterns, Wolfram noticed 4 different classes of rulesets. Any particular rule-set falls into one of these:-:
CLASS 1: From any starting setup, pattern converges to
all blank -- fixed attractor
CLASS 2: From any start, goes to a limit cycle, repeats
same sequence of patterns for ever. -- cyclic attractors
31
Wolfram’s CA classes 3,4
CLASS 3: Turbulent mess, chaos, no patterns to be seen.
CLASS 4: From any start, patterns emerge and
continue without repetition for a very long
time (could only be 'forever' in infinite grid)
Classes 1 and 2 are boring, Class 3 is messy,
Class 4 is 'At the Edge of Chaos' - at the transition
between order and chaos -- where Game of Life is!.
32
2-DIMENSIONAL
AUTOMATA
33
2-dimensional cellular automaton consists
of an infinite (or finite) grid of cells, each
in one of a finite number of states. Time is
discrete and the state of a cell at time t is a
function of the states of its neighbors at
time t-1.
34
Neighborhoods
Von Neumann
Moore
margolus
35
Snowflakes
36
Example:
Conway’s Game of Life
• Invented by Conway in late 1960s
• A simple CA capable of universal
computation
• Structure:
•
•
•
•
•
2D space
rectangular lattice of cells
binary states (alive/dead)
neighborhood of 8 surrounding cells (& self)
simple population-oriented rule
37
Example:
Conway’s Game of Life
Cell
State = dead/off/0
State = alive/on/1
38
Example:
Conway’s Game of Life
• A cell dies or lives according to some transition rule
transition
rules
T=0
T=1
• The world is round (flips over edges)
• How many rules for Life? 20, 40, 100, 1000?
39
State Transition Rule
• Live cell has 2 or 3 live neighbors
 stays as is (stasis)
• Live cell has < 2 live neighbors
 dies (loneliness)
• Live cell has > 3 live neighbors
 dies (overcrowding)
• Empty cell has 3 live neighbors
 comes to life (reproduction)
40
State Transition Rule
• Survive with 2 or 3 live neighbors
Live cell  stays as is (stasis)
otherwise dies from loneliness or
overcrowding
• Generate with 3 live neighbors
Empty cell  comes to life (reproduction)
41
State Transition Rule
Three simple rules:
• dies if number of alive neighbor cells =< 1
(loneliness)
• dies if number of alive neighbor cells >= 4
(overcrowding)
• generate alive cell if number of alive neighbor cells = 3
(procreation)
42
State Transition Rule
Examples of the rules
• loneliness
(dies if #alive =< 1)
• overcrowding (dies if #alive >= 4)
• procreation
(lives if #alive = 3)
43
CA: Discrete Time,
Discrete Space
Initial Setup
After Pass 1
Number of Neighbors
After Pass 2
44
Game of Life: 2D Cellular
Automata using simple rules
neighboring values
T=0
Emergent pattern:
Blinker
T=1
45
Emergent patterns
Conway automaton can simulate a number of different effects that
can be found in the evolution of a living population.
Equilibria
Oscillation
Movement
square
2 steps
beehive
2 steps
diagonal
horizontal
instability
boat
3 steps
ship
15 steps
toast
(all the space
is filled up by
horizontal lines)
instability
chaos?
46
Game of Life:
emergent patterns
Gosper’s glider gun : emits glider stream
Conway’s Rules: Game of Life
Survive with 2 – 3 living neighbors
Generate with 3 living neighbors
gliders: patterns that moves constantly across the grid
47
Emergent Patterns
48
Emergent Patterns
Oscillators-objects that change from step to step, but
eventually repeat themselves. These include, but are not
limited to, period 2 oscillators, including the blinker and the
toad.
Blinker
Toad
49
Emergent Patterns:
A Clock
See Demo: Game of Life
50
Emergent Patterns:
Oscillator
Pulsar
SpaceShip
Beacon
Glider
See Demo: Game of Life
Barber’s Pole
51
Emergent Patterns:
Gosper’s Glider Gun
See Demo: Game of Life
52
Emergent Patterns:
Puffer train
53
Emergent Patterns:
Double-Barreled Gun
54
Emergent Patterns:
Edge Shooter
55
Emergent Patterns:
Evolution of a breeder ...
56
Conclusions
57
Conclusions
• This topic is very hot and has widespread implications
• Biology
• Chemistry
• Computer science
• Complexity
• We’ve seen the basic concepts …
• But we’ve only scratched the surface!
 From now on, Think Biology, Emergence, Complex
Systems …
58
References
59
References
• Jay Xiong, New Software Engineering Paradigm Based on Complexity Science, Springer
2011.
• Claudios Gros : Complex and Adaptive Dynamical Systems. Second Edition, Springer,
2011 .
• Blanchard, B. S., Fabrycky, W. J., Systems Engineering and Analysis, Fourth Edition,
Pearson Education, Inc., 2006.
• Braha D., Minai A. A., Bar-Yam, Y. (Editors), Complex Engineered Systems, Springer,
2006
• Gibson, J. E., Scherer, W. T., How to Do Systems Analysis, John Wiley & Sons, Inc.,
2007.
• International Council on Systems Engineering (INCOSE) website (www.incose.org).
• New England Complex Systems Institute (NECSI) website (www.necsi.org).
• Rouse, W. B., Complex Engineered, Organizational and Natural Systems, Issues
Underlying the Complexity of Systems and Fundamental Research Needed To Address
These Issues, Systems Engineering, Vol. 10, No. 3, 2007.
60
References
• Wilner, M., Bio-inspired and nanoscale integrated
computing, Wiley, 2009.
• Yoshida, Z., Nonlinear Science: the Challenge of
Complex Systems, Springer 2010.
• Gardner M., The Fantastic Combinations of John
Conway’s New Solitaire Game “Life”, Scientific
American 223 120–123 (1970).
• Nielsen, M. A. & Chuang, I. L. ,Quantum
Computation and Quantum Information, 3rd ed.,
Cambridge Press, UK, 2000.
61
62