?, Хабр!
На прошлой неделе мы посмотрели на 10 правил простейших клеточных автоматов, где меняли только количество соседей, необходимых для рождения и выживания клетки.
Сегодня немного дополним характеристики «life‑like» модели, и добавим ещё одну часть к правилам — поколения. Внесём необходимые дополнения к характеристикам из прошлой статьи:
клетки имеют 3 состояния — мертва/жива/поколения;
клетки — квадраты без смещений;
правила изменения состояния зависят только от количества живых (состояние 1) соседей из окрестности Мура первого порядка (8 окружающих);
правила учитывают 5 исходов для каждой клетки — рождение, выживание, смерть, пустота, старение;
(новый пункт) старение начинается с момента, когда у клетки недостаточно соседей для выживания, после чего с каждой итерацией счётчик поколения увеличивается на 1 вне зависимости от соседей, и только по достижении указанного поколения клетка отмирает. Счётчик начинается с двух (т.к. 0 и 1 обозначают мёртвую и живую клетки).
Простейшие КА, записываемые стандартной нотацией B0…8/S0…8 эквивалентны КА с отсечкой на втором поколении — B0…8/S0…8/2. Есть несколько вариантов нотации для правил с поколениями, но мы будем придерживаться упомянутой.
0. Free Star
Для начала взглянем, как бы выглядел вариант без указанного количества поколений. B2/S0345
А теперь добавим поколения — B2/S0345/10
Но это ещё не всё. Раз уж у нас теперь больше двух состояний, то стоит и цвета добавить.
Dark mode
К клеточным автоматам с двумя состояниями тоже можно добавить псевдопоколения, без влияния на подсчёт соседей и отмирания при переполнении.
Это позволит так же добавить цвета, что будет особенно полезно для сглаживания мерцающих правил, где самый насыщенный цвет будет у самых стабильных клеток.
1. Star Wars
Осцилляторы и космические корабли в поколенческих правилах встречаются часто. Конечно, и вид таких кораблей будет отличаться.
B2/S345/4 — одно из известнейших правил, с обилием разнообразных космических кораблей и объектов их генерирующих — ружей, граблей, паровозов.
Указание стартового состояния для поколенческих правил — отдельное удовольствие.
2. Worms
Ещё одно правило порождающее целые армады космических кораблей. B25/S3467/6
3. Sticks
Простейшие корабли в любом правиле с B2 — палочки. Как у ружейного B2/S3456/6
4. Transers
Очень интересно выглядят орнаменты формирующиеся с явно выраженными космическими кораблями. Например, правила Transers (II и I) — B26/S0345/6 и B26/S345/5
5. Thrill Grill
На поколенческих правилах перебирать различные орнаменты с заданного старта можно днями — потенциал к оным на данных характеристиках огромный.
B34/S1234/48
Может возникнуть впечатление, что второй цикл возникает из пустоты, но это, конечно, не так.
На более контрастном примере это хорошо видно
6. Faders
Одно из правил, которое в полной мере демонстрирует отличие поколенческих КА — B2/S2/25
7. SediMental
Одно из «островных» правил. Очень чувствительно к проценту заполнения на старте.
8. Репликаторы
На некоторых правилах также встречаются фигуры бесконечно (если не будут сломаны) повторяющие себя.
9. Спирали
Одной из популярнейших категорий поколенческих правил являются спиральные виды. Несколько из них напоминают реакцию Белоусова — Жаботинского и имеют соответствующие наименования, хотя для более близкого воспроизведения этой реакции используется другой тип КА.
BelZhab Sediment спустя 10 минут
10. Lines
И я не могу пройти мимо правила напоминающего лабиринты с базовых характеристик.
B458/S012 345/3
Бонус. Полузаполненные начала
Помимо стандартных заготовленных стартов с центрального блока и из углов, на многих правилах можно пробовать и заполненные/полузаполненные начала.
Читайте также
О клеточных автоматах:
Старение клеток: параметр поколений (вы здесь)
Взвешенные окрестности, окрестность Гаусса, Far Corners/Edges
Моделирование лесных пожаров: теория, клеточный автомат на Python
Сегрегация общества: модель Шеллинга и распределение этнических групп в городах Израиля
Прочее: