Fredkin's BBM (Billiard Ball Machine)Norman Margolus presented a universal, reversible two-dimensional 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 neighbourhood![]() ![]() ![]() The automata was based on based on Edward Fredkin's billiard-ball 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.
|