24
Governor’s School for the Sciences Mathematics Mathematics Day 13

Governor’s School for the Sciences Mathematics Day 13

Embed Size (px)

Citation preview

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