1 / 70

Cellular Automata

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.

zubin
Download Presentation

Cellular Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 ofnatural discrete or continuous dynamical systems

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

  4. 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 …

  5. Types of neighbourhood Many more neighbourhood techniques exist - see http://cell-auto.com and follow the link to ‘neighbourhood survey’

  6. 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 Classes of cellular automata (Wolfram)

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

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

  9. Is it alive? • http://www.bitstorm.org/gameoflife/ • Compare it to the definitions…

  10. Glider

  11. Sequences

  12. More Sequence leading to Blinkers Clock Barber’s pole

  13. A Glider Gun

  14. Loops • 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

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

  16. Loop Reproduction

  17. Loop Death

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

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

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

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

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

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

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

  25. 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)

  26. 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)

  27. Breeding Rule: Before

  28. Breeding Rule: After

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

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

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

  32. Shark Random Death: After YES IT IS!!! I LIVE 

  33. Sample Code (C++): Breeding JR

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

  35. Generation: 0 BM

  36. Generation: 100 BM

  37. Generation: 500

  38. Generation: 1,000

  39. Generation: 2,000

  40. Generation: 4,000

  41. Generation: 8,000

  42. Generation: 10,500

  43. 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’

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

  45. Medium-sized population (1/16 of grid) Generation 100 1000 2000 4000 8000

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

  47. Very Small Populations 1500 4000 6000 Gen. 100 8000 10,000 12,000 14,000 Ultimate welfare of sharks depends on initial random placement of fish and sharks

  48. Very small populations • Fish can live in stable isolated communities as small as 20-30 • A community of less than 200 sharks tends not to be viable

  49. This is what a community of virtualplants looks like Community image Contrasting tones show patches of resource depletion

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

More Related