Жизнь, запрограммированная на жизнь


Каждому программисту нравятся хорошие ссылки на себя, рекурсия, бутстрап, но это ошеломляет. У нас есть реализация игры жизни Конвея в игре жизни Конвея. Или проще говоря «Жизнь в жизни».

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

Давно известно, что жизнь Конвея завершена по Тьюрингу, то есть вы можете использовать ее для вычисления всего, что может вычислить машина Тьюринга, но делать это — другое дело. Правила Жизни настолько просты, что создать что-то, выполняющее определенные вычисления, очень сложно, но было найдено много интересных структур — планеры, шлепанцы и так далее. Люди построили огромные группы ячеек, которые выполняют всевозможные интересные задачи, и единственное, что вы можете сказать, когда увидите их в действии: «Как они вообще это придумали?» Жизнь на таком уровне сложности очень впечатляет — но вы еще ничего не видели.

Несколько лет назад, примерно в 2006 году, Брайс Дью создал метапиксель — элементарную ячейку, которую можно настроить так, чтобы она вела себя как любая клетка в Жизни, как клеточные автоматы. Метапикселю нужно 2048×2048 клеток жизни, и да, он такой большой. Метапиксель имеет два состояния, как и основная ячейка Жизни, которая соответствует тому, что большинство ячеек в середине включены или выключены. Для перехода от одного поколения к другому требуется 35 328 поколений. Правило, которое реализует клетка, закодировано в двух столбцах по девять «едоков», которые соответствуют правилам выживания и рождения.

Если вы хотите увидеть изменения, связанные с переходом от одного к другому, посмотрите следующее видео:

Метапиксель обычно реализуется с помощью Golly, очень быстрого движка Life. Видео было создано с использованием стандартной реализации метапикселя Голли и некоторого специального кода Python для захвата кадров из Голли. Коэффициент масштабирования изменен для получения плавно изменяющейся шкалы, аналогичной той, что используется в знаменитом видео «Степень десяти».

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

Самые сложные вещи происходят из самых простых, но в этом случае самые сложные вещи возвращаются к простому и замыкают цикл.


Добавить комментарий