Pull to refresh

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

Level of difficultyEasy
Reading time4 min
Views4.5K

?, Хабр!

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

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

Самое популярное подобное расширение известно как 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. Обратные и расширенные поколения

Прочее:

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

Tags:
Hubs:
Total votes 42: ↑42 and ↓0+42
Comments3

Articles