Pull to refresh
114
0

Python developer

Send message

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

Спасибо. Интересный взгляд, особенно с травлением) Реакция Белоусова-Жаботинского нередкий гость на разных конфигурациях, особенно в циклических КА. 143 – воля рандома, да и с отсылкой, признаюсь, не знаком. К B3/S23e4e567/2-7-7-2 ракетные ассоциации были. Для вашей версии особенно хорошо симметрия вида подойдёт, вроде такой:

Пагода

Никакой тайны, в самописной. В конце серии, надеюсь, решусь представить её на суд общественности.

Да, в целом всё верно. Но с уточнением: это нетоталистичная конфигурация, и мы смотрим не просто на количество соседей, а на их расположение. 3 в этом случае обозначает всё множество шаблонов из трёх живых соседей – cekainyqjr, а не просто "любые 3 живы". Хоть у них в этом случае и идентичный охват, система работает от конкретных паттернов расположения.

Пример. У нас есть пустая клетка, у которой соседи образовали шаблон 3n:
/в каждой строке иначе = конец/
Если 3n входит в множество переходов B, клетка рождается;
Если 3n входит в множество D, на окружающие клетки налагается запрет на рождение по 3n;
/на следующем шаге шаблон соседей изменился, допустим, на 4c/
Если 4c входит в S, наша клетка выживает;
Если 3n (!мы сохраняем переход рождения) входит в P, дефицит 3n у соседей продолжается.

Это говоря о реализации, описанной в статье. Если говорить о более базовой вариации дефицитных правил, то там D/DP это просто логическое значение, которое обозначает, нужно ли при любом рождении налагать дефицит на соседей (если просто D), и нужно ли его сохранять при выживании клетки-распространителя (если DP). Но запрет всё так же налагается на конкретный переход рождения.

Не уверен, можно ли тут делать равенство. Финальный вид похож, хоть и не идентичен, но получен совершенно другой логикой.

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

Добавил спойлер ":h Параметры". Надеюсь, с ним новым читателям будет чуть проще.

Спасибо.

Да, поначалу еженедельный формат бодро пошёл. Хотел так до конца серии и довести, но не вышло. Последняя запланированная треть уже в вольном режиме.

Рад, что нравится.

Для души. Просто нахожу эту область крайне интересной, а на Хабре, да и в интернете в целом, она почти не освещена (не считая «жизни» Конвея, конечно, о ней-то материала хватает). Вот и решил немного исправить ситуацию и заинтересовать новых людей. А раз эта серия ещё и тёплый отклик получает, то и просто, как автору, приятно.

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

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

Но так как различных конфигураций и правил бесконечно много, мы не можем сказать, что для некоторой задачи применяется строго КА с такой-то конфигурацией и правилом. Тем более, что чаще всего КА применяются в тех проблемах, где либо вовсе нет эталонного результата, который бы достигался одним КА, либо изначально моделирование предполагает упрощённое приближение.
Потому нет и единого списка "проблема = правило КА", есть только список областей применения, где вы уже можете искать частные, зачастую научные, работы.

Если всё же с частными примерами – в преддверии текущей серии, я делал переводы по упрощённому моделированию лесных пожаров и модели сегрегации Шеллинга (обратите внимание, что и в этих примерах нет единого "ответа", – разбирается проблема с различными модификациями КА, пусть и в рамках одной конфигурации).
На Хабре были статьи про генерацию 2D мира (и ещё несколько) и анимацию смерти монстров в играх, генеративную музыку, моделирование пешеходных потоков, и даже серия статей «Логика сознания» не обошла тему КА.
И многие другие примеры. И это не касаясь сугубо математического интереса к области, о котором можно годичную серию писать, но об этом лучше пусть расскажут авторы, которые в этом хорошо разбираются.

Честно, не знаю. Подожду ответ вместе с вами.

Ох, очень сложный вопрос. Я не очень погружён в прикладную составляющую, но попробую ответить.

Скажем так, КА с "прямой применимостью" обычно создаются под конкретный процесс, и ещё на этом уровне в них будут заложены собственные правила и модификации, и это, почти всегда, не «b/s» с дополнениями. Нередко подобное моделирование посредством КА даёт лишь приближение, однако оказывается куда проще и менее затратно, нежели полноценное.
Опосредованная же применимость может быть найдена на огромном числе правил разных конфигураций – начиная от построения логических правил, со всем вытекающим, заканчивая схожестью с существующими процессами (не ограничиваясь физическими и химическими). Читатели уже не раз подмечали подобное.
Также, назовём это "вторым уровнем опосредованной применимости", существующие правила могут пригодиться в прочих, самых разных областях – криптографии, дизайне, геймдеве, …. На Хабре уже были статьи на эти темы.

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

КА здесь, скорее, инструмент, а как его применять – тема для отдельного обсуждения.
Как-то так я это вижу. Надеюсь, что меня ещё дополнят и поправят.

Про реализацию муравьиного алгоритма на КА не слышал. Гугл тоже подсказал только пару университетских статей. А в чём вы видите применимость? Как дополнение для потенциальных прочих моделей или больше из исследовательского интереса?

Очень приятно оказаться в списке) Спасибо за эту серию конкурсов. Посоревнуемся и в новом году 👾

Спасибо за материал. Видно, что в него вложен большой труд.

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

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

Могло бы помочь дополнительное введение уровней, для каждого пункта, хотя бы "начинающим / продолжающим / углубляющимся". И согласовать степень раскрытия пункта под каждый уровень. Здесь, как раз, можно подумать о дроблении на разные статьи, так как в формате "всё-в-одном" материал тогда вырастет ещё раза в два, как минимум, а читатели утонут в проскроллах не своих уровней. Можно для сокращения текста сопровождать ссылками на прочие статьи, так как все пункты, по отдельности, уже не раз описаны.
Уровни на диаграммах я в расчёт не беру – они никак не отражены в тексте. Да и дробления на два уровня явно недостаточно – те же метаклассы оказываются на одном уровне с Counter, dict comprehension и @cache (специально взял примеры из разных разделов).

Ну и само дробление на разделы… оно-то и логично категоризировано, но последовательность изложения/чтения от этого сильно страдает.

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

Рад, что нравится)

Да, поле для BBM, к примеру, оттуда и позаимствовано, с некоторыми правками. Хотя для де-факто основного симулятора КА, там, на удивление, очень мало предзагруженных правил.

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

Спасибо) Запомню пожелание, надо будет экспорт дописать. С полем-то всё просто, а с правилами могут возникнуть сложности.

Немного не так. Плюсы с любой положительной кармой, ограничение только по количеству, а вот минусы уже от 5.

Согласен, очень много пользователей в read-only (почти 9/10, по итогам 2022 года), а сколько регулярных читателей ресурса и вовсе не зарегистрировано, представить сложно. Но получить первую карму очень просто, если читатель того захочет, достаточно одного осмысленного комментария. Лично я всегда поднимаю нулевую карму, если приходят комментарии на модерацию от новых участников сообщества. /Неадекватных на модерацию пока ни разу не приходило./

"Стрелочки" обнаружил совершенно случайно и был очень удивлён) Кажется, в интернете это правило упомянуто впервые, во всяком случае, в этом варианте.

Спасибо) Навскидку, это ещё первая половина серии.

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Python