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 our "Diffusion" automata 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.
