Существует много разных двумерных конечных автоматов. Например, наиболее известный двумерный автомат - игра Жизнь.
В автоматах что главное? Как они устроены? Имеется набор клеток на плоскости. У каждой клетки есть набор состояний. Кроме того, есть понятие соседей.
Например, если клетки расположены в квадратной сетке, то у каждой клетки соседями можно считать восемь соприкасающихся с ней соседок. Четыре по ходу ладьи и четыре по ходу слона. Можно принять правила при которых соседями считаются только клетки соприкасающиеся по ходу ладьи. Время в мире клеточных автоматах дискретно. Состояние каждой клетки в следующий момент времени T+1 зависит от текущего состояния соседей втекущий момент времени T.
В общем правила могут быть какими угодно. Важно, чтобы популяция клеток развивалась "интересно".
Интересные коллизии происходят в мире с правилами Демон.
В автомате Демон у каждой клетки 16 состояний (0, 1, ... , 15 ). Каждое состояние подсвечивается своим цветом. Соседей восемь. В каждый следующий момент времени T+1, если у клетки в состоянии N есть хотя бы один сосед в состоянии N+1, она переходит в состояние N+1. В противном случае, остается в своем предыдущем состоянии. Состояния переключаются по циклу. Таким образом, после 15 идет состояние 0.
Начальное состояние заполняется случайным образом. Если Вы сделаете перерисовку экрана колония клеток начнет свою жизнь заново случайным образом.
Самое интересное, что в конце своего развития на экране рано или поздно всегда образуются вихревые циклы. Подобные циклы генерации встречаются в реальной природе.
Забыл еще упомянуть, что в данной реализации противоположные стороны прямоуголника соединены между собой. Иначе говоря, клетки живут на торе!
Да, и не забудьте установить проигрыватель Flash 10 , если еще не сделали этого.
Александр Бушмелев