210 likes | 350 Views
Two-state, Reversible, Universal Cellular Automata In Three Dimensions Authors: Daniel B. Miller & Edward Fredkin Carnegie Mellon West Computing Frontiers 2005 Workshop on Reversible Computation. Funding Sources:. Carnegie Mellon University National Science Foundation. Background.
E N D
Two-state, Reversible, Universal Cellular Automata In Three DimensionsAuthors: Daniel B. Miller & Edward FredkinCarnegie Mellon WestComputing Frontiers 2005Workshop on Reversible Computation
Funding Sources: • Carnegie Mellon University • National Science Foundation
Background • Reversible computation is necessary for massively parallel processing in three dimensions • Typical approach: architecture is laid out explicitly in physical substrate • Our approach: substrate is a simple lattice; computation is carried out as a Cellular Automata
Present Focus: Software Layer • We are not (yet) proposing a physical implementation • This paper focuses on the conceptual issues (‘software’ layer): • What type of lattice • Partitioning scheme in space and time • Rules • Don’t break obvious rules of physics • KISS: simple = more likely to be realized
Goal: 3D CA that is reversible, Computation Universal, and capable of Universal Construction (‘RUCA’) • Reversible: all the good reasons • Computation Universal: of course • Universal Construction: necessary for initialization and reconfigurability • There are 2 types of Construction/Reproduction: Limited [Langton], and Arbitrary [Von Neumann] • We need the Arbitrary type! Must be capable of any possible construction, not just blind reproduction
Previous Work • 3D CA capable of Limited Construction (structured reproduction) [Morita] • Computation Universal 3D lattice gas [Margolus] • Arbitrary Construction, in 2D: • 29 states: Von Neumann • 8 states (Codd?) • 4 states: Banks • No known 3D Arbitrary Constructor (Reversible or not)
SALT model • Each cell is binary: state is ‘up’ or ‘down’ • Partitioned in Space and Time • Spatial partitioning: 3D chessboard, ala Na+Cl- (parity rule) • Temporal Partitioning in 6 phases: X, Y, and Z for each spatial partition (‘field’) • Phase order: X0, Z1, Y0, X1, Z0, Y1 • Symmetrical regarding field and axis • Alternate order: X0, Z1, Y0, Y1, Z0, X1 • Desirable properties re: modeling physics • Not axis symmetrical (Z0 andZ1 non-contiguous)
SALT Rules • Evolution proceeds as follows: • Even field updated based on state of the Odd field • Odd field updated based on state of the Even field • Update = Swap cell states diagonally in one axis • Various rules studied; here we concentrate on simplest interesting rule
The Rule • ‘Knight’s Move’ rule: A and B are swapped if there is an ‘up’ cell in C or D • Rule is applied in both diagonal directions, alternating fields, in each axis • Caveat: only swap if there is no ambiguity (avoid swap conflicts)
Simple Glider Gliders can be constructed to move in any of 12 directions
Slow Glider We’ll need this later!
Reversible • Swapping operation is its own inverse • Repeat a swap of one field to revert to its previous state • That state can then be used to reverse the last swap of the other field • Phase order of fields & axes is reversed
Routing Signals A single strategically placed cell deflects a glider 120 degrees. Combinations of reflectors can route a glider to any of the 12 possible directions.
Gliders Interact When two gliders meet, they can interact to produce two new gliders traveling on alternate routes.
Routing + Logic = Universal Computation This interaction between two gliders is logically equivalent to the Billiard Ball Model (BBM) logic gate. The BBM gate is sufficient for Universal Computation.
Universal Construction • Our definition: • “Arbitrary Machine”: a configuration of cells capable of reproducing the behavior of an arbitrarily connected series of logic gates and delays • “Arbitrary Constructor”: an Arbitrary Machine that is capable of constructing a distinct Arbitrary Machine at another location in the lattice • “Universal Constructor”: a CA that can support Arbitrary Constructors
Reasons To Believe SALT is capable of Universal Construction • We can emit gliders that interact later, changing direction • We can smash gliders together, leaving debris • We can move single cells around with gliders
Conclusions • Further study: • Prove Universal Construction • Build large-scale software simulations • Think about physical realizations • Check the website: http://www.andrew.cmu.edu/user/danbmil/salt • Thank You