Elementary Cellular Automata with

Similar documents
Investigation of Rule 73 as a Case Study of Class 4 Long-Distance Cellular Automata. Lucas Kang

Modelling with cellular automata

arxiv: v1 [cs.fl] 17 May 2017

Cellular automata are idealized models of complex systems Large network of simple components Limited communication among components No central

Note that numerically, with white corresponding to 0 and black to 1, the rule can be written:

Discrete Tranformation of Output in Cellular Automata

Partitioning of Cellular Automata Rule Spaces

Section 20: Arrow Diagrams on the Integers

Cellular Automata. Jason Frank Mathematical Institute

Grids of Finite Automata

Coalescing Cellular Automata

Motivation. Evolution has rediscovered several times multicellularity as a way to build complex living systems

How Latent Semantic Indexing Solves the Pachyderm Problem

Words generated by cellular automata

Extension of cellular automata by introducing an algorithm of recursive estimation of neighbors

Chapter 2 Simplicity in the Universe of Cellular Automata

Rule 110 explained as a block substitution system

The Haar Wavelet Transform: Compression and. Reconstruction

Generating Function Notes , Fall 2005, Prof. Peter Shor

Katholieke Universiteit Leuven Department of Computer Science

Introduction to Artificial Life and Cellular Automata. Cellular Automata

BINARY MORPHOLOGY AND CELLULAR AUTOMATA

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

The Nature of Computation

ELE2120 Digital Circuits and Systems. Tutorial Note 10

CBSSS 6/24/02. Physics becomes the. Computing Beyond Silicon Summer School. computer. Norm Margolus

About Coarse Graining by elimination of relevant degrees of freedom Bernard Francois

1 GSW Sets of Systems

MAT Mathematics in Today's World

Cellular Automata and Tilings

Cellular automata in noise, computing and self-organizing

15 Skepticism of quantum computing

Against the F-score. Adam Yedidia. December 8, This essay explains why the F-score is a poor metric for the success of a statistical prediction.

Lecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata

x y = 1, 2x y + z = 2, and 3w + x + y + 2z = 0

Lecture 15: Exploding and Vanishing Gradients

Algebra. Here are a couple of warnings to my students who may be here to get a copy of what happened on a day that you missed.

Periodic Table Coloring Activity

Lecture 3: Special Matrices

Non-Standard Constraints. Setting up Phase 1 Phase 2

Tree Automata as Infinite Countermodels for Propositional Logics

MODULAR ARITHMETIC KEITH CONRAD

Differential Equations

Grade 7/8 Math Circles November 27 & 28 &

Cellular Automata. and beyond. The World of Simple Programs. Christian Jacob

Lesson 1 WHAT S A GROUP?

STEP Support Programme. Hints and Partial Solutions for Assignment 17

CS168: The Modern Algorithmic Toolbox Lecture #7: Understanding Principal Component Analysis (PCA)

II. Spatial Systems A. Cellular Automata 8/24/08 1

CS4026 Formal Models of Computation

Descriptive Statistics (And a little bit on rounding and significant digits)

Calculating Weight Using Volume

Unit 8: Sequ. ential Circuits

Bayesian Learning. Artificial Intelligence Programming. 15-0: Learning vs. Deduction

COMS 4721: Machine Learning for Data Science Lecture 20, 4/11/2017

For those who want to skip this chapter and carry on, that s fine, all you really need to know is that for the scalar expression: 2 H

Topic 7 Notes Jeremy Orloff

CSC321 Lecture 15: Exploding and Vanishing Gradients

Classification and Regression Trees

Sanjit A. Seshia EECS, UC Berkeley

Combining the cycle index and the Tutte polynomial?

Cell-based Model For GIS Generalization

A non-turing-recognizable language

Complex Systems Theory

The Effects of Coarse-Graining on One- Dimensional Cellular Automata Alec Boyd UC Davis Physics Deparment

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

II. Spatial Systems. A. Cellular Automata. Structure. Cellular Automata (CAs) Example: Conway s Game of Life. State Transition Rule

MATRIX MULTIPLICATION AND INVERSION

Discrete Mathematics and Probability Theory Fall 2014 Anant Sahai Note 15. Random Variables: Distributions, Independence, and Expectations

An Explicit Similarity Transform between Cellular Automata and LFSR Matrices*

Math 350: An exploration of HMMs through doodles.

Section 1.5. Solution Sets of Linear Systems

6. Finite State Machines

The Game (Introduction to Digital Physics) *

Design Example: 4-bit Sequence Detector

Toward a Better Understanding of Complexity

Part I Electrostatics. 1: Charge and Coulomb s Law July 6, 2008

Slide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Properties of Arithmetic

Coexistence of Dynamics for Two- Dimensional Cellular Automata

What Every Programmer Should Know About Floating-Point Arithmetic DRAFT. Last updated: November 3, Abstract

Linear Algebra, Summer 2011, pt. 2

3.4 Complex Zeros and the Fundamental Theorem of Algebra

Recitation 5: Elementary Matrices

CBSSS 6/25/02. Physics becomes the. Computing Beyond Silicon Summer School. computer. Norm Margolus

Languages, regular languages, finite automata

CS 4700: Foundations of Artificial Intelligence Homework 2 Solutions. Graph. You can get to the same single state through multiple paths.

Computational Models #1

II. Cellular Automata 8/27/03 1

Topic 15 Notes Jeremy Orloff

Fundamentals of Mathematics I

DIFFERENTIAL EQUATIONS

Instructor (Brad Osgood)

Quadratic Equations Part I

Linear Classifiers and the Perceptron

Characterization of Fixed Points in Sequential Dynamical Systems

Regression, Part I. - In correlation, it would be irrelevant if we changed the axes on our graph.

Problems for M 8/31: and put it into echelon form to see whether there are any solutions.

Nondeterministic finite automata

Chapter 4. Solving Systems of Equations. Chapter 4

Transcription:

letourneau_pdf.nb 1 Elementary Cellular Automata with Memory Paul-Jean Letourneau Department of Physics, University of Calgary Elementary Cellular Automata (ECA) In order to explain how an Elementary Cellular Automaton with Memory works, let me put it in the context of an ECA. In an ECA, one has a row of cells, each either black or white. Each cell is updated in parallel according to a simple rule that states what the new color of the cell should be, depending on its current color and that of its left and right neighbors. There are 256 such rules, but only 88 remain after removing cases that are equivalent with respect to left-right reflection and black-white inversion. Elementary Cellular Automata cont d Although all the cells in a row are updated in parallel in a CA, this animation shows each cell being updated one at a time. The red border shows the cell being updated, along with its neighborhood above it. In the rule table at the bottom, the rule case that s being used for that particular cell is also highlighted in red.

letourneau_pdf.nb 2 Elementary Cellular Automata with Memory Here is how I propose to incorporate memory into an ECA. Now the value of the centre cell in the neighborhood will be referenced from a step in the past. Here is an example where the value of the centre cell is taken from two (2) time steps into the past. The "memory" here is therefore 2.

letourneau_pdf.nb 3 Notice that we re still using the same rule table. Everything is the same as in an ECA, except for the way we reference the centre neighborhood cell. Also note that we have to specify more rows in the initial condition in order to accomodate the memory. In general, if the memory is T, then the initial condition has to have T 1 rows. When T 0, we recover the ECA again. Elementary Cellular Automata with Memory: ECAM Here is the full rule table for an ECA with Memory: T In addition to the ECA rule table we specify the memory in the centre cell.

letourneau_pdf.nb 4 Instead of being long-winded and always saying "Elementary Cellular Automaton with Memory T in centre cell", I ll just use the acronym ECAM-T (I pronounce it "eekam"). To be really compact when I am labelling figures and such, I ll also use the notation x-t, to mean "Rule x ECAM-T". There are of course lots of ways one could imagine adding memory to a CA. But in keeping with the NKS philosophy, I have tried to keep it as simple as possible. In an ECAM, we are only considering ECA rule tables, and we are only time-shifting the centre cell. In fact, this memory scheme was suggested to me by Stephen Wolfram at the 2004 NKS Summer School, which is where this project got started. Rule 30 ECAM-T Here is rule 30 with memories from 0 (the ECA case) to 5: 30 1 30 4 The initial condition being used here is T 1 rows with a single black cell in the middle:

letourneau_pdf.nb 5 Rule 30 ECAM-T: Random Initial Conditions 30 1 30 4

letourneau_pdf.nb 6 All ECAM-1: Simple Initial Condition 1 3 1 4 1 5 1 6 1 7 1 8 3 1 14 1 15 1 18 1 19 1 22 1 8 1 29 1 30 1 32 1 33 1 34 1 1 1 42 1 43 1 44 1 45 1 46 1 8 1 60 1 62 1 72 1 73 1 74 1 4 1 105 1 106 1 108 1 110 1 122 1 6 6 1 138 1 140 1 142 1 146 1 150 1 2 4 1 168 1 170 1 172 1 178 1 184 1 0

letourneau_pdf.nb 7 All ECAM-1: Random Initial Conditions 1 3 1 4 1 5 1 6 1 7 1 8 3 1 14 1 15 1 18 1 19 1 22 1 8 1 29 1 30 1 32 1 33 1 34 1 1 1 42 1 43 1 44 1 45 1 46 1 8 1 60 1 62 1 72 1 73 1 74 1 4 1 105 1 106 1 108 1 110 1 122 1 6 6 1 138 1 140 1 142 1 146 1 150 1 2 4 1 168 1 170 1 172 1 178 1 184 1 0

letourneau_pdf.nb 8 All ECAM-2: Simple Initial Condition 2 3 2 4 2 5 2 6 2 7 2 8 3 2 14 2 15 2 18 2 19 2 22 2 8 2 29 2 30 2 32 2 33 2 34 2 1 2 42 2 43 2 44 2 45 2 46 2 8 2 60 2 62 2 72 2 73 2 74 2 4 2 105 2 106 2 108 2 110 2 122 2 6 6 2 138 2 140 2 142 2 146 2 150 2 2 4 2 168 2 170 2 172 2 178 2 184 2 0

letourneau_pdf.nb 9 All ECAM-2: Simple Initial Condition 2 3 2 4 2 5 2 6 2 7 2 8 3 2 14 2 15 2 18 2 19 2 22 2 8 2 29 2 30 2 32 2 33 2 34 2 1 2 42 2 43 2 44 2 45 2 46 2 8 2 60 2 62 2 72 2 73 2 74 2 4 2 105 2 106 2 108 2 110 2 122 2 6 6 2 138 2 140 2 142 2 146 2 150 2 2 4 2 168 2 170 2 172 2 178 2 184 2 0 Emulating an ECAM with a Cellular Automaton Before I show more of this corner of the computational universe, I d like to show how to construct a Cellular Automaton that emulates an ECAM-T, for any memory T. Let s start by considering a particular ECA rule icon:

letourneau_pdf.nb 10 ECAM-3 Emulation For concretness, I ll use an ECAM-3 as an example. It should be clear how it works for any memory T. In an ECAM-3, the centre cell is referenced from 3 steps back in time: 3 So the rule icon with intermediate time steps shown becomes where the cells not being used in updating the cell are outlined in gray. Call them "don t-care bits", because the rule doesn t "care" about them. ECAM-3 Emulation Now label the don t-care bits with letters:

letourneau_pdf.nb 11 A G B C D E H I F ECAM-3 Emulation For each cell in the neighborhood, we keep track of 4 cells (in general T 1) in the following way: A G B D H A G C E I B C D E H I F F D E F Notice that for the output bit, we keep track of cells D, E, and F, which are the same don t care bits that we keep track of for the middle input bit. ECAM-3 Emulation We now encode the time histories for each cell as a base-2 digit sequence, where the most significant bit is the most recent in time.

letourneau_pdf.nb 12 G H I C B A F E D F E D Therefore the time history for each cell is encoded as a single cell. ECAM-3 Emulation Now the crucial thing to recognize is that since the ECAM is totally independent of the values of the don t care bits A through I, the emulation must work for all possible values of these bits, for a given rule icon. Therefore, for each ECA rule icon, we populate the rule table of the emulation with all possible combinations of don t care bits. The cells outlined in red below are the cells that stay the same, because they are fixed by the rule icon. Note in the figure that as we take all combination of don t care bits, we always make sure that bits D, E, and F are preserved from the input to the output. This is what really enforces a consistent time-encoding. C B A F E D F E D

letourneau_pdf.nb 13 D E F G H I Enco ECAM-3 Emulation Since each cell in the emulation contains 4 bits, which can have 2 4 16 different values, the emulation of an ECAM-3 requires a k 16 color CA. In general, this emulation generates a k 2 T 1 color CA. So the emulations live in a rule space with k k3 2 T 1 2T 1 3 rules. For ECAM-1, that s a rule space with 340 282 366 920 938 463 463 374 607 431 768 211 456 rules.

letourneau_pdf.nb 14 ber of rules Size of the Emulation rule space for ECAM T 00 00 00 00 2 3 4 5 ECAM-1 Emulation: Example Here is an example of a 4-color CA emulating rule 54 ECAM-1, from random initial conditions. The rule number of the 4-color rule is 114 308 428 836 046 362 728 713 265 888 850 414 240.

letourneau_pdf.nb 15 a b ECAM block emulation It turns out that there is another kind of emulation that one can construct for an ECAM-T. If one considers square blocks of cells of side length T 1, one finds that these blocks behave just as individual cells would in a CA. For memory T 2, one takes 3x3 blocks, and constructs a CA neighborhood of 3x3 blocks. The output 3x3 block is completely determined if you specify the three 3x3 input blocks above it.

letourneau_pdf.nb 16 Mapping each 3x3 block to a different color, and then constructing the rule table, one gets a CA with 2 9 512 colors. In general, a Block Emulation of an ECAM-T is a CA with k 2 T 1 2 colors. Rule 30 ECAM-2 Block Evolution Here is rule 30 ECAM-2, partitioned into nonoverlapping 3x3 blocks. I call this the "Block Representation". ECAM: Block Density Representation A simple way to view the block emulation is to plot the average number of black cells in each block (the density).

letourneau_pdf.nb 17 I call this the "Block Density Representation". Each cell on the right is actually a 3x3 block of cells. Note that this is a "lossy" mapping, in that we ve given all the blocks with the same density the same color. Since we don t preserve the identity of each block, this mapping is irreversible. A Second Look at Rule 30 ECAM-T Recall that previously we looked at rule 30 ECAM-T for several values of T. Here is the same plot, this time in the block density representation.

letourneau_pdf.nb 18 30 1 4 Rule 30 ECAM-T... and with more memory.

letourneau_pdf.nb 19 30 7 10 It s immediately clear that there are similar features between rule 30 and rule 30 ECAM-T, for many values of T. Rule 22 ECAM-T Here is rule 22 ECAM-T in the block density representation. Again, for many T, the rule has similar features.

letourneau_pdf.nb 20 0 22 3 Rule 62 ECAM-T Here is rule 62. Just like for rule 30 and rule 22, there are details that are different, but the overall form is similar. 62 0

letourneau_pdf.nb 21 62:2 62:4 Rule 110 ECAM-2 "110 0"

letourneau_pdf.nb 22 "110:2" Interesting Growth Rule 41 ECAM-3 This is rule 41 ECAM-3 from one of the 65 thousand single 4x4 block initial conditions, shown in the block-density representation. Notice the sudden change in the growth rate of the inner structure. Is this a phase transition?

ECAM are Elementary Cellular Automata with Memory, where the centre cell is referenced from a number of time steps in the past. We looked exhaustively at all ECAM-1 and ECAM-2 from simple and random initial conditions. We found that ECAM-1 only do repetitive or nested things from a simple initial condition, and ECAM-2 do more complex things from a simple initial condition. Any ECAM-T (where T is the memory of the centre cell) can be emulated by a CA without memletourneau_pdf.nb 23 41:3 A Robust Phenomenon Across all ECAM, the block representation clearly shows that there is a fundamental similarity between rule x and rule x ECAM-T. Conclusions

letourneau_pdf.nb 24 Any ECAM- (where is the memory of the centre cell) can be emulated by a CA without memory, and 2 T 1 colors. Any ECAM-T also has an emulation that evolves squre blocks of cells of side length T 1. Mapping blocks to colors, one gets a CA with 2 T 1 2 colors. In the "Block Density Representation", one plots the density of black cells in each block. Using the block density representation, a given rule has similar features for most values of T. Acknowledgements Todd Rowland: collaborator at Wolfram Research Stephen Wolfram: original idea for memory scheme (2004) Karl-Peter Marzlin: supervisor, Institute for Quantum Information Science, Department of Physics, University of Calgary Christian Jacob: supervisor, Artificial Intelligence Laboratory, Department of Computer Science, University of Calgary Eric Rowland: block emulation idea National Science and Engineering Research Council of Canada (NSERC): major funding