Красота в квадрате Как цифры отражают жизнь и жизнь отражает цифры (Беллос) - страница 181

Безусловно, компьютер, построенный Полом в игре «Жизнь», был неприменим на практике для выполнения всех этих задач. Но он вернул «Жизнь» к ее истокам. Джон фон Нейман выдвинул идею клеточного автомата во время изучения процесса самовоспроизведения. Конфигурация Пола открыла заманчивую возможность создания самовоспроизводящихся сущностей в игре «Жизнь».

На первый взгляд фигуры, эволюционирующие на решетке игры «Жизнь», кажутся живыми, так как по мере смены поколений они трансформируются и меняют направление. Однако для того, чтобы некий объект действительно был живым, он должен обладать способностью к самовоспроизведению. Но что это такое? Глайдер, например, воспроизводит себя достаточно просто. Это состоящая из пяти клеток фигура, которая каждые четыре поколения возвращается в исходную форму, сместившись на одну клетку вниз и одну в сторону. Фон Нейман хотел знать, как машина может построить точную копию самой себя. Для того чтобы это понять, ему предстояло решить математическую головоломку, поскольку механическая сторона процесса самовоспроизведения содержит один логический парадокс.

Мы с вами уже говорили о том, что компьютеры состоят из аппаратного и программного обеспечения. Давайте назовем аппаратное обеспечение «конструктором», а программу, которую мы вводим в конструктор, чтобы он построил копию себя, — «макетом». Мы рассчитываем на то, что после ввода макета конструктор воспроизведет новый конструктор вместе с новым макетом, по сути, создав копии двух исходных элементов. Но здесь возникает вопрос: содержит ли макет инструкции относительно создания нового макета? Если да, тогда они должны также содержать инструкции по поводу создания нового макета, который, в свою очередь, должен содержать инструкции по поводу того, как создать инструкции в отношении построения нового макета — и так далее до бесконечности. В итоге мы получаем бесконечную регрессию инструкций, содержащихся в данном макете, что недопустимо, поскольку макет должен быть конечным. С другой стороны, если макет не включает никакую информацию о себе, машина не сможет себя полностью воссоздать, поскольку в новой машине нет макета. Прежде чем думать о технической стороне дела, фон Нейману следовало разобраться с математикой.

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