Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

37
Cellular Automata FRES 1010 Eileen Kraemer Fall 2005

Transcript of Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Page 1: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Cellular Automata

FRES 1010

Eileen Kraemer

Fall 2005

Page 2: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

What is a cellular automaton?

a collection of "colored" cells on a grid of specified shape that evolves through a number of discrete time steps according to a set of rules based on the states of neighboring cells.

Page 3: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Why do we care about CA?

Can be used to model simple individual behaviors

Complex group behaviors can emerge from these simple individual behaviors

Page 4: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Elementary Cellular Automaton The simplest cellular automaton Consists of only black and white squares Each column represents a possible state of one square

and its left and right neighbors. Let 1 = Black and 0=White 128 64 32 16 8 4 2 1 1 1 1 1 1 0 1 0 128+ 64 + 32 +16 + 8 + 2 = 250

Page 5: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Rules…

There are 256 ‘elementary’ rules that range from complete white (rules 0 and 128) and complete black (rule 255)

Page 6: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Rule 250

Start with single black square in center of white row; repeat for 100 steps

Page 7: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Totalistic Cellular Automaton

Three colors: black, white and grey Rule is to take the average color of

neighboring cells

Page 8: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Mobile Automata

Differ from cellular automata in that instead of updating all cells in parallel at each step, they have just a single “active cell” that gets updated at each step, and then moves to a new cell.

Black dot indicates location of active cell.

Page 9: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Mobile Automata

Page 10: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Generalized Mobile Automata

Allow more than one cell to be active at a time

Page 11: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Turing Machines

Consist of:• a line of cells (“the tape”)

• A single active cell (“the head”), which can have several possible states

• Rule can depend on state of the head and on the color of the cell at the position of the head, but not on the colors of any neighboring cells

Page 12: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Turing machines

Direction of arrows indicates state of head

Page 13: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Execution of a Turing machine

Page 14: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Turing machine

Page 15: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

For CA, MA, TMs – a fixed array of cells In substitution systems the number of

elements can change

Page 16: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

Page 17: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

In a substitution system the number of elements can grow very rapidly

To keep the visualization within boundaries, may split elements into parts rather than increasing number of elements

Most systems depend only on a single element Complexity can be introduce by including

neighboring cells as influence for the change of the patterns

Page 18: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

Page 19: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

Can also model this as a branching tree

Page 20: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

SS – additional complexity if neighbors affect outcome

Page 21: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

Page 22: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Substitution Systems

Now if you add the ability to add and destroy elements based on the rules, you have the ability to destroy the pattern completely

But some rules will find a balance

Page 23: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Sequential Substitution Systems

Works on strings of elements rather than a single element

Previous substitution system discussed replaced each element with a new sequence of elements

Sequential substitution systems perform replacements for multiple elements based on the patterns defined in the rule set

Similar to the functionality of a search-and-replace function in a text editor

Page 24: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Sequential substitution system

Page 25: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Sequential Substitution Systems

Page 26: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Tag Systems

A sequence of elements of two colors:black and white.

The rule is :• a fixed number of elements are removed from

the beginning

• depending on the colors of the removed elements, a particular block of elements is attached at the end

Page 27: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Tag Systems

Page 28: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Tag Systems

Turns out that if only one element is chosen for removal and addition, the behavior of the system is similar to the neighbor-independent substitution system producing repetitive or nested forms

If two elements are removed then the behavior exhibits complexity

Page 29: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Cyclic Tag Systems

Has phases (cycles) At each phase, only a certain block can

be added

Page 30: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Cyclic Tag Systems

Page 31: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Register Machines

very simplified versions of present-day computers

Simplest form of consists of two registers each storing a number of any size and just two kinds of instructions: “increments” and “decrement-jumps”

Page 32: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Register Machine Instructions

Increment instructions increase by one the number stored in a particular register

Decrement-jump instructions do two things:

• decrease by one the number in a particular register

• jump to some specified other point in the program and begin execution from there

• BUT – if register is zero, don’t jump or decrement, just go on to the next instruction

Page 33: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Register Machines

Page 34: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Symbolic Systems

Apply transformations to symbolic expressions

Example, find expressions of the form• e[x_][y_]

• Replace with x[x[y]]

Scan once from left to right, apply rule wherever possible without overlapping

Page 35: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Symbolic Systems

Page 36: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Symbolic Systems

Page 37: Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.

Wolfram’s conclusions .. Cellular automata have many special features and exhibit

complex behavior from simple rules. He removed special features to show that they were not

necessary to produce complex behavior. In most systems, a “complexity threshhold” exists; that

threshold may be simpler than previously thought. Making the rules more complex than the threshold may

not increase the chance for complexity.