Комментарии 13
Всегда с удовольствием читаю этот цикл статей. Очень круто и интересно. Подскажите, это какая-то научно-исследовательская работа или это просто для души?
Рад, что нравится.
Для души. Просто нахожу эту область крайне интересной, а на Хабре, да и в интернете в целом, она почти не освещена (не считая «жизни» Конвея, конечно, о ней-то материала хватает). Вот и решил немного исправить ситуацию и заинтересовать новых людей. А раз эта серия ещё и тёплый отклик получает, то и просто, как автору, приятно.
Увлекательный цикл. Начинался с темы "пятничные клеточные автоматы" но потом всё реже и реже - видимо это для души...
Автор, вы с таким интересом стали перечислять различные виды новых паттернов клеточных автоматов, что напрочь забыли описать .... сами новые правила.
Например В3 - правило для "мёртвых" клеток, у которых ровно 3 живых соседа стают живыми.
S23 - правило для живых клеток у которых 2 или 3 живых соседа выживают, и становятся мёртвыми в остальных случаях.
А что означает D3 или P3 - непонятно вообще никак!
Добавил спойлер ":h Параметры". Надеюсь, с ним новым читателям будет чуть проще.
спасибо, проще стало!
Но всё ещё непонятно
Определяет, какое множество переходов будет считаться временно дефицитным. Клетка, которая родилась по переходу, входящему в D, будет запрещать на следующей итерации рождение по «своему» переходу в соседних клетках.
То есть если клетка родилась по правилу B3, и если в это же время есть правило D3, то родившеся клетка на следующем ходу на всех соседей блокирует правило B3?
. Определяет, какое множество переходов будет считаться перманентно дефицитным. Клетка, уже распространяющая временный дефицит, будет растягивать ограничение на всё время своей жизни, если переход её рождения входит в множество P.
То есть если клетка родилась по правилу B3, и если в это же время есть правило Р3, то родившеся клетка пока жива на всех соседей блокирует правило B3?
Да, в целом всё верно. Но с уточнением: это нетоталистичная конфигурация, и мы смотрим не просто на количество соседей, а на их расположение. 3
в этом случае обозначает всё множество шаблонов из трёх живых соседей – cekainyqjr
, а не просто "любые 3 живы". Хоть у них в этом случае и идентичный охват, система работает от конкретных паттернов расположения.
Пример. У нас есть пустая клетка, у которой соседи образовали шаблон 3n
:
/в каждой строке иначе
= конец/
Если 3n
входит в множество переходов B, клетка рождается;
Если 3n
входит в множество D, на окружающие клетки налагается запрет на рождение по 3n
;
/на следующем шаге шаблон соседей изменился, допустим, на 4c
/
Если 4c
входит в S, наша клетка выживает;
Если 3n
(!мы сохраняем переход рождения) входит в P, дефицит 3n
у соседей продолжается.
Это говоря о реализации, описанной в статье. Если говорить о более базовой вариации дефицитных правил, то там D/DP это просто логическое значение, которое обозначает, нужно ли при любом
рождении налагать дефицит на соседей (если просто D), и нужно ли его сохранять при выживании клетки-распространителя (если DP). Но запрет всё так же налагается на конкретный переход рождения.
1/4, ×1.5, 11с., 237×237, 100×20% | B1e2i/S01/D1e - Прямо Звёздные войны.
треугольник Серпинского
Он же Элементарный клеточный автомат — Википедия (wikipedia.org) , правило 90. Имеем двумерный КА, сохраняющий историю одномерного. Нельзя ли в данной механике сделать то же самое для других правил (к примеру 110)? Если нельзя, то можно ли промоделировать правило 90 с другой стартовой строкой?
Не уверен, можно ли тут делать равенство. Финальный вид похож, хоть и не идентичен, но получен совершенно другой логикой.
Элементарные КА можно переложить через обычную конфигурацию с направленной пользовательской окрестностью, но всё равно придётся явно обозначать каждый переход рождения (в тоталистичной нотации получится повторить лишь 16). В анизотропных конфигурациях можно только найти схожие симметричные виды, но как это сделать без перебора не подскажу.
Удивительные клеточные автоматы: дефицитные правила