Introductory Lecture on

Slides:



Advertisements
Similar presentations
Dealing with Complexity Robert Love, Venkat Jayaraman July 24, 2008 SSTP Seminar – Lecture 10.
Advertisements

Lectures on Cellular Automata Continued Modified and upgraded slides of Martijn Schut Vrij Universiteit Amsterdam Lubomir Ivanov Department.
Game of Life Rules and Games Linh Tran ECE 573. What is Life? Life is just one example of a cellular automaton, which is any system in which rules are.
CITS4403 Computational Modelling Game of Life. One of the first cellular automata to be studied, and probably the most popular of all time, is a 2-D CA.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Cellular Automata (Reading: Chapter 10, Complexity: A Guided Tour)
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
CELLULAR AUTOMATON Presented by Rajini Singh.
Introduction to chaotic dynamics
CELLULAR AUTOMATA Derek Karssenberg, Utrecht University, the Netherlands LIFE (Conway)
Lecture of Norm Margolus. Physical Worlds Some regular spatial systems: –1. Programmable gate arrays at the atomic scale –2. Fundamental finite-state.
Force Directed Algorithm Adel Alshayji 4/28/2005.
1LAAA Turing’s Machine A mechanical formalism (1937) –State (memory), rules (program) –Tape (data) Evolutionarily successful –Beat out Church’s mathematical.
An Introduction to Cellular Automata
Hilton’s Game of Life (HGL) A theoretical explanation of the phenomenon “life” in real nature. Hilton Tamanaha Goi Ph.D. 1st Year, KAIST, Dept. of EECS.
Lectures on Cellular Automata Continued Modified and upgraded slides of Martijn Schut Vrij Universiteit Amsterdam Lubomir Ivanov Department.
Today’s Plan Introduction to Artificial Life Cellular Automata
Cellular Automata Orit Moskovich
1 GEM2505M Frederick H. Willeboordse Taming Chaos.
Cellular Automata Avi Swartz 2015 UNC Awards Ceremony.
Introduction At the heart of the growth of a multi-cellular organism is the process of cellular division… … aka (in computing) self-replication.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Chapter 12: Simulation and Modeling
Discovery of Cellular Automata Rules Using Cases Ken-ichi Maeda Chiaki Sakama Wakayama University Discovery Science 2003, Oct.17.
The Role of Artificial Life, Cellular Automata and Emergence in the study of Artificial Intelligence Ognen Spiroski CITY Liberal Studies 2005.
Complex systems complexity chaos the butterfly effect emergence determinism vs. non-determinism & observational non-determinism.
Computer Viruses, Artificial Life & the Origin of Life Robert C Newman Abstracts of Powerpoint Talks - newmanlib.ibri.org -newmanlib.ibri.org.
Irreducibility and Unpredictability in Nature Computer Science Department SJSU CS240 Harry Fu.
Governor’s School for the Sciences Mathematics Day 13.
CS 484 – Artificial Intelligence1 Announcements Lab 4 due today, November 8 Homework 8 due Tuesday, November 13 ½ to 1 page description of final project.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Computer Science Dept, San Jose State University, CA Self Reproducing CA’s and Programs Shruti Parihar May 06, 2003.
Trajectories and attractor basins as a behavioral description and evaluation criteria for artificial EvoDevo systems Stefano Nichele – October 14, 2009.
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
1 Cellular Automata and Applications Ajith Abraham Telephone Number: (918) WWW:
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
Aftificial Life: Celular Automata Dr. Shazzad Hosain Department of EECS North South Universtiy
Cellular Automata Spatio-Temporal Information for Society Münster, 2014.
Cellular Automata & DNA Computing 우정철. Definition Of Cellular Automata Von Von Neuman’s Neuman’s Definition Wolfram’s Wolfram’s Definition Lyman.
CELLULAR AUTOMATA A Presentation By CSC. OUTLINE History One Dimension CA Two Dimension CA Totalistic CA & Conway’s Game of Life Classification of CA.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
Model Iteration Iteration means to repeat a process and is sometimes referred to as looping. In ModelBuilder, you can use iteration to cause the entire.
Cellular Automata. John von Neumann 1903 – 1957 “a Hungarian-American mathematician and polymath who made major contributions to a vast number of fields,
The Science of Complexity J. C. Sprott Department of Physics University of Wisconsin - Madison Presented to the First National Conference on Complexity.
Agent Based Modeling (ABM) in Complex Systems George Kampis ETSU, 2007 Spring Semester.
Cellular Automata Introduction  Cellular Automata originally devised in the late 1940s by Stan Ulam (a mathematician) and John von Neumann.  Originally.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
Cellular Automata BIOL/CMSC 361: Emergence 2/12/08.
Pedro R. Andrade Münster, 2013
제 4 주. Cellular Automata A Brief history of Cellular Automata P. Sarkar, ACM Computing Surveys, vol. 32, no. 1, pp. 80~107, 2000 학습목표 계산도구로서의 Cellular.
TRU-COMP3710 Artificial Life and Emergent Behavior1 Course Outline Part I – Introduction to Artificial Intelligence Part II – Classical Artificial Intelligence.
What is Evolution? How do things Evolve?. Ok, we have created the Earth Earth about 4.0 Ga. We now want to follow its evolution from past to present But.
Conway’s Game of Life Jess Barak Game Theory. History Invented by John Conway in 1970 Wanted to simplify problem from 1940s presented by John von Neumann.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Chaotic Behavior - Cellular automata
Spatio-Temporal Information for Society Münster, 2014
Hiroki Sayama NECSI Summer School 2008 Week 3: Methods for the Study of Complex Systems Cellular Automata Hiroki Sayama
Pedro R. Andrade Münster, 2013
Illustrations of Simple Cellular Automata
Introduction to chaotic dynamics
Alexei Fedorov January, 2011
Cellular Automata.
Pedro R. Andrade Münster, 2013
Spatio-temporal information in society: cellular automata
Introduction to chaotic dynamics
Cellular Automata (CA) Overview
Presentation transcript:

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

} Overview Conway’s Game of Life Cellular Automata Self Reproduction Universal Machines } Artificial Life

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

EXAMPLE: Life - The Game Movement of black patterns on grid matrix

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”

Life - Conway’s Game of Life John H. Conway

Life - Conway’s Game of Life 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 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? transition rules T = 0 time T = 1 Here we are interested in rules for the middle cell only

Life - Conway’s Game of Life Life - The Game Three simple rules dies if number of alive neighbor cells =< 2 (loneliness) 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.

Another variant of Conway’s Rules Life - Conway’s Game of Life 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 - The Game Here the rules are applied only to the cell in the middle Examples of the rules loneliness (dies if #alive =< 2) overcrowding (dies if #alive >= 5) procreation (lives if #alive = 3) New cell is born

Here the rules are applied only to the cell in the middle Life - The Game Cell has four alive neighbors so its state is preserved

Rap-around the east and west and the north and south (this is only in some variants) Life - The Game ? ! ? ! ? ! ? ! ? ! ? ! ? ! What happens at the frontiers?

Life - Patterns Stable Periodic Moving If you start from such patterns, they will remain If such separated pattern is every created, it remains. Periodic These patterns oscillate with certain periods, here the period is two, please analyse Moving

Cellular Automata - Introduction Traditional science Newton laws states Now 1 second later problem: detailed description of states impossible etc etc Heisenberg principle states that it is impossible to precisely know the speed and the location of a particle basis of quantum theory How to model classical world with CA? How to model quantum world with CA?

Beyond Life - Cellular Automata “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” Let us analyze every component of the definition

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 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

Cellular Automata – Various types of Arrays “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” 1 45 34 12 90 4 27 7 1 H Q M S W E T G 1 dimensional 2 dimensional O W J A R I T D G M X E N Z P

Cellular Automata – rules for Cells “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” if #alive =< 2, then die if #alive = 3, then live if #alive >= 5, then die Identically programmable? What it gives us if not identically programmable?

Cellular Automata – Interaction is local “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” the rules if #alive =< 2, then die if #alive = 3, then live if #alive >= 5, then die Discuss the role of local interaction in modern VLSI and future (nano) technologies

Cellular Automata - Neighbourhood Classic examples of cell neighborhoods:

Cellular Automata - Neighbourhood “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” Moore neighborhood Neumann neighborhood 8 neighbors in Moore neighborhood 4 neighbors in Von Neumann neighborhood Margolus, Wolfram and other neighborhoods

Cellular Automata - States “A CA is an array of identically programmed automata, or cells, which interact with one another in a neighborhood and have definite state” 2 possible states: ON OFF Never infinite! O W J A R I T D G M X E N Z P 26 possible states: A … Z

Cellular Automata - Simple 1D Example The rules Describe the logic design – minimization, encoding, excitation function realization the same as in synchronous automata from class Observe the recursive property of the pattern

Cellular Automata - Pascal’s Triangle

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

Cellular Automata - Wow! examples

Automata Theory Automata Theory is a branch of Computer Science which: … a little bit of formalism…. 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

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 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: local dynamics 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¢ 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

Cellular Automata Formalism: definition 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 Humanoid robot example: State of this joint is a function of neighbor joints

Cellular Automata Formalism: global dynamics 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 Give examples of bridge and graph coloring to explain the principle of egoism and emerging global behavior

Cellular Automata: link to dynamical systems 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 - Types Game of life Symmetric CAs Spatial isotropic Legal Totalistic Wolfram Will be discussed

Cellular Automata - Wolfram What are the possible “behaviors” of “black patterns”? There are four possibilities: 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? Cellular Automata – Wolfram’s parameter and classes Wolfram introduced a parameter called lambda  = chance that a cell is alive in the next state  0.0 0.1 0.2 0.3 0.4 0.5 Our four classes I I II IV III 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?

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!

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

Universal Machines - Cellular Automata Stanislaw Ulam (1909 - 1984)

Universal Machines - Cellular Automata conceived in the 1940s Stanislaw Ulam - evolution of graphic constructions generated by simple rules Szkocka Café in Lwow, Poland now Ukraine Ulam asked two questions: can recursive mechanisms explain the complexity of the real? Is complexity then only appearant, the rules themselves being simple? Stanislaw Ulam Memorial Lectures

Universal Machines - Turing Machines Alan Turing (1912-1954)

(e.g., resignation letter) Universal Machines - Turing Machines Program (e.g., Microsoft Word) Data (e.g., resignation letter) Are they really this different? The idea of Universal Machine, Universal Turing Machine The idea of “Turing Test” No, they’re all just 0s and 1s!

Universal Machines - Neumann Machines John von Neumann (1903- 1957)

Universal Machines - Neumann Machines John von Neumann interests himself on theory of self-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

Game of Life is model of Universal Computing Self Reproduction Game of Life is model of Universal Computing Cellular Automata Conway - Game of Life Langton - Reproducing Loops Turing - Universal Machines Self-reproduction von Neumann - Reproduction Game of Life can lead to models of Self-reproduction See next slide

Self Reproduction Langton Loop’s 8 states 29 rules Is life that simple?

Cellular Automata as Dynamical Systems Chaos Theory Chaotic Behavior of 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 Boring life, nothing happens 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, ...

Dynamical Systems Example 2: F(x) = -x Boring life, push and pull regularity 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, ...

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) Representation of abstract state of a system Life becomes more interesting

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 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 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 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 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!

Summary Universal Machines Ulam Turing Machines Turing von Neumann Machines Game of Life Self Reproduction Ulam Turing von Neumann Conway Langton

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(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) 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 Output to 8 neighbors Dff preserve Data inputs: Cell’s 8 neighbors Lattice diagram Each control input is set to a constant or C S8 S0 S1 Feedback C Control (program) inputs (register)

Homework (cont) 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 Output to 8 neighbors Dff preserve Data inputs: Cell’s 8 neighbors This is only example, show your own creativity Lattice diagram S0=0 S8=0 S6=0 S1=0 S5=0 S7=0 S2=0 S3=1 Feedback: S4=C Control (program) inputs (register)