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
• Carnegie Mellon University
• National Science Foundation
• 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
• 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
• 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)
• 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: X
0
, Z
1
, Y
0
, X
1
, Z
0
, Y
1
– Symmetrical regarding field and axis
• Alternate order: X
0
, Z
1
, Y
0
, Y
1
, Z
0
, X
1
– Desirable properties re: modeling physics
– Not axis symmetrical (Z
0 and Z
1 non-contiguous)
• 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
• ‘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)
Gliders can be constructed to move in any of 12 directions
We’ll need this later!
• 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
A single strategically placed cell deflects a glider 120 degrees. Combinations of reflectors can route a glider to any of the 12 possible directions.
When two gliders meet, they can interact to produce two new gliders traveling on alternate routes.
This interaction between two gliders is logically equivalent to the Billiard Ball Model (BBM) logic gate. The BBM gate is sufficient for Universal Computation.
• 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
• We can emit gliders that interact later, changing direction
• We can smash gliders together, leaving debris
• We can move single cells around with gliders
(not a band!)
• 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