Симуляции и рост

Клеточные автоматы

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

  • симуляция на GPU
  • тайл (приближённо)
Открыть в редакторе →

Клеточный автомат — это сетка клеток, где каждая на каждом шаге смотрит на соседей и по одному и тому же правилу решает, какой ей стать. Только и всего, а из этого вырастают треугольники Серпинского, спиральные волны, лабиринты и «существа», которые ползают по сетке.

Как это устроено

«Элементарный 1D» — строка клеток 0 и 1. Новое значение клетки зависит от неё самой и двух соседей: вариантов восемь, а восемь ответов записываются восемью битами — это и есть номер правила от 0 до 255. Каждое поколение рисуется строкой ниже предыдущего, и получается диаграмма «пространство — время».

В «циклическом» автомате N цветов стоят по кругу, и клетка переходит в следующий цвет, если его набралось достаточно среди соседей. Следующий цвет «съедает» клетку, но и сам станет добычей своего соседа по кругу — и случайный шум сам собой собирается в спиральные волны, как в реакции Белоусова — Жаботинского.

В «Жизни» запись B/S перечисляет, при скольких живых соседях из восьми мёртвая клетка рождается (B) и живая выживает (S). Правила поколений добавляют угасающие состояния: клетка несколько шагов «остывает» и не может родиться заново.

1D: новое = бит № (4·л + 2·ц + п) правила правило 30: л XOR (ц OR п) правило 90: л XOR п цикл: k → (k + 1) mod N, если соседей цвета k + 1 не меньше T Жизнь B3/S23: рождение при 3, выживание при 2–3

Немного истории

В конце 1940-х Джон фон Нейман по совету Станислава Улама построил на клеточной сетке самовоспроизводящийся автомат с 29 состояниями. В октябре 1970 года Мартин Гарднер рассказал в Scientific American о «Жизни» Джона Конуэя, и в том же году Билл Госпер нашёл «ружьё», бесконечно стреляющее планерами, — из них потом собрали даже универсальный компьютер. В 1983 году Стивен Вольфрам взялся перебрать все 256 элементарных правил. Правило 30 оказалось настолько хаотичным, что служило генератором случайных чисел в Mathematica, а его узор украшает фасад вокзала Кембридж-Норт. Мэттью Кук доказал, что правило 110 универсально: оно может вычислить всё, что вычислимо. Итог Вольфрам подвёл в книге «A New Kind of Science» (2002). Циклический автомат в конце 1980-х изучал Дэвид Гриффит, а «Мозг Брайана» придумал Брайан Сильверман.

Что покрутить

  • «Автомат» «элементарный 1D», «Старт» «центр» и «Правило 1D» 90 — треугольник Серпинского из одной клетки; 30 — хаос, 110 — бегущие структуры на периодическом фоне.
  • В циклическом режиме поставьте «Состояний» 14, «Радиус соседства» 1, «Порог» 1 и «Соседство» фон Неймана — и дождитесь спиралей.
  • «Правило „Жизни“» «Лабиринт» из шума прорастает коридорами, а «Коралл» лучше растить из центра.
  • «Раскраска» «история» оставляет за угасшими клетками тающие следы; «Форма клетки» «круги» с «Зазором» превращает поле в светодиодное табло.
  • Включите анимацию: одномерный автомат поползёт вверх, как лента самописца, а «Мозг Брайана» под эффектом «Калейдоскоп» станет живым орнаментом.

Параметры

Автомат
элементарный 1D · циклический · «Жизнь» и поколения
Правило 1D
Номер правила Вольфрама 0–255: 30 — хаос, 90 — Серпинский, 110 — универсальное (режим 1D)
Состояний
Сколько цветов в круге циклического автомата
Радиус соседства
Как далеко клетка видит соседей (циклический)
Порог
Сколько соседей следующего цвета нужно, чтобы клетка перешла в него (циклический)
Соседство
Квадрат вокруг клетки или ромб (циклический) Мура (квадрат) · фон Неймана (ромб)
Правило «Жизни»
Когда клетка рождается и выживает (B/S); правила поколений добавляют угасающие состояния Жизнь Конуэя B3/S23 · HighLife B36/S23 · День и ночь B3678/S34678 · Лабиринт B3/S12345 · Мазектрик B3/S1234 · Коралл B3/S45678 · Голосование B5678/S45678 · Отжиг B4678/S35678 · Диамёба B35678/S5678 · Морли B368/S245 · Города за стенами B45678/S2345 · Мозг Брайана B2/S/3 · Звёздные войны B2/S345/4 · Лягушки B34/S12/3 · Спирали B234/S2/5 · Пылающие радуги B23/S347/8 · Белоусов–Жаботинский B23/S23/8 · Лава B45678/S12345/8 · Вихрь B34/S23/8 · Фейерверк B13/S2/21 · Бомбардировщики B24/S345/25
Клеток
Клеток по короткой стороне
Шагов
Поколений до готовой картинки (1D всегда заполняет кадр)
Старт
Шум по всему полю или затравка в центре (в 1D — одна клетка) шум · центр
Плотность шума
Доля живых клеток в стартовом шуме («Жизнь», 1D)
Форма клетки
квадраты · круги · скруглённые
Зазор
Промежуток между клетками, доля клетки
Раскраска
Градиент: по состоянию, соседям или окрестности; история: по возрасту, со следами угасших клеток плоская · градиент · история