Cellular Automata Various credits for these slides: Ajit Narayanan, Rod Hunt, several more.

Slides:



Advertisements
Similar presentations
Chapter 8 Geocomputation Part A:
Advertisements

High Resolution studies
Population Biology.
Welcome to Who Wants to be a Millionaire
EE384y: Packet Switch Architectures
How Do Populations Change in Size?
Generative Design in Civil Engineering Using Cellular Automata Rafal Kicinger June 16, 2006.
Sampling Distributions and Estimators
Addition Facts
Who Wants To Be A Millionaire?
Welcome to Who Wants to be a Millionaire
£1 Million £500,000 £250,000 £125,000 £64,000 £32,000 £16,000 £8,000 £4,000 £2,000 £1,000 £500 £300 £200 £100 Welcome.
Welcome to Who Wants to be a Millionaire
Chapter 7 Sampling and Sampling Distributions
5.1 Probability of Simple Events
CHAPTER 16 Life Tables.
Chapter 10: Virtual Memory
Understanding Population Change
Biology 2B Ecosystems Population dynamics.
Quantitative Analysis (Statistics Week 8)
Addition 1’s to 20.
25 seconds left…...
Introduction to Queuing Theory
Finite-state Recognizers
CHAPTER 15: Tests of Significance: The Basics Lecture PowerPoint Slides The Basic Practice of Statistics 6 th Edition Moore / Notz / Fligner.
January Structure of the book Section 1 (Ch 1 – 10) Basic concepts and techniques Section 2 (Ch 11 – 15): Inference for quantitative outcomes Section.
Introduction into Simulation Basic Simulation Modeling.
Chapter 5 Relations and Functions
Cellular Automata: Life with Simple Rules
Cellular Automata COMP308 Unconventional models and paradigms.
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.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Cellular Automata (Reading: Chapter 10, Complexity: A Guided Tour)
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
CELLULAR AUTOMATON Presented by Rajini Singh.
Joanne Turner 15 Nov 2005 Introduction to Cellular Automata.
Cellular Automata Orit Moskovich
Cellular Automata This is week 7 of Biologically Inspired Computing Various credits for these slides, which have in part been adapted from slides by:
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
CITS4403 Computational Modelling Fractals. A fractal is a mathematical set that typically displays self-similar patterns. Fractals may be exactly the.
Discovery of Cellular Automata Rules Using Cases Ken-ichi Maeda Chiaki Sakama Wakayama University Discovery Science 2003, Oct.17.
Understanding Populations The Human Population From 1900 to 2003, the population tripled in size to reach 6.3 billion people Today, the human population.
The Role of Artificial Life, Cellular Automata and Emergence in the study of Artificial Intelligence Ognen Spiroski CITY Liberal Studies 2005.
1 Cellular Automata. 2 Introduction What are Cellular Automata? CA are discrete dynamic systems. CA's are said to be discrete because they operate in.
CS 484 – Artificial Intelligence1 Announcements Lab 4 due today, November 8 Homework 8 due Tuesday, November 13 ½ to 1 page description of final project.
Computer Science Dept, San Jose State University, CA Self Reproducing CA’s and Programs Shruti Parihar May 06, 2003.
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 A Presentation By CSC. OUTLINE History One Dimension CA Two Dimension CA Totalistic CA & Conway’s Game of Life Classification of CA.
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.
The Science of Complexity J. C. Sprott Department of Physics University of Wisconsin - Madison Presented to the First National Conference on Complexity.
Cellular Automata Introduction  Cellular Automata originally devised in the late 1940s by Stan Ulam (a mathematician) and John von Neumann.  Originally.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
Cellular Automata Biologically Inspired Computing Various credits for these slides, which have in part been adapted from slides by: Ajit Narayanan, Rod.
Cellular Automata This is week 7 of Biologically Inspired Computing Various credits for these slides, which have in part been adapted from slides by:
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.
Modelagem Dinâmica com TerraME Aula 5 – Building simple models with TerraME Tiago Garcia de Senna Carneiro (UFOP) Gilberto Câmara (INPE)
1 1 2 What is a Cellular Automaton? A one-dimensional cellular automaton (CA) consists of two things: a row of "cells" and a set of "rules". Each of.
Spatio-Temporal Information for Society Münster, 2014
Computational Models.
Illustrations of Simple Cellular Automata
Cellular Automata.
A Cellular Automata Approach to Population Modeling
Cellular Automata (CA) Overview
Presentation transcript:

Cellular Automata Various credits for these slides: Ajit Narayanan, Rod Hunt, several more.

Cellular Automata A CA is a spatial lattice of N cells, each of which is one of k states at time t. Each cell follows the same simple rule for updating its state. The cell's state s at time t+1 depends on its own state and the states of some number of neighbouring cells at t. For one-dimensional CAs, the neighbourhood of a cell consists of the cell itself and r neighbours on either side. Hence, k and r are the parameters of the CA. CAs are often described as discrete dynamical systems with the capability to model various kinds of natural discrete or continuous dynamical systems

Example of 1-D cellular automaton For a binary input N long, are there more 1s than 0s? Set k=2 and r=1 with the following rule: Cell + 2 neighbours: Result: That is, the value of a cell at time t+1 will depend on its value and the values of its two immediate neighbours at time t. This is a form of ‘majority voting’ between all three cells.

Density classification In the above example, we have assumed wrap-around, and r=1. In this case, the CA has reached a ‘limit point’ from which no escape is possible. CAs have been used for simulating fluid dynamics, chemical oscillations, crystal growth, galaxy formation, stellar accretion disks, fractal patterns on mollusc shells, parallel formal language recognition, plant growth, traffic flow, urban segregation, image processing tasks, etc …

Types of neighbourhood Many more neighbourhood techniques exist - see and follow the link to ‘neighbourhood survey’

Classes of cellular automata (Wolfram) Class 1: after a finite number of time steps, the CA tends to achieve a unique state from nearly all possible starting conditions (limit points) Class 2: the CA creates patterns that repeat periodically or are stable (limit cycles) – probably equivalent to a regular grammar/finite state automaton Class 3: from nearly all starting conditions, the CA leads to aperiodic-chaotic patterns, where the statistical properties of these patterns are almost identical (after a sufficient period of time) to the starting patterns (self-similar fractal curves) – computes ‘irregular problems’ Class 4: after a finite number of steps, the CA usually dies, but there are a few stable (periodic) patterns possible (e.g. Game of Life) - Class 4 CA are believed to be capable of universal computation

John Conway’s Game of Life 2D cellular automata system. Each cell has 8 neighbors - 4 adjacent orthogonally, 4 adjacent diagonally. This is called the Moore Neighborhood.

Simple rules, executed at each time step: –A live cell with 2 or 3 live neighbors survives to the next round. –A live cell with 4 or more neighbors dies of overpopulation. –A live cell with 1 or 0 neighbors dies of isolation. –An empty cell with exactly 3 neighbors becomes a live cell in the next round.

Is it alive? Compare it to the definitions…

Glider

Sequences

More Sequence leading to Blinkers Clock Barber’s pole

A Glider Gun

Assumptions –Computation universality not required Characteristics –8 states, 2D Cellular automata –Needed CA grid of 100 cells –Self Reproduction into identical copy –Input tape with data and instructions –Concept of Death Significance – Could be modeled through computer programs Loops

Langton’s Loop 0 – Background cell state3, 5, 6 – Phases of reproduction 1 – Core cell state4 – Turning arm left by 90 degrees 2 – Sheath cell state state 7 – Arm extending forward cell state

Loop Reproduction

Loop Death

Langton’s Loops Chris Langton formulated a much simpler form of self-rep structure - Langton's loops - with only a few different states, and only small starting structures.

Example: Modelling Sharks and Fish: Predator/Prey Relationships Bill Madden, Nancy Ricca and Jonathan Rizzo Graduate Students, Computer Science Department Research Project using Department’s 20-CPU Cluster

This project modeled a predator/prey relationship Begins with a randomly distributed population of fish, sharks, and empty cells in a 1000x2000 cell grid (2 million cells) Initially, –50% of the cells are occupied by fish –25% are occupied by sharks –25% are empty

Here’s the number 2 million Fish: red; sharks: yellow; empty: black

Rules A dozen or so rules describe life in each cell: birth, longevity and death of a fish or shark breeding of fish and sharks over- and under-population fish/shark interaction Important: what happens in each cell is determined only by rules that apply locally, yet which often yield long-term large-scale patterns.

Do a LOT of computation! Apply a dozen rules to each cell Do this for 2 million cells in the grid Do this for 20,000 generations Well over a trillion calculations per run! Do this as quickly as you can

Do a LOT of computation! We used a 20-CPU cluster in the Computer Science Department (Galaxy) ‘Gal’ is the smaller of two clusters run by the Department (larger one has 64 CPUs) 15x faster than a single PC Longest runs still took about 45 minutes GO PARALLEL !!!

Rules in detail: Initial Conditions Initially cells contain fish, sharks or are empty Empty cells = 0 (black pixel) Fish = 1 (red pixel) Sharks = –1 (yellow pixel)

Rules in detail: Breeding Rule Breeding rule: if the current cell is empty If there are >= 4 neighbors of one species, and >= 3 of them are of breeding age, »Fish breeding age >= 2, »Shark breeding age >=3, and there are <4 of the other species: then create a species of that type »+1= baby fish (age = 1 at birth) »-1 = baby shark (age = |-1| at birth)

Breeding Rule: Before EMPTY

Breeding Rule: After

Rules in Detail: Fish Rules If the current cell contains a fish: Fish live for 10 generations If >=5 neighbors are sharks, fish dies (shark food) If all 8 neighbors are fish, fish dies (overpopulation) If a fish does not die, increment age

Rules in Detail: Shark Rules If the current cell contains a shark: Sharks live for 20 generations If >=6 neighbors are sharks and fish neighbors =0, the shark dies (starvation) A shark has a 1/32 (.031) chance of dying due to random causes If a shark does not die, increment age

Shark Random Death: Before I Sure Hope that the random number chosen is >.031

Shark Random Death: After YES IT IS!!! I LIVE

Spring 2005JR33 Sample Code (C++): Breeding

Results Next several screens show behavior over a span of 10,000+ generations

Spring 2005BM35 Generation: 0

Spring 2005BM36 Generation: 100

Generation: 500

Generation: 1,000

Generation: 2,000

Generation: 4,000

Generation: 8,000

Generation: 10,500

Long-term trends Borders tended to ‘harden’ along vertical, horizontal and diagonal lines Borders of empty cells form between like species Clumps of fish tend to coalesce and form convex shapes or ‘communities’

Variations of Initial Conditions Still using randomly distributed populations: –Medium-sized population. Fish/sharks occupy: 1/16 th of total grid Fish: 62,703; Sharks: 31,301 –Very small population. Fish/sharks occupy: 1/800 th of total grid Initial population: Fish: 1,298; Sharks: 609

Generation Medium-sized population (1/16 of grid)

Very Small Populations Random placement of very small populations can favor one species over another Fish favored: sharks die out Sharks favored: sharks predominate, but fish survive in stable small numbers

Gen ,00012,00014,000 Ultimate welfare of sharks depends on initial random placement of fish and sharks Very Small Populations

Very small populations Fish can live in stable isolated communities as small as A community of less than 200 sharks tends not to be viable

Community image This is what a community of virtual plants looks like Contrasting tones show patches of resource depletion

CSR type, frame 1 This is a single propagule of a virtual plant It is about to grow in a resource-rich above- and below-ground environment

ditto f. 2

ditto f. 3

ditto f. 4

ditto f. 5

ditto f. 6

ditto f. 7

ditto f. 8

ditto f. 9

ditto f. 10

ditto f. 11

ditto f. 12

ditto f. 13

ditto f. 14

ditto f. 15

ditto f. 16

ditto f. 17

ditto f. 18

ditto f. 19

ditto f. 20 The plant has produced abundant growth above- and below-ground and zones of resource depletion have appeared

See Rod Hunt at for lots more about the plant life CA and its uses