Two-state, Reversible, Universal Cellular Automata In Three Dimensions
Authors: Daniel B. Miller & Edward FredkinCarnegie Mellon West
Computing 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 and Z1 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
Emitting Gliders That Interact (later)
Smashing Gliders (not a band!)
Moving Things Around
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