Как стать автором
Обновить

Пятничные клеточные автоматы: 10 правил «больших, чем жизнь»

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.2K

👾, Хабр!

Осторожно, присутствует несколько мерцающих анимаций. Они спрятаны под спойлеры, открывайте на своё усмотрение. На большом экране рекомендуется смотреть в хорошо освещённом помещении.

Неделю назад мы сделали шаг в сторону нетоталистичных конфигураций, где считали не только количество, но и расположение живых соседей. Сегодня шагнём в другую сторону от тоталистичных правил – увеличим радиус поиска соседей.

Самое популярное подобное расширение известно как Larger than Life, или просто LtL. Данная конфигурация была описана в докторской диссертации профессора Калифорнийского университета – Келли Мишель Эванс (Kellie Michele Evans) в 1996г., и нередко название конфигурации дополняется именем автора.

Нотация

В общем виде расширение предполагает указание следующих параметров:

  • Диапазон количества соседей для выживания клетки;

  • Диапазон количества соседей для рождения клетки;

  • Радиус поиска соседей;

  • Количество поколений (в данной конфигурации чаще называемых «состояниями»);

  • Тип окрестности (чаще всего это окрестность Мура или фон Неймана );

  • Учёт центральной клетки в счётчике соседей.

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

В классическом виде нотация выглядит следующим образом:
Rr,Cc,Mm,Ssmin..smax,Bbmin..bmax,Nn

В будущих статьях мы коснёмся конфигурации, где допускается множество диапазонов для рождения и выживания клетки, однако в рассматриваемой сегодня указывается только по одному диапазону для каждого параметра.

Параметры окрестности и учёта центральной клетки могут быть опущены в записи правила. В этом случае, в качестве стандартных значений для них принимаются NM – окрестность Мура, и M0 – без учёта центральной клетки. Поколения, как и ранее, тоже можно опустить, подразумевая G2.

Нотация предлагает использовать C для обозначения поколений (Count of states) и запятые в качестве разделителей. Это не совсем согласовано с прочими нотациями, потому мы будем использовать привычные G и /.

В качестве разделителя в диапазонах, в разных вариантах нотации может использоваться двое- и троеточие, дефис и t (to).

0. Жизнь

Для гарантии, что наша симуляция работает правильно, давайте реализуем классическую «жизнь» Конвея в рамках LtL.

R1/G2/M0/B3-3/S2-3/NM
R1/G2/M0/B3-3/S2-3/NM

Отлично, кажется, всё работает как и должно.

А что, если мы немного изменим правило? К примеру, будем учитывать центральную клетку?

10 запусков. R1/G2/M1/B3-3/S2-3/NM
10 запусков. R1/G2/M1/B3-3/S2-3/NM

Совершенно другая картина. Состояние за первый десяток итераций приходит к виду с простейшими натюрмортами и осцилляторами.

Можно подумать, что если мы уменьшим S, то вернём правило к известному виду. Но это не так:

5 запусков. R1/G2/M1/B3-3/S1-2/NM
5 запусков. R1/G2/M1/B3-3/S1-2/NM

Поэтому данный параметр вынесен отдельно, а в англоязычной традиции «life-like» конфигурацию называют outer-totalistic, то есть "учитывающую только внешние клетки".

1. Bugs

В именованных правилах LtL конфигурации очень много «жуков».

Первое подобное правило было описано самой Келли Эванс, и известно также как «Bosco's rule», по названию, которое было дано часто осциллятору с большим периодом (от 166 итераций), вариации которого и порождают «жуков».

Копошиться сегодня будем, в основном, на нецикличной сетке 300×300.

Bosco's rule – R5/G2/B34-45/S33-57

Bugs 3R – R3/B14-18/S14-23

Bugs R7 – R7/B63-84/S63-108

2 старта
2 старта

Bugsmovie – R10/B123-170/S122-211

3 старта
3 старта

Miniature Bugs – R3/B14-25/S15-22

3 старта
3 старта

... и ещё бесчисленное множество подобных им. Можно сказать, что жуки являются естественными обитателями LtL конфигурации.

2. Globe

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

R8/G2/B74-252/S163-223

3. Liquid methuseblob soup

Перетекающие правила всегда смотрятся интересно, а данное же ещё дополняется определённой внутренней структурой. Также занимательно, что направление роста можно определить даже по отдельному фрейму по толщине берега.

R6/M1/B52-60/S58-90

4. R7/B72-99/S72-225

Орнаменты с финальным видом на LtL конфигурации редко находятся, разве что на неумирающих правилах.

Конечно, определённой симметрии можно добиться и с заготовленными стартами на других правилах:

R10/M1/B3-3/S2-3

5. Modern Art

Демонстрацию данного правила пришлось хорошо порезать. G255 по размеру никак не укладывались, оставил по 1 фрейму "роста" из 20.

R10/G255/B3/S1-2

Можем позволить себе изменить количество поколений. Результат, конечно, несколько изменится.

G10. Без обрезок.

6. R2/B7-24/S19-25

Одно из самых медленно растущих и необычных правил. Рост происходит одновременно двумя шаблонами – чередующимися "зеброй" линиями и "колючей проволокой", которая, искривляясь, проходит через линии, но почти не нарушает их, а накладываясь на прямые становится основным видимым шаблоном.

R2/B7-24/S19-25

Как и с прошлым правилом – полный вид не влезает по размеру. В конце он выглядит так:

До краёв данный сид не дорос, это его финальное состояние
До краёв данный сид не дорос, это его финальное состояние

7. R2/G5/B4-4/S3-3

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

8. Pigs & R2/B4-4/S1-1

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

Pigs – R2/B4-4/S10-19 – 3 старта
Pigs – R2/B4-4/S10-19 – 3 старта
R2/B4-4/S1-1
R2/B4-4/S1-1

9. Возмущения

Но они же и порождают правила, вроде таких:

R7/G9/B14-15/S43-49
R7/G9/B14-15/S43-49
R4/G11/B6-6/S7-8
R4/G11/B6-6/S7-8

10. R7/G5/B63-82/S64-109

Напоследок взглянем, как выглядит одно из бесчисленных правил с «жуками» в поколенческом виде:

Не самое частое поведение. Большинство стартов заканчиваются пустым полем на первой сотне итераций
Не самое частое поведение. Большинство стартов заканчиваются пустым полем на первой сотне итераций
Бонус. Extra range

R45/G2/B2500-4973/S2884-4922

500×500; заполнение на 60%
500×500; заполнение на 60%
Заполнение на 80%
Заполнение на 80%
Стабильный финальный вид (попался на 75%)
Стабильный финальный вид (попался на 75%)


Читайте также

О клеточных автоматах:

  1. Базовая «life-like» конфигурация

  2. Старение клеток: параметр поколений

  3. Нотация Хенселя: учёт расположения соседей

  4. LtL: расширенный радиус поиска соседей (вы здесь)

  5. Циклические КА

  6. Альтернативные окрестности и HROT

  7. Блочные КА, окрестность Марголуса

  8. Взвешенные окрестности, окрестность Гаусса, Far Corners/Edges

  9. Направленные и пользовательские окрестности

  10. Клетки-киллеры, BSFK[L]

  11. Дефицитные правила

  12. Обратные и расширенные поколения

Прочее:

← Предыдущая часть | Следующая часть →

Теги:
Хабы:
+42
Комментарии3

Публикации