ополнительные доски. Были найдены новые устойчивые конфигурации, получившие такие названия, как «батон», «корабль», «лодка» и «змея». Иногда исходный шаблон погибал или быстро менялся, превращаясь в одну из известных устойчивых конфигураций, а иногда начинал жить своей жизнью, что приводило всех в сильное волнение. Например, пентамино в форме буквы R состояло всего из пяти клеток, но продолжало эволюционировать на протяжении десятков поколений, пока на 69-м поколении не произошло исключительное событие. Эта конфигурация произвела на свет фигуру из пяти клеток, скользившую по доске.
Новая фигура получила имя «глайдер» (ее поведение проиллюстрировано на рисунке ниже). Через два поколения конфигурация переворачивается на другую сторону, а еще через два снова поворачивается таким образом, что оказывается на одну клетку ниже и на одну дальше от исходной позиции. Глайдер продолжает смещаться на одну клетку вниз и одну вперед каждые четыре поколения. Он будет двигаться в одном и том же направлении по диагонали до бесконечности, если ничто не преградит ему путь. «Главный систематик» Конвей выделил в игре «Жизнь» новый вид фигур, подобных глайдеру, которые перемещаются по прямым линиям, и назвал их космическими кораблями.
Глайдер
В 1970 году журналист Мартин Гарднер написал об игре «Жизнь» в своей многолетней рубрике в журнале Scientific American, что способствовало превращению математической игры Конвея в одно из первых компьютерных увлечений, охвативших весь мир[178]. Отслеживание эволюции фигур в игре «Жизнь» на доске для го требовало больших временных затрат и не было защищено от ошибок. Компьютеры позволяли отслеживать конфигурации гораздо дольше; кроме того, когда сменяющие друг друга поколения клеток мелькали на экране, фигуры как будто оживали[179]. Решетка с разбросанными по ней живыми клетками представляла собой первичную среду обитания изменчивых, постоянно преобразующихся конфигураций. Например, R-образное пентамино искрилось и пенилось на протяжении целых 1103 поколений, оставляя после себя обломки в виде корабля, лодки, батона, четырех ульев, четырех мигалок, шести глайдеров и восьми блоков. Запрограммировать игру «Жизнь» не составляло труда, поскольку в ней было всего четыре правила; тем не менее эта игра демонстрировала слишком сложное поведение, и его еще не удавалось добиться на компьютерах. Создание шаблонов и наблюдение за их дальнейшей жизнью вызывали такую зависимость, что, по оценкам Гарднера, это обошлось американской экономике в миллионы долларов компьютерного времени. Один читатель рассказал Гарднеру, что установил под своим рабочим столом секретную кнопку, для того чтобы переключать компьютер на игру «Жизнь», когда коллеги выходят из кабинета.
В Массачусетском технологическом институте (МТИ) игра «Жизнь» стала образом жизни. Одна сплоченная группа склонных к анархии и веселью, но очень умных студентов поставила перед собой цель изучить эту игрушечную вселенную глубже, чем кто-либо другой[180]. Это были первые компьютерные хакеры, настоящие техногики[181]. Общинная, антиавторитарная позиция хакеров оказала огромное влияние на формирование зарождающейся компьютерной культуры Америки, задавая тон новаторам более позднего периода, таким как Стив Джобс и Билл Гейтс. «План состоял в том, чтобы просто собрать всю эту дичь и одомашнить ее», — объяснил Билл Госпер, король хакеров, который преподает сейчас математику в Лос-Альтосе. Госпер проводил целые ночи в компьютерном зале MIT, играя в «Жизнь», и так продолжалось почти два года.
Конвей опубликовал на страницах журнала Scientific American задачу и предложил за ее решение приз в размере 50 долларов. Существует ли конфигурация, которая продолжает расти и у которой общее количество живых клеток увеличивается бесконечно? Госпер нашел такую конфигурацию и получил приз. «Глайдерное ружье» — это фигура из 36 живых клеток, пульсирующая как бьющееся сердце, порождая новый глайдер через каждые 30 поколений. Эти глайдеры один за другим отдаляются от исходной фигуры по диагонали, подобно бесконечному потоку пуль, выстреливаемых из ружья. Открытие глайдерного ружья сместило фокус изучения игры «Жизнь» с зоологии на физику. Госпер и его друзья-натуралисты больше не занимались пассивным исследованием флоры и фауны, переключившись на баллистику и изобретение фигур, в состав которых входят глайдерные ружья, стреляющие в другие фигуры. Можно было выстрелить двумя глайдерами друг в друга таким образом, что оба исчезали, не оставив после себя никаких обломков, как будто каким-то волшебным образом растворяясь в воздухе. «Мы пытались найти способ создавать что-то новое, сталкивая глайдеры между собой и наблюдая, что из этого выйдет, — объяснял Госпер. — А затем возникал другой вопрос: что произойдет, если ударить глайдерами по фигурам, полученным в результате столкновения глайдеров?» В ходе поиска ответа на этот вопрос Госпер открыл новую устойчивую конфигурацию из семи клеток под названием «пожиратель». Когда глайдер сталкивается с пожирателем, первый исчезает, а второй восстанавливается до исходного состояния, что создает впечатление, будто он поглотил глайдер. Кроме того, пожиратель поглощает другие устойчивые фигуры, расположенные рядом с ним, всегда восстанавливаясь после первоначального взаимодействия.
Пожиратель был первым признаком того, что игре «Жизнь» можно найти применение в реальном мире, например в проектировании объектов, которые способны к самовосстановлению. Нельзя сказать, что Госпера интересовало именно это. Для него было важно то, что глайдерное ружье и пожиратель позволяют вывести игру «Жизнь» на новый уровень — уровень разработки больших проектов, в рамках которых огромные конфигурации можно было бы создавать из сотен глайдеров, скачущих между разными элементами, а пожирателей разместить таким образом, чтобы они подбирали ненужные обломки. Первой конфигурацией подобного типа, которую Госперу удалось составить, был так называемый размножитель — фигура, порождающая глайдеры. Он начинает где-то с 50 глайдеров и ускоряет их воспроизведение так быстро, что примерно на 6500-м поколении количество глайдеров превышает количество поколений.
По мере увеличения банка знаний любители игры «Жизнь» выстраивали все более удивительные конфигурации. Одна из моих любимых представляет собой имитацию решета Эратосфена — метода поиска простых чисел, используемого древними греками. Решето, смоделированное в игре «Жизнь», состоит в основном из ружей, глайдеров и пожирателей. Его исходная конфигурация включает 5169 живых клеток[182]. Основной элемент решета — ружье, выстреливающее фигуру из 9 клеток под названием «легкий космический корабль» в горизонтальном направлении, через равные промежутки времени. Глайдеры обстреливают космические корабли, из которых выживают только второй, третий, пятый, седьмой, одиннадцатый и т. д. — другими словами, корабли, порядковый номер которых — простое число. (Подробное разъяснение того, как это работает, можно найти в Приложении 8.)
Мне нравится решето, смоделированное в игре «Жизнь», поскольку из древнегреческого математического инструмента оно превратилось в межгалактическую перестрелку между флотилиями глайдеров и космических кораблей. Наблюдать за данной конфигурацией — это как будто смотреть батальную сцену в фантастической эпопее или, возможно, отслеживать эволюцию колонии муравьев, поведение которых носит сугубо математический характер. Не забывайте: как только вы построите исходную конфигурацию, вам не нужно вмешиваться в дальнейший процесс. Эта фигура может продолжать свою жизнь до бесконечности, отстреливая космические корабли и оставляя в живых лишь те из них, порядковый номер которых представляет собой простое число.
«Уровень мастерства реально поражает, — сказал Госпер о самых лучших конфигурациях. — Люди, которые пытаются [создавать фигуры], быстро осознают, насколько это сложно, а удачные образцы приводят их в неописуемый восторг. Для того чтобы сосредоточиться на игре в достаточной степени, нужно находиться почти в состоянии невменяемости». За период с семидесятых годов до наших дней построены сотни удивительных конфигураций, в том числе и вычисляющая значение числа π, которую изобрел британский подросток по имени Адам Гаучер. К чему еще стремиться? «Жизнь — неистощимый источник вопросов и задач», — резюмировал Госпер.
Игра «Жизнь» подвергает сомнению наши предвзятые представления о том, как работает этот мир, поскольку она показывает, как простой набор локальных правил может генерировать невероятно сложное общее поведение. При взгляде на такую идеально интегрированную систему, как решето Эратосфена, удивляет то, что каждая клетка взаимодействует всего с восемью соседними клетками.
Игра «Жизнь» демонстрирует также существование разных реальностей на разных уровнях игры. Решето Эратосфена — это конфигурация, разработанная на основе физических свойств глайдерных ружей с использованием технологии столкновений и космических кораблей. Однако на более детальном уровне таких вещей, как «столкновение» или «космический корабль», нет. Есть лишь неподвижные клетки, которые могут быть либо «живыми», либо «мертвыми».
По мере создания все более сложных фигур возникает вопрос: каков предел того, что может сделать конфигурация в игре «Жизнь»? Да буквально все, на что способен ваш ПК, планшет или смартфон. Если задача выполнима с помощью компьютера, тогда это можно сделать и посредством конфигурации в игре «Жизнь».
Конвей доказал истинность этого утверждения, продемонстрировав, что можно создать компьютер «Жизни», другими словами — исходную конфигурацию живых клеток, имитирующую внутреннюю схему компьютера. Вам придется поверить мне на слово (или прочитать книгу по информатике), но внутренняя схема компьютера на базовом уровне состоит из следующих компонентов: проводники, логические элементы и регистр памяти. Генератор тактовых импульсов порождает электронные импульсы, представляющие двоичные числа. Наличие импульса — это 1, а его отсутствие — 0. Конвей понял, что глайдеры могут выполнять функции импульсов, передающихся по проводникам. Следовательно, поток глайдеров может представить любое число, состоящее из нолей и единиц, как показано на рисунке ниже. Поскольку глайдеры двигаются по диагонали, я разместил сетку под углом 45 градусов.