воскресенье, 8 декабря 2019 г.

Глайдерное ружьё и пентадекатлон

В школьном возрасте проходил мимо лавки с книгами, где мой взгляд упал на такую книгу:

Эту книгу родители подарили мне на день рождения. Книга была издана в 1995 году, так что, скорее всего, в тот день рождения мне исполнилось 12 лет.

Оригинальное первое издание книги было выпущено аж в 1966 году. Мартин Гарднер - довольно известный популяризатор математики, который вёл колонку о занимательной математике в американском журнале Sientific American.

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

Одной из самых захватывающих воображение глав была глава про игру "Жизнь", которую придумал Джон Конуэй. Действие этой игры происходит на бесконечной клетчатой доске, где располагаются фишки, символизирующие живые организмы или живые клетки. Каждая клетка соседствует с 8 другими клетками и выживает, если у неё есть 2 или 3 соседа. При меньшем или большем количестве клетка умирает от одиночества или перенаселённости. Зарождение жизни на пустой клетке происходит при наличии ровно трёх живых соседей. Несмотря на простоту этих правил, в игре обнаружено большое количество разнообразных конфигураций, сохраняющих неподвижность, меняющих свой вид циклически, перемещающихся по игровому полю и т.д. Сама игра интересна тем, что является Тьюринг-полной машиной. То есть, расположив клетки на игровом поле определённым образом, можно выполнять на ней алгоритмические вычисления.

На одной из иллюстраций были изображены глайдерное ружьё, которое выстреливает планеры, и пентадекатлон:

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

Как-то раз мы с сыном попытались воспроизвести конфигурацию, изображённую на картинке из книги, в программе Golly. Оказалось, что на рисунке в книге допущена ошибка. Пентадекатлон, чтобы он начал уничтожать прилетающие в него планеры, нужно сместить на одну клетку вверх и на три клетки вправо. Таким образом, правильная картинка должна была выглядеть следующим образом:

На иллюстрации ниже изображено развитие конфигурации:

Если внимательно присмотреться к эволюции пентадекатлона, то можно увидеть, что на самом деле он не уничтожает планеры, а отражает их. Только потом два летящих друг на друга планера сталкиваются и разрушаются. На анимированной картинке показано 60 этапов развития конфигурации. Глайдерное ружьё возвращается в исходную конфигурацию через 30 ходов, но следующий планер долетает до пентадекатлона только ещё через 30 ходов.