Miller

advertisement

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

• 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: 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)

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

• ‘Knight’s Move’ rule:

The 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

Download