A version of this applet using Sun's Java plug-in is available here.
IntroductionThis applet displays a cellular automata designed to illustrate a variety of types of reversible diffusion.
It uses a a number of different "partitioning neighbourhoods" to do this.
In particular the Triumphant neighbourhood, the Q*Bert neighbourhood, the Star of David neighbourhood and the Margolus neighbourhood are the partitioning schemes used to help construct the reversible automata.
Various classical Margolus automata are also demonstrated, perhaps most notable the original Margolus neighbourhood implementation of Fredkin's Billard Ball Machine (BBM).
All the automata here are completely reversible. It is interesting to allow the automata to evolve for a period, and then click on the "Reverse" tickbox, to observe that the initial state is indeed recovered.
Th applet demonstrates both uniform and non-uniform cellular automata. The non-uniform automata are called things like "Lichen", "Ultra noise" and "Non-uniform gas".
Reversible automata have applications in simulating gasses and liquids, and associated physical phenomena.
They are important in modelling the physical foundation of computation.
Non-uniform reversible automata have applications in cryptography:
This applet can also be run as an application. Download this jar file (using shift-click) and double-click on it.