Fredkin's BBM (Billiard Ball Machine)Norman Margolus presented a universal, reversible twodimensional cellular automata based on the "Margolus neighbourhood" partitioning scheme in CAM (Cellular Automata Machines  1977).Note that an implementation of the Billiard Ball Machine (in the form of a Java applet) is available as part of the ["Diffusion"] package.
Margolus neighbourhoodThe automata was based on based on Edward Fredkin's billiardball machine, which was developed in the process of studying the "ultimate physics" of computation.
The Rule> > > > Signal interaction > > Unchanged
>
>
>
> Blank and solid > >
To illustrate how the model simulates the physics of billiard balls and mirrors in an artificial world, here is a 'ball' bouncing on a 'mirror' surface consisting of four wall tiles places in a row, followed by two colliding balls:
This should help illustrate how signal propagation, signal crossing signal delays and logic gates may be implemented.
