Клеточный автомат

Условие

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

Другая проблема, связанная с клеточным строением: каким образом при развитии взрослого растения или животного всего из одной клетки формируются различные ткани и органы? Уже сейчас известна примерная сложность организации этого процесса: достаточно сказать, что управляют им десятки и сотни тысяч белков, называемых энхансерами и промоторами, которые составляют часть генетической информации, хранящейся в ДНК.

В задаче предлагается исследовать модель развития клеточных структур с двумя видами клеток: первый вид можно условно называть клетками-строителями, второй - клетками скелета. Строители могут рождаться, перерождаться в скелетные клетки или отмирать, клетки скелета не отмирают. 

AnabaenaspiroidesВаша задача - построить как возможно устойчивый организм из не более чем 20 клеток, которые разрешается ставить в любых местах поля. Устойчивость означает, что построенная структура не выходит за пределы поля и с ней происходят периодические изменения (пульсации). Пример такой конфигурации приведен на экране. Нажимая кнопки пошагового изменения конфигурации или двигая слайдер, можно следить за эволюцией клеточной структуры.  В тот же момент под рабочим полем появляются параметры созданной клеточной структуры.

Конфигурация строится на поле щелчками мыши, для изменения типа клетки нужно сделать повторный щелчок.

Правила такие:

1) если около пустой клетки есть ровно два соседа, хотя бы один из которых - строитель, то в этой клетке появляется новый строитель;

2) если у непустой клетки 3 или 4 клетки-соседа любого вида, то, если среди соседей больше скелетных клеток, клетка-строитель превращается в скелетную клетку, иначе она не меняется;

3) в ином случае клетка-строитель умирает, а клетка скелета остается неизменной.

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

В случае равенства периодов оценивается целостность организма - чем на меньшее число элементов он распадается в процессе жизнедеятельности, тем лучше. 

В случае равенства первых двух параметров оценивается величина организма - максимальное число клеток, из которых он состоит.

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

Помощь

Правила показаны в правой части, однако изменить их нельзя. 

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