governor’s school for the sciences
DESCRIPTION
Governor’s School for the Sciences. Mathematics. Day 13. MOTD: John von Neumann. 1903 to 1957 Built mathematical framework for quantum mechanics Worked in game theory Developed first modern day computer Developed cellular automata Pioneer of computer science. How GSS is like college. - PowerPoint PPT PresentationTRANSCRIPT
Governor’s School for the Sciences
MathematicsMathematicsDay 13
MOTD: John von Neumann
• 1903 to 1957• Built mathematical
framework for quantum mechanics
• Worked in game theory• Developed first modern
day computer• Developed cellular
automata• Pioneer of computer
science
How GSS is like college
• More freedom and responsibility• Some classes of interest; some
required• Classes tough; pace is fast• Work is done outside of class• Students better than average HS
students
How college is not like GSS
• Freedom to get in big trouble and be completely irresponsible
• Instructor not always good or caring• Classes not designed to be fun or
neccesarily interesting• Workload can be overwhelming• Being smart does still not make you
popular
Cellular Automata
• Cells – d-dim’l set of squares (cells):
• Each cell is in one of k states (or colors) and is a simple computer
• Each cell runs the same simple ‘program’ called a transition or update rule
• Rule gives next state depending on state of neighbors
Executing a CA
• Assign initial states to the cell array• For each time cycle, execute the rule
at each cell (all updates occur at the same time)
• The results can model physical patterns, generate random numbers and have other applications
Group ExerciseGroup Exercise
Examples (d=1)
Details for 1D
• Associate the cells with the integers: …,-4,-3,-2,-1,0,1,2,3,4,… (infinite)
• State is designated: x(i) or xi
• Rule based on states of cells in neighborhood: Ni = {j : |i-j| }, is range
• Example , Ni = {i-1, i, i+1}• k states means k different possible
neighborhood state combinations• Rule specifies future state for each possible
combination
Simplest Case: d=1, =1, k=1
• Neighborhood of i has states x(i-1), x(i), x(i+1)
• Call them p, q, r• Rules are arithmetic/logical combinations of
p, q and r, like (p+r) mod 2 1 – (1-p)(1-q)(1-r) r and q p
• Or just an explicit set of outputs for each of the 8 possible neighbor state combos
Worksheet
• Start with the pattern and apply these rules 5 timesEx: p + r (mod 2) You Try A: r B: (p or q) or r C: 1-p*q
Results
(aside) Binary Arithmetic
• 2 states: denote them 0 and 1• The states of a collection of cells is just
a list of 0s and 1s• A list of 0s and 1s can be interpreted as
the base-2 representation of a positive integer (and vice-versa!) 101101002 = 27 + 25 + 24 + 22 = 18010
• Use for numbering neighborhoods and rules
… and Boolean Algebra
• 1=on and 0=off or 1=true and 0=false• If p and q are two values then
not p = 1-p p and q = pq p or q = 1 – (1-p)(1-q) p xor q = p+q (mod 2)
• Any logical rule using two states can be written as an binary arithmetic expression
Naming Rules
8 possible nbhd patterns
2 possible outputs for each pattern
28 = 256 possible rules
Naming Rules (2)
• Given any rule, it produces 8 output values, one for each neighborhood
• Write outputs in order from 7 to 0 and interpret as a binary number
• Decimal value is the Rule Number• Ex: Rule 30: 30 = 000111102
Rule 110: 110 = 011110002
• Remember to read from right to left for states 0-7
Classification
• 4 basic cases for CAs
Class 1: tends toward a limit point (like all 0s)Class 2: tends toward a cycle Class 3: chaotic behaviorClass 4: more complex; capable of universal computation
Other Classification
• Totalistic: rule only depends on sum of neighboring values (24 = 16)
• Legal: totalistic, plus if sum=0, state must be 0 (23 = 8)
• Reversible: can go forward or back in time (without losing information)
#254 (C1)
#170 (C2)
#30 (C3)
#110 (C4)
Finite State Machine
• S = finite set of states• I = finite set of inputs• O = finite set of outputs• f s = a function that takes a state and an
input and produces a state• f o = a function that takes a state and
produces an output• Given a starting state and a string of
inputs, apply f o and f s repeatedly to produce a string of outputs
Turing Machines
• A Turing machine is like a finite state machine, except: It can erase/write on the input It can read input forward or backward
• A Turing machine is an abstract algorithm and its existence and properties are used to say clever things about the algorithm, e.g. decidability and complexity
Universal Turing Machines
• There is a Turing machine which can simulate the action of any other Turing machine on any input
• It is called the Universal Turing Machine• Basic idea: write a ‘program’ for a
Turing machine and encode it on the input tape, the UTM reads the ‘program’ and executes it on the rest of the input; complicated due to lack of memory
CA and Turing Machines
• Rule 110 is a Universal Turing Machine
• There are CAs which are Universal CAs! (much more complicated than a UTM; serial versus infinitely parallel)
Lab Time
• Classification of all 256 rules for the simple case
• Each person will do 16 different rules; assignment in Lab
• Everyone must do their part!
• When done: work on your project