research into the time reversal of cellular automata team rm -rf / daniel kaplun, dominic...

Post on 13-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Research Into the Time Reversal of Cellular Automata

Team rm -rf /Daniel Kaplun, Dominic Labanowski,

Alex Lesman

Presentation Overview

Introduction to Cellular Automata

What exactly is our project?

What approaches did we use?

What were our final results?

Project summary

What Are Cellular Automata?

● What are they?

– Algorithm-controlled single cell life / death simulations

● How does it work?

– A set of rules (often seen as life / birth) dictates the actions of a cell based on the number of neighbours surrounding it.

Examples

• Here are some simple examples to demonstrate cellular automata rules and actions:

• Example 1: Conway’s(23 / 3)

Example 2: Artsy (01245678/34 )

• Example 1:

• Example 2:

Detail

• This is an example of the 23/3 rule set (the original) of game of life

• a dead cell with 3 neighbors is born

• a live cell with 2 or 3 neighbors lives.

• Otherwise the cells are dead

1 2 2 1 0

1 2 3 3 1

1 4 4 3 1

0 2 2 3 1

0 1 1 1 0

What is our project?

● Simple shapes with simple rules can create massive and complicated patterns.

● Our initial goal was to find the ‘seed’ of a 256 x 256 Mona Lisa picture; after a series of calculations proved this impossible, it was our decision to instead move the OSC logo back 3 generations in 2 different ways.

● A multitude of different approaches were tested, none were successful in attaining our ultimate goal.

Attempted Automata Reversal Techniques

● Total brute force– Serial (exponential time growth)

– Parallel try 1 (recombination difficulties)

● Random placement– Both (exponential decay of probability)

● Ruleset manipulation– Both (limited coding time)

Parallel Brute force(v2) finally yielded results (sort of)

Parallel Brute force(v3) yielded results as well (sort of)

Brute Force Technique

● Serial Size Increase Difficulties– Exponential time increase as grid increases

● 5 x 5 grid – 0.35 seconds● 6 x 6 grid – 11 hours 56 minutes 48 seconds● 7 x 7 grid – 2 months, 5 days, 23 hours, 7 minutes● 10 x 10 grid – 413,564,066,800,000 years● 256 x 256 grid –

Brute Force Technique

• Masses of possibilities• Over 150 possibilities for a

6 cell pattern on a 5 x 5 grid.

• The number of possibilities also increases exponentially with the size of the grid.

• Too many to keep track of.

Brute Force TechniqueParallel

• Parallel Reconstitution Difficulties

Buffer overlap

Seemingly Impossible to correct

Recombination Problems

● Cut into pieces

● = +

● Backward one step

● + !=

Random Placement

● Very promising initially● Used the amount of live cells + 1 as the

input image● However, probability decreased exponentially:

– 4 x 4 grid – 1 : 112

– 5 x 5 grid – 1 : 259,170

– The process was never perfected; the program never returned positive results.

Rule Manipulation

● Instead of brute-forcing pixels, brute- forcing sets of rules in order to see if any rulesets can be used as identities.

● Instead of 2^65511 combinations, only 3^72 combinations for our Mona Lisa.

● Unable to complete code in time, conceptually difficult to grasp.

Parallel Brute Force (v2)

● Rewrote code to make it much (thousands of times) more efficient

● Ran on many processors, splitting up the work

● Linear time savings● Allowed us to do 6 x 6 grids vs. 5 x 5 grids● Very easy (in theory) to go back multiple

generations

Brute Force Technique (v3)

● Parallel processed, when one processor finds a result it tells the others to stop

● Using STL (Standard Template Library) 2-Dimentional vectors because of their dynamic expandability

● The problem with going backwards is the expansion of the grid

● Used C++ bitwise operators to create sample grids

Final Results

● Moved the OSC logo back 3 generations

● Manually selected preferred steps from optimized lists

● Computed combinations with minimal expansion

Project Summary

● Initial goals unreachable

● Second set of goals attempted with multiple approaches, brute force (v3) was found to be the most effective

● With further investigation a more feasible back-in-time approach could still be possible, but looks very unlikely when using large sizes.

top related