Санкт-Петербургский государственный политехнический университет Кафедра “Теоретическая механика” Исследование клеточных автоматов Студент: Д. В. Цветков Научный руководитель: А. М. Кривцов 2013 Введение • Клеточный автомат — дискретная модель, включающая в себя регулярную решётку ячеек, каждая из которых может находиться в одном из конечного множества состояний, таких как 1 и 0. Для каждой ячейки определено множество ячеек, называемых окрестностью. Для работы клеточного автомата требуется задание начального состояния всех ячеек, и правил перехода ячеек из одного состояния в другое. На каждой итерации, используя правила перехода и состояния соседних ячеек, определяется новое состояние каждой ячейки. Обычно правила перехода одинаковы для всех ячеек и применяются сразу ко всей решётке. Цель Цель работы – с помощью клеточных автоматов смоделировать некоторые процессы, возникающие в живой природе, например, эволюцию и выживаемость некоторых видов в сравнении с другими. Расчетная составляющая программы Для того, чтобы задавать в программе правила перехода ячеек из одного состояния в другое, будем использовать “геномы” ячейки – последовательности чисел, которые будут обозначать определенное событие при определенном количестве клеток вокруг. Обозначим два генома – геном рождения (B) и геном жизни (L). Первый геном указывает, какое количество живых клеток должно быть вокруг рассматриваемой, чтобы в ней зародилась жизнь. Второй геном указывает, при каком количестве живых клеток вокруг рассматриваемая клетка тоже выживет. Например, чтобы получить стандартные правила клеточной игры “Жизнь”, нужно задать следующие значения наших геномов: B: [x00 100 000] L: [001 100 000] Зададим периодическую систему – если ячейка находится на границе, она взаимодействует с ячейками, находящимися на противоположных границах. Получается поверхность, соответствующая поверхности тора. Графическая составляющая программы Для отображения полей клеток написан движок, способный отобразить как двухмерные, так и трехмерные поля. Также разработано средство для рисования графиков количества клеток определенного вида на поле. Для большей наглядности взяты некоторые особенности рисования типовых графиков эволюции видов. Результаты 0.500 0.400 0.300 0.200 Vфронта 0.100 0.000 0 1 2 3 4 -0.100 -0.200 -0.300 -0.400 -0.500 n2 5 6 7 n1 = 0 n1 = 1 n1 = 2 n1 = 3 n1 = 4 n1 = 5 n1 = 6 n1 = 7 Благодарю за внимание!