Клеточный автомат: возможна ли автоматическая жизнь?
Возьмите простое решетчатое пространство. Задайте набор нехитрых правил. Запустите время. Вы получили клеточный автомат — почти что целый мир.
Кубическая вселенная Minecraft плотно заселена — проданная в количестве более 70 млн копий игра входит в тройку самых успешных в истории. Здесь есть практически всё: почва и мрамор, деревья и лава, хитроумные элементы для сооружения сложных машин и механизмов. Выбирая строительные кубы, участники возводят, изменяют и дополняют этот мир, сочиняют обширные руководства и советы по конструированию — и проходят онлайн-тесты на тему «Проверь, не слишком ли ты пристрастился к Minecraft». Действительно, этот мир затягивает, ведь он живет и эволюционирует.
Если освещения достаточно, кубический блок почвы, имеющий по соседству блок зеленой лужайки, тоже прорастет травой. Блок воды понизит уровень и растечется на соседние участки, если перед ним не будет преград. При доступе к воде и солнечному свету урожай растет на один уровень с каждой итерацией временного цикла. Остывая, блок расплавленной лавы видоизменяется по простым правилам: лава (неподвижная) становится обсидианом, если верхний блок — вода; лава (текущая) становится камнем, если один из соседних блоков — вода.
Несмотря на грубые кубические формы, вселенная Minecraft поражает разнообразием и сложностью, которые вырастают не только из вольного творчества игроков, но и из набора простых принципов, которые определяют ход ее эволюции. Это настоящая матрица, разве что трехмерная, и ее ячейки обновляются цикл за циклом, в зависимости от действий игрока и локального окружения. Если не настоящий клетчатый мир, то — клеточный автомат.
Правила «Жизни»
«Жизнь» существует на бесконечной решетчатой плоскости. Каждая клетка, имеющая двух или трех живых соседей, выживает на следующем шаге времени. Если их меньше или больше, клетка умирает от «одиночества» или от «перенаселения». Если у мертвой клетки три живых соседа, она становится живой. Учитывается соседство по вертикали, горизонтали и диагонали. Вот и всё: базовые принципы игры исключительно просты, но могут порождать удивительно сложное поведение и разнообразие форм.
Правила «Жизни» были опубликованы кембриджским математиком Джоном Конвеем в 1970 году и сразу сделали клеточные автоматы невероятно популярными. Тысячи энтузиастов, ощутив себя в роли властелинов этого клетчатого мирка, принялись исследовать двумерные формы, которые рождаются и умирают в нем. Среди них обнаружились стационарные «натюрморты», способные существовать вечно без каких-либо изменений; периодические «осцилляторы», повторяющие одни и те же фигуры с определенной цикличностью; движущиеся «планеры», которые с каждым ходом смещаются в том или ином направлении.
Сегодня в «Жизни» известны миллионы таких существ: с ростом «размеров», то есть числа ячеек, количество возможных «натюрмортов» и «осцилляторов» увеличивается стремительно. Но уже в первые годы повального увлечения этим изящным клеточным автоматом выяснилось, что при наличии достаточного «жизненного» пространства в нем могут существовать и намного более сложные структуры. Например, «крепкий орешек» состоит из семи живых клеток, которые мучительно выживают на протяжении 130 поколений, после чего все разом аннигилируют.