Research Into the Time Reversal of Cellular Automata Team rm -rf / Daniel Kaplun, Dominic Labanowski, Alex Lesman.

Slides:



Advertisements
Similar presentations
Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Advertisements

BU BU Decision Models Simulation1 Simulation Summer 2013.
NEURAL NETWORKS Perceptron
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
Algorithms + L. Grewe.
CIS December '99 Introduction to Parallel Architectures Dr. Laurence Boxer Niagara University.
Cellular Automata: Life with Simple Rules
Introduction to Algorithms
Artificial Intelligence in Game Design Introduction to Learning.
Cyberinfrastructure for Scalable and High Performance Geospatial Computation Xuan Shi Graduate assistants supported by the CyberGIS grant Fei Ye (2011)
Motion Analysis (contd.) Slides are from RPI Registration Class.
Understanding and Quantifying the Dancing Behavior of Stem Cells Before Attachment Clinton Y. Jung 1 and Dr. Bir Bhanu 2, Department of Electrical Engineering.
Emulating Physics Our goal will be to show how basic dynamics known from physics can be formulated using local simple rules of cellular automata: diffusion.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
Introduction to Scientific Computing on Linux Clusters Doug Sondak Linux Clusters and Tiled Display Walls July 30 – August 1, 2002.
Copyright 2008 Koren ECE666/Koren Part.6a.1 Israel Koren Spring 2008 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer.
Recursion Chapter 7. Chapter 7: Recursion2 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn.
Hilton’s Game of Life (HGL) A theoretical explanation of the phenomenon “life” in real nature. Hilton Tamanaha Goi Ph.D. 1st Year, KAIST, Dept. of EECS.
2IS80 Fundamentals of Informatics Spring 2014 Lecture 15: Conclusion Lecturer: Tom Verhoeff.
Algorithm design techniques
Cellular Automata Avi Swartz 2015 UNC Awards Ceremony.
Cellular Automata and Game Design By Pete Strader.
Mozart’s Dice Game Plays randomised bars of music based on dice rolls From the 18 th century, possibly by Mozart Procedural means taking random input.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Variations of Conway’s Game of Life Eswar Kondapavuluri.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Introduction: 
The Initial Model Los Alamos provided our team with a working 3-dimensional model for simulating tumor spheroids, which are small lab- grown tumors. The.
SUDOKU Via Relaxation Labeling
Discovery of Cellular Automata Rules Using Cases Ken-ichi Maeda Chiaki Sakama Wakayama University Discovery Science 2003, Oct.17.
Lukasz Grzegorz Maciak Micheal Alexis
1 Decrease-and-Conquer Approach Lecture 06 ITS033 – Programming & Algorithms Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing.
More Accurate Rate Estimation CS 170: Computing for the Sciences and Mathematics.
Recursion Chapter 7. Chapter Objectives  To understand how to think recursively  To learn how to trace a recursive method  To learn how to write recursive.
A Human Eye Retinal Cone Synthesizer Michael F. Deering.
CELLULAR AUTOMATA RULES GENERATOR FOR MICROBIAL COMMUNITIES CALIFORNIA STATE UNIVERSITY, SAN BERNARDINO SCHOOL OF COMPUTER SCIENCE & ENGINEERING By Melissa.
Analysis of Algorithms
Dynamic Programming. What is dynamic programming? Break problem into subproblems Work backwards Can use ‘recursion’ ‘Programming’ - a mathematical term.
GPU Architectural Considerations for Cellular Automata Programming A comparison of performance between a x86 CPU and nVidia Graphics Card Stephen Orchowski,
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
Playing God: The Engineering of Functional Designs in the Game of Life Liban Mohamed Computer Systems Research Lab
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
The Game of Life Erik Amelia Amy. What is the “Game of Life?” The “Game of Life” (often referred to as Life) is not your typical game. There are no actual.
Generating RCPSP instances with Known Optimal Solutions José Coelho Generator and generated instances in:
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
Quantifying Population Extinction and Examining the Effects of Different Mutation Rates Jason Stredwick Farshad Samimi Wei Huang Matt Luciw Matthew Rupp.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
CS851 – Biological Computing February 6, 2003 Nathanael Paul Randomness in Cellular Automata.
Typing Pattern Authentication Techniques 3 rd Quarter Luke Knepper.
MA/CS 471 Lecture 15, Fall 2002 Introduction to Graph Partitioning.
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.
 A family of optimization methods that search for an optimum minimum or maximum for a given problem (but never finds it ).  The methods are best suited.
1 Perceptron as one Type of Linear Discriminants IntroductionIntroduction Design of Primitive UnitsDesign of Primitive Units PerceptronsPerceptrons.
Optimizing Parallel Programming with MPI Michael Chen TJHSST Computer Systems Lab Abstract: With more and more computationally- intense problems.
Simulated Annealing To minimize the wire length. Combinatorial Optimization The Process of searching the solution space for optimum possible solutions.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Algorithmic Problems in Algebraic Structures Undecidability Paul Bell Supervisor: Dr. Igor Potapov Department of Computer Science
Automated PK processing and reporting. Full run list Data is exported to excel, directly from the mass spec software The only stipulation is that the.
Cellular Automata and Music
Introduction Abstract
Objective of This Course
Dynamic Authentication of Typing Patterns
CSE 2010: Algorithms and Data Structures Algorithms
UNIVERSITY OF MASSACHUSETTS Dept
UNIVERSITY OF MASSACHUSETTS Dept
Hash Functions for Network Applications (II)
A Cellular Automata Approach to Population Modeling
Modeling Rainfall using a Cellular Automata
Cave generation with cellular automata
Presentation 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 ( /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

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