Cellular Automata. Cellular Automata contains three modes: 1. One Dimensional, 2. Two Dimensional, and 3. Life

Similar documents
UNIT 9C Randomness in Computation: Cellular Automata Principles of Computing, Carnegie Mellon University

What are Cellular Automata?

Conway s Game of Life Wang An Aloysius & Koh Shang Hui

Two-dimensional Totalistic Code 52

CELLULAR AUTOMATA IN MATHEMATICAL MODELING JOSH KANTOR. 1. History

Generalized Coordinates for Cellular Automata Grids

Drawdown Automata, Part 1: Basic Concepts

Hexagonal Lattice Systems Based on Rotationally Invariant Constraints

IALP Algorithms

Assignment 5. INF109 Dataprogrammering for naturvitskap

Complex Dynamics in Life-like Rules Described with de Bruijn Diagrams: Complex and Chaotic Cellular Automata

CHAOS Chaos Chaos Iterate

Cellular Automata. Nicholas Geis. January 22, 2015

Normal Algorithmetic Implementation of Cellular Automata

A Slice of Life

Graph Adjacency Matrix Automata Joshua Abbott, Phyllis Z. Chinn, Tyler Evans, Allen J. Stewart Humboldt State University, Arcata, California

Parallel Programming Patterns

Self-formation, Development and Reproduction of the Artificial System

Maximum Density Still Life

Selective Space Structures Manual

Ancient Kiln Landscape Evolution Based on Particle Swarm Optimization and Cellular Automata Model

Modeling and Simulating Social Systems with MATLAB

Platform Color Designs for Interactive Molecular Arrangements

ELEN E4830 Digital Image Processing. Homework 6 Solution

Robots & Cellular Automata

Fall CSE 633 Parallel Algorithms. Cellular Automata. Nils Wisiol 11/13/12

AN INSIGHT INTO CELLULAR AUTOMATA-BASED IMPULSE NOISE FILTRATION ALGORITHMS

Cellular Automata on the Micron Automata Processor

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze

Technology Assignment: Scatter Plots

L Modeling and Simulating Social Systems with MATLAB

Application of Two-dimensional Periodic Cellular Automata in Image Processing

A cell is highlighted when a thick black border appears around it. Use TAB to move to the next cell to the LEFT. Use SHIFT-TAB to move to the RIGHT.

Application of Totalistic Cellular Automata for Noise Filtering in Image Processing

4-Border and 4-Boundary

Cellular Learning Automata-Based Color Image Segmentation using Adaptive Chains

CS106X Handout 06 Autumn 2012 September 26 th, 2012 Grids and Queen Safety

UNIVERSITY OF WATERLOO Faculty of Mathematics

MIT Programming Contest Team Contest 1 Problems 2008

Grey Codes in Black and White

THESIS APPROVAL. Melanie Mitchell, Chair. Karen Karavanic. Martin Zwick

Automatic Classification of One-Dimensional Cellular Automata

Introduction to PascGalois JE (Java Edition)

Creating a Basic Chart in Excel 2007

Digital Image Processing. Prof. P. K. Biswas. Department of Electronic & Electrical Communication Engineering

LESSON 1: INTRODUCTION TO COUNTING

SIMULATION OF ARTIFICIAL SYSTEMS BEHAVIOR IN PARAMETRIC EIGHT-DIMENSIONAL SPACE

BMVC 1996 doi: /c.10.41

(Refer Slide Time: 00:02:00)

THE RELATIONSHIP BETWEEN PROCEDURAL GENERATION TECHNIQUES: CELLULAR AUTOMATA AND NOISE JESSE HIGNITE. Advisor DANIEL PLANTE

Cellular Automata. Vit Krajcik

THE preceding chapters were all devoted to the analysis of images and signals which

High-Performance Computing

Image Acquisition + Histograms

NON-CALCULATOR ARITHMETIC

Simulation of the Dynamic Behavior of One-Dimensional Cellular Automata Using Reconfigurable Computing

The Drunken Sailor s Challenge

What is an Image? Image Acquisition. Image Processing - Lesson 2. An image is a projection of a 3D scene into a 2D projection plane.

Lecture 18 Representation and description I. 2. Boundary descriptors

New Approach for Modifying Blowfish Algorithm by Using Multiple Keys

Excel Core Certification

COMPUTER EXERCISE: POPULATION DYNAMICS IN SPACE September 3, 2013

Image Segmentation Using Cellular Automata: A Technical Survey

About Phoenix FD PLUGIN FOR 3DS MAX AND MAYA. SIMULATING AND RENDERING BOTH LIQUIDS AND FIRE/SMOKE. USED IN MOVIES, GAMES AND COMMERCIALS.

Two-dimensional Four Color Cellular Automaton: Surface Explorations

S206E Lecture 3, 5/15/2017, Rhino 2D drawing an overview

[-n]<samples> samples per CA field. Default=2500 [-m]<fields> number of CA fields sampled. Default=5000 [-k]<dimensions> number of spatial dimensions.

Chapter 4 Determining Cell Size

A simple problem that has a solution that is far deeper than expected!

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss

Spreadsheet Warm Up for SSAC Geology of National Parks Modules, 2: Elementary Spreadsheet Manipulations and Graphing Tasks

UNC Charlotte 2009 Comprehensive March 9, 2009

Subject: Computer Applications Grade: 9th Mr. Holmes Unit Lesson Layer Duration MS Excel Chapter: 7 - Creating a Chart in Excel

Introduction To Python

Problem A. Interactive Smiley Face

Lecture 7: Most Common Edge Detectors

A SIMPLE MODEL OF THE BELOUSOV-ZHABOTINSKY REACTION FROM FIRST PRINCIPLES

Morphological Image Processing

Machine Evolution. Machine Evolution. Let s look at. Machine Evolution. Machine Evolution. Machine Evolution. Machine Evolution

An Eternal Domination Problem in Grids

COMPUTER SIMULATION OF COMPLEX SYSTEMS USING AUTOMATA NETWORKS K. Ming Leung

Years after US Student to Teacher Ratio

7. Traffic Simulation via Cellular Automata

Data Mining with Cellular Discrete Event Modeling and Simulation

Introduction to Computer Vision. Human Eye Sampling

Cellular Automata Language (CAL) Language Reference Manual

Singular Value Decomposition, and Application to Recommender Systems

Problem 3. (12 points):

Lecture 3: Tilings and undecidability

Grade 8 FSA Mathematics Practice Test Guide

Variations on Genetic Cellular Automata

Cellular Automata Simulations

Steganography by using Logistic Map Function and Cellular Automata

June 10, 2014 Scientific computing in practice Aalto University

Clip Art and Graphics. Inserting Clip Art. Inserting Other Graphics. Creating Your Own Shapes. Formatting the Shape

Total Number of Students in US (millions)

CHAPTER 6 PERCEPTUAL ORGANIZATION BASED ON TEMPORAL DYNAMICS

Enhanced Cellular Automata for Image Noise Removal

arxiv: v1 [nlin.cg] 15 Nov 2009

1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which:

Transcription:

Cellular Automata Cellular Automata is a program that explores the dynamics of cellular automata. As described in Chapter 9 of Peak and Frame, a cellular automaton is determined by four features: The state space The number of states per cell The neighborhood of a cell The evolutionary rule The state space is the collection of all cells (assumed identical) on which the automation works. Cellular Automata explores binary automata, those that have two states per cell. For binary automata, the two states are often said to be on and off, or alive and dead. The neighborhood of a cell is the set of cells in the vicinity of a given cell that can influence the state of that given cell in the next generation. The evolutionary rule determines the state of a cell in the next generation from the states of the cells in its neighborhood in the present generation. Cellular Automata contains three modes: 1. One Dimensional, 2. Two Dimensional, and 3. Life Upon execution of Cellular Automata the user is first asked to choose a mode. After that a user can change modes by selecting the appropriate option under the Mode menu. Let s begin by choosing the One Dimensional mode. In this mode the cells are displayed in the graph window of the screen along a horizontal line with each generation below its predecessor. Upon selecting this mode, you will be asked to select at cell size (in pixels). The choices are 1 x 1 (very small, almost invisible), 2 x 2 (a little larger), and 4 x 4 (even larger). For this example, let s select the 2 x 2 choice. Next, you will be asked to select a neighborhood type. There are four choices: (1) N=3, Full, (2) N=3, OT, (3) N=5, Full, and (4) N=5, OT. These neighborhood types will be explained a little later, but for now, we will choose the first of these. The N=3 means that the neighborhood of a cell is itself, the cell to its immediate left, and the cell to its immediate right. Upon selecting the neighborhood type, a window like that of Figure 1. Note that there are eight rows of three boxes, some of which are filled in. Each row is preceded by a check box. The eight rows represent the possible configurations of a cell and its two immediate neighbors black means live and white means dead. When a box is checked, then if that configuration represents the present state of a cell and its neighbors, that cell will be live in the next generation. For this example, let s check the second and fifth configurations. Hence a cell will be live in the next generation if it is dead in the current generation, but either of its immediate neighbors is live in the current generation.

Figure 1 Next, you will be asked for a seed choice. There are three options: (1) Central, (2) Random and Homemade. These choices will be explained later, but for now, we will choose the first of these. When this option is selected, the only live cell in the first generation is the one in the middle of the screen. Now press the Go button and then Automate. Generation after generation is displayed, one below the other. After a few seconds the screen will appear as in Figure 2. Now let s look at the modes in more detail. First up is the One Dimensional mode. As stated before the cells are displayed in the graph window of the screen along a horizontal line with each generation below its predecessor. We have already seen neighborhood type N=3, Full. The second type is N=3, OT, where the OT stands for Outer Totalistic. The neighborhood of a cell is the same as before, itself, the neighbor to its immediate left and the neighbor to its immediate right. However, an outer totalistic rule is stated in terms of the total of on-neighbors outside of the central cell, not in terms of which of the neighbors is on. When this neighborhood type is selected like that of Figure 3 will appear. Note that there are six check boxes, two each under the numbers 2, 1, and 0. The number represents the number of live cells (not including the cell itself) in the neighborhood. Thus, there are three choices both the other cells could be live (this corresponds to 2), exactly one of the cells could be live (This corresponds to 1),or neither of the cells could be alive (this corresponds to 0). For each pair of boxes, the left member corresponds to the central cell of the neighborhood being live, the right corresponds to the central cell of the neighborhood being dead. For example, checking the right box under 2 and the left box under 1 gives the following rule: if the central cell is dead and both its neighbors are live, or if the central cell is live and exactly one of its neighbors is alive, then the central cell is live in the next generation.

Figure 2 Figure 3 The third neighborhood type is N=5, Full, where the neighborhood of a cell consists of the cell itself and its two immediate left and right neighbors. When this option is chosen a window appears similar to the one that appears when the N=3, Full option is chosen, except that there are 32 rather 8 different possible configurations. The final neighborhood type is N=5, OT. This type is like the N=3, OT, except that the neighborhood of a cell is itself and its two immediate left and right neighbors. There are five possibilities for the number of live cells (not including the cell itself) in the neighborhood, 0 through 4. When this option is chosen, there are ten check boxes displayed, two each under the numbers 4, 3, 2, 1, and 0. The interpretation of these boxes is exactly the same as in the N=3, OT case.

A note about neighborhoods. Ideally, a state space is infinite in extent, but any realization in any computer can contain only a finite number of cells. Cellular Automata treats this situation by imposing a wraparound, that is, the left-most cell and the right-most cell on the screen are taken to be adjacent. Once the neighborhood type is determined you are asked to select a seed type. There are three choices: (1) Central, (2) Random, and (3) Homemade. When the Central seed option is selected the initial generation consists of a single live cell which is located in the middle of the viewing rectangle. When you select the Random option you will be asked to specify the percentage of live cells in the initial generation. Once that specification is made, Cellular Automata randomly chooses the live cells in the initial generation. When the Homemade option is selected, a small cursor appears at the top left of the graph window. This cursor can be moved to the left or right by use of the arrows keys. Initially all cells in the initial generation are considered dead. You can change the dead/live status of any cell by moving the cursor over that cell and then pressing the space bar. Once you have definitely decided on which cells should be live in the initial generation you can press the Enter key. Now that the cell size, neighborhood type, the evolutionary rule, and the initial seed are all specified, a Go button appears in the status window. When it is pressed, you have the option to plot the Next State (generation) only, or to Automate (let Cellular Automata plot each succeeding generation without stopping), or to stop. When a generation is plotted, the generation number along with the percentage of live cells is printed at the bottom of the screen. Also when Automate is selected, the user has the option to Pause the calculations at any time. Figure 4 shows the evolution of generations with 2 x 2 cells, the neighborhood type is N=5, OT with evolutionary rule and a central single live cell in the initial generation. After a problem is set up, the cell size, the neighborhood type, the evolutionary rules, and the seed type can all be edited via the status window appearing on the right hand side of the screen. We next move on to the next mode Two Dimensional. In this mode the cells are displayed in a 100 x 100 square grid and each successive generation replaces its predecessor as it is calculated. Like the One Dimensional mode, Cellular Automata imposes a wraparound so the left-most and right-most edge cells are considered to be neighbors and the top and bottom cells are also considered to be neighbors. Also like the One Dimensional Mode, you will first be asked to select a cell size (in pixels). The choices are 2 x 2 and 4 x 4.

Figure 4 Next, you will be asked to select a neighborhood type. There are three choices: (1) VN, Full, (2) VN, OT, or M, OT. The VN stands for von Neumann and such neighborhoods consist of the central cell, its immediate neighbor to the left (its western neighbor), to the right (its eastern neighbor), above (its northern neighbor) and below (its southern neighbor). When the VN, Full option is chosen, a window like that of Figure 5 appears. Note there are 32 grids of boxes, of which some of the boxes are filled in. Each grid is preceded by a check box. The 32 grids represent the possible configurations of a cell and its four neighbors black means live and white means dead. When a box is checked, then if that configuration represents that present state of a cell and its neighbors, that cell will be live in the next generation. Figure 5

The OT in the last two neighborhood types stands for Outer Totalistic. When the VN, OT option is chosen, there are ten check boxes displayed, two each under the numbers 4, 3, 2, 1, and 0. The number represents the number of live cells (not including the cell itself) in the neighborhood. For each pair of boxes, the left member corresponds to the central cell of the neighborhood being live, the right corresponds to the central cell of the neighborhood being dead. For example, checking the right box under 2 and the left box under 1 gives the following rule: if the central cell is dead and two of its four neighbors are live, or if the central cell is live and exactly one of its neighbors is live, then the central cell is live in the next generation. The third neighborhood type is M, OT. The M stands for Moore a Moore neighborhood consists of the von Neumann neighborhood plus the cells at the northeast, northwest, southwest, and southeast corners. Thus, when the M, OT option is chosen, there are 18 check boxes displayed, two each under the numbers 8, 7, 6, 5, 4, 3, 2, 1, and 0. The interpretation of these boxes is exactly the same as in the VN, OT case. Once the neighborhood type is determined you are asked to select a seed type. There are three choices: (1) Central, (2) Random, and (3) Homemade. When the Central seed option is selected the initial generation consists of a single live cell which is located in the middle of the viewing rectangle. When you select the Random option you will be asked to specify the percentage of live cells in the initial generation. Once that specification is made, Cellular Automata randomly chooses the live cells in the initial generation. When the Homemade option is selected, a small cursor appears in the center of the graph window. This cursor can be moved to the left, right, up, or down by use of the arrows keys. Initially all cells in the initial generation are considered dead. You can change the dead/live status of any cell by moving the cursor over that cell and then pressing the space bar. Once you have definitely decided on which cells should be live in the initial generation you can press the Enter key. Now that the cell size, neighborhood type, the evolutionary rule, and the initial seed are all specified, a Go button appears in the status window. When it is pressed, you have the option to plot the Next State (generation) only, or to Automate (let Cellular Automata plot each succeeding generation without stopping), or to stop. When a generation is plotted, the generation number along with the percentage of live cells is printed at the bottom of the screen. When Automate is selected, the user has the option to Pause the calculations at any time. Figure 6 shows the fiftieth generation with 4 x 4 cells, the neighborhood type is M, OT with evolutionary rule and a central single live cell in the initial generation.

Figure 6 As in the One Dimensional mode after a problem is set up, the cell size, the neighborhood type, the evolutionary rules, and the seed type can all be edited via the status window appearing on the right hand side of the screen. The final mode is Life and is a specific two dimensional automaton. When you choose this mode you have the option to select 2 x 2 or 4 x 4 pixel sized cells. The neighborhood type is M, OT and uses the evolutionary rule, That is a cell will be live in the next generation if it is live in the current generation and any three of its eight neighbors are also live, or if it is dead in the current generation and any two of its neighbors are live. After you choose the cell size a window like Figure 7 appears. Option A. is an example of a glider. After four generations this glider moves one cell down and one cell right, recovering its original shape and orientation. Option B. is called an r pentimino. After the first few (hundred) generations it appears that the life/death configuration is hopelessly complicated. But after about 1200 iterations the configuration is cyclical. The Homemade option works exactly the same as in Two Dimensional mode. Now that the cell size and the initial seed are both specified, a Go button appears in the status window. When it is pressed, you have the option to plot the Next State

(generation) only, or to Automate (let Cellular Automata plot each succeeding generation without stopping), or to stop. When a generation is plotted, the generation number along with the percentage of live cells is printed at the bottom of the screen. Figure 8 shows the 500 th generation when the initial generation is option B.. Figure 7 Figure 8 After a problem is set up, the cell size and the seed type can be edited via the status window appearing on the right hand side of the screen.