Cellular Automata: Based Mostly On Dr. Richard Spillman Class On Alternative Computing in Summer 2000
Cellular Automata: Based Mostly On Dr. Richard Spillman Class On Alternative Computing in Summer 2000
Cellular Automata: Based Mostly On Dr. Richard Spillman Class On Alternative Computing in Summer 2000
Based mostly on Dr. Richard Spillman class on Alternative Computing in Summer 2000
DNA
Alt Comp
Review
Binary Logic Multiple-Valued Logic Reversible Logic Automata - Finite State Machines Cellular Automata Introduction to Hardware Evolution Reconfigurable Computing Hardware Evolution Details
Alt Comp
Replacement
Alt Comp
Offspring
Synchronous!!
OUTLINE
Some Properties of CA Cellular Automata Rules Genetic Algorithms and Cellular Automata - their relations and possible extensions
Advantages of CAs
Cellular Automata offer many advantages over standard computing architecture including:
Implementation: CAs require very few wires Scalability: It is easy to upgrade a CA by adding additional cells Robustness: CAs continue to perform even when a cell is faulty because the local connectivity property helps to contain the error
Alt Comp
Applications of CAs
CAs have been (or could be) used to solve a wide range of computing problems including:
Image Processing: Each cell correspond to an image pixel and the transition rule describe the nature of the processing task Random Number Generation: CAs can generate large sequences of random numbers NP-Complete Problems: CAs can address some of the more difficult problems in computer science
Alt Comp
NP-Complete Problems:
Alt Comp
Example
Consider rule 18: 0 1 0 0 1 0 0 0
abc 000 001 010 011 100 101 110 Identical 111
Y 0 1 0 0 1 0 0 0
Alt Comp
Rule Comparison
One method of comparing different CA rules involves looking at the behavior of the rule on two similar initial conditions
Does the rule produce similar patterns or does it produce completely different patterns?
A convenient measure of distance between binary cellular automata configurations is the Hamming Distance
Its the number bits which differ between two binary strings
Alt Comp
10011010 01111000
x x x x
=4
Hamming Distance 1 2 2 4 2 2 4
RULE 90
Alt Comp
Example Two
Now try Rule 126:
000 001 010 011 100 101 110 111 0 1 1 1 1 1 1 0
Hamming Distance 1 1 3 4 7 4 8
RULE126 RULE 90
Alt Comp
0 0 1 2 3 4 5 6
Complex rules (like 126) are more sensitive to the initial condition than simple rules (like 90)
Possible Homeworks
1. Perform Wolfram-like analysis of rules for two-dimensional CAs. 2. Find Complex rules for 2D CA (like an equivalent of rule 126 in 1D CAs) and show that they are are more sensitive to the initial condition than simple rules (like rule 90 in 1D CAs) 3. Can we link the sensitivity to the interestingness defined by us in the project?
Alt Comp
Alt Comp
Observe that sometimes the cell itself is included to the neighborhood in definitions and sometimes it is not.
2-d Rules
The number of possible 2-d rules is quite large making a study of each individual rule impossible. For example:
There are 232 or about 4 x 109 von Neumann rules There are 2512 or about 10154 Moore rules
Alt Comp
Example
2-d binary von Neumann Cellular Automata with a mod 2 sum rule
Start the array with a seed (a few 1s)
We are interested in the sequence of patterns produced by this rule as compared to other rules
Alt Comp
density-classification task
if the initial configuration (IC) of cell states has a majority of 1s then it should go to the fixed-point configuration of all 1s in M steps, otherwise it should produce the fixed-point configuration of all 0s in M steps this is called the pc = 1/2 task
if p0 is the density of 1s in the IC then the all 1s configuration should occur when p0 > pc
Alt Comp
Is there a CA rule that will produce this behavior? With only local information this is hard
Alt Comp
density-classification task
Representation
The GA rule structure consisted of the output bits of the rule table in binary order
The r=3 neighborhood of a 1-d CA consists of the 3 cells on each side of the target cell bit 0 is the rule for the 0 0 0 0 0 0 0 neighborhood, bit 1 is the output rule for the 0 0 0 0 0 0 1 neighborhood, etc chromosome size is 128 bits
Alt Comp
density-classification task
Fitness
Each rule in the population was run on a sample of 100 ICs (initial conditions) randomly chosen
each CA was run until it arrives at a fixed point or for a maximum of M = 2N steps fitness was the fraction of ICs which produced the correct final behavior A different sample was selected at each generation the random sample was biased to insure that the density of 1s varied from 0 to 1
Alt Comp
density-classification task
Parent Selection
The population size was set at 100 The CAs were ranked in order of fitness The top 20% (elite rules) were passed to the next generation without modification The remaining 80% of the new population were produced using crossover between parents randomly selection from the elite rules
Alt Comp
density-classification task
Crossover/Mutation
Single point crossover was used the offspring from each crossover were each mutated at exactly two randomly chosen positions
Alt Comp
density-classification task
Results
Each GA ran for a maximum of 100 generations While no general rule was discovered, the GA did find rules that worked on about 75% of the ICs
Alt Comp
Alt Comp
Build a GA to generate a CA Look into the connection between artificial life and cellular automata
Possible Homeworks
1. Create and specify CA with
3D rules. How to implement them in know FPGAs? 2. Discuss such issues in von Neumann rules versus Moore rules