The '''billiard ball machine''' is a model that roughly simulates the action of "billiard balls" colliding with walls and each other on a playing field. Three types of collision are possible:
0...0 0....0 0...0
.\./. .\../. .\./.
./.\. ..><.. ..v..
0...0 ./..\. ..#..
..... 0....0 .....
(Actually, in the "real" model, walls are placed between "cells" rather than filling them; this works well enough, however.) <!-- Okay, I'm not sure about the details of the "real thing"--I don't have the original paper--but I'm pretty sure the version on this page works just fine. --> In this version of the billiard ball machine, any other type of collision gives undefined behavior. (The exact behavior of the billiard balls here is "handle all collisions, move half a step, repeat".)
(by ihope127)