Kodomo

Пользователь

ТЗ проекта «Циклические клеточные автоматы»

Клеточный автомат (КА) — набор клеток, образующих некоторую периодическую решетку с заданными правилами перехода, определяющими состояние клетки в следующий момент времени через состояние этой клетки и окружающих её клеток в текущий момент времени.

Синхронный КА - такой КА, в котором все клетки переходят в новое состояние одновременно, используя при этом старые состояния соседних клеток для определения своего нового состояния.

Детерминированный КА - КА, в котором состояние любой клетки в последующий момент однозначно определяется её состоянием и состоянием её соседей в данный момент времени.

Циклический КА - КА, в котором клетка меняет свои состояния циклично, т.е. все возможные состояния клеток образуют цикличную последовательность.

Программа - рисовалка синхронных детерминированных циклических клеточных автоматов, у которых переход в следующее состояние для каждой клетки определяется только состоянием этой клетки и количеством клеток ближайшего окружения, находящихся в таком же состоянии в данный момент времени. Периодическая решетка - двумерное прямоугольное поле, каждая сторона которого замкнута на противоположную.

У пользователя будет возможность запускать и приостанавливать автомат, а так же менять:


Обмен информацией с пользователем будет осуществляться через графический интерфейс. Это окно, которое включает область рисования состояния клеточного автомата, строку меню и информационную область, в которой указывается последовательность переходов между состояниями и для каждого состояния - его цвет и соответствующая клавиша на клавиатуре (см. Управление мышью и клавиатурой). Интерфейс будет на английском языке.

Меню включает следующие пункты:

Управление мышью и клавиатурой:


Документация на языке интерфейса. Вызов через меню help. Будет описано только, как пользоваться программой и что она делает. Программа должна будет работать при условии установленного питона.


Программа будет написана на питоне, наличие самодокументации не требуется, оформлена по правилам PEP-8.