Организму слона неведомо, чьи ДНК он воспроизводит – слоновьи или вирусные, – и крылышки пчелы не знают, несут они ДНК своей хозяйки или ДНК цветка. Выходит, что пчелы, если только не тратят по неразумию время на совокупление с орхидеями, старательно распространяют все ДНК. Для операционной системы пчелы что ее родная ДНК, что ДНК цветка – все едино. Павлины, пчелы, цветы и слоны состоят со своими ДНК в таких же отношениях, что и с ДНК внедрившихся в них паразитных вирусов. Вирусная ДНК – это программа, которая командует: “Дуплицируй меня простым и прямым путем с помощью механизма, имеющегося в хозяйских клетках”. ДНК слонов командует: “Дуплицируй меня кружным путем, так чтобы сначала получился слон”. ДНК цветка командует: “Дуплицируй меня еще более сложным способом – сначала создай цветок, а затем с помощью этого цветка и вспомогательных средств, например, нектарной приманки, управляй крылышками пчелы (они очень кстати уже заранее созданы по инструкции, полученной от собственной ДНК пчелы), так чтобы они разносили пыльцу, которая содержит команды той же ДНК”. К тому же заключению мы придем еще раз в следующей главе, только с другой стороны.
Глава 9
Робот-репликатор
Итак, мы поняли, что цветы и слоны являются носителями как своих собственных, так и вирусных ДНК фактически в равной степени. Однако этот справедливый вывод не дает ответа на некоторые непростые вопросы. Мы еще не обсудили один важный этап. Компьютерным вирусам все дается легко, поскольку к их услугам полно мощных, готовых исполнить любую команду машин. Но машины сделали люди. Компьютеры предоставлены в распоряжение вредоносным программам. ДНК-содержащим вирусам тоже предоставлен в полное распоряжение сложнейший клеточный механизм, способный воспринимать и исполнять команды. Но откуда берутся в природе живые механизмы?
Предположим, есть компьютерный вирус без готового к работе компьютера, так что приходится все начинать с нуля. Отдать команду “скопируй меня” программа не может, потому что компьютера нет и исполнить ее некому. Что остается делать самокопирующейся программе, если ей надо себя размножить, а готовых копирующих устройств ей не предлагают? Надо бы скомандовать: “Создай устройство для копирования меня”. Но прежде надо дать другую инструкцию: “Создай детали, из которых можно собрать устройство, копирующее меня”. А еще раньше: “Найди сырье, из которого можно создать детали”. Такая умная программа достойна собственного названия. Назовем ее “Тотальная репликация командных программ”, или ТРКП.
ТРКП должна управлять не только компьютером с клавиатурой и монитором. У нее в арсенале должен быть заменитель квалифицированного мастера – захватывающее устройство-манипулятор в сочетании с датчиками, которое могло бы конструировать и соединять детали. Чтобы найти исходные материалы для деталей, правильно подобрать и скомпоновать их, требуется устройство, действующее, как руки. Компьютер может воспроизвести предметы на экране, но без посторонней помощи он не соберет другой компьютер по своему образу и подобию. Для этого необходимо переместиться в реальный мир и поработать с настоящими металлом, кремнием и прочими материалами.
Давайте подробнее рассмотрим связанные с этим технические проблемы. Современный стационарный компьютер умеет манипулировать цветными объектами на электронно-лучевом мониторе, рисовать цветными чернилами на бумаге в принтере и еще кое‐что – например, управлять звуком в стереодинамиках. Благодаря этим его умениям можно создать иллюзию объемного тела – но всего лишь иллюзию, которая полностью зависит от того, насколько у нас богатая фантазия. На экране рисуют кубик в перспективе. При адекватном визуальном отображении поверхностей он выглядит как настоящий, однако его не возьмешь в руки и не потрогаешь, не ощутишь его вес и фактуру. Если позволяет программное обеспечение, можно “разрезать” кубик на экране и показать его сечение. Но это по‐прежнему не будет осязаемое твердое тело. Вероятно, в будущем компьютеры научатся имитировать и другие чувства. Возможно, если вы попытаетесь мышкой сдвинуть объект с места на экране, через рифленую поверхность мышки вашим пальцам передастся физическое ощущение его “массы”. И все‐таки объект не будет иметь массы, не превратится в твердое, осязаемое тело.
Наш компьютер с установленной на него программой ТРКП должен воздействовать не только на воображение человека. Он должен уметь управлять реальными твердыми телами. Каким образом? Задача, очевидно, очень непростая. Это станет понятнее, если мы попытаемся сконструировать принтер нового типа – 3D-принтер
[27]. Обычный принтер наносит чернила на плоский лист бумаги. Чтобы получить более или менее достоверное объемное изображение, скажем, кошки, можно было бы напечатать серию изображений на прозрачной пленке. Допустим, компьютер тщательно отсканирует сечения тела кошки, сделанные последовательно от носа до хвоста, и напечатает на ацетатной пленке сколько‐то сотен изображений. Если потом сложить все полученные картинки в стопку, внутри вы увидите объемное изображение кошки.
Но нарисованная таким способом кошка будет заключена в прозрачную форму, поэтому такое устройство нельзя считать полноценным 3D-принтером. Можно исправить недочет – заменить чернила самоотверждающейся смолой. Сложить листы в стопку и отсечь (растворить или протравить) все лишнее, что не затвердело. Если бы нам удалось преодолеть технические трудности и сконструировать такое устройство, у нас в руках оказался бы инструмент для создания объемных тел – самый настоящий принтер для объемной печати.
Наш 3D-принтер все‐таки недалеко ушел от своих традиционных предшественников. Он печатает объемные изображения, используя принцип последовательных сечений. Устройство вывода данных, работа которого основана на принципе последовательных сечений, для нашей программы ТРКП не годится. Таким методом нельзя изготовить какую‐нибудь полезную машину – например, двигатель внутреннего сгорания. Для этого надо иметь еще массу деталей – цилиндры, поршни, маховики, ремни и многое другое. Все это делается из разных материалов, и все это надо перевозить по отдельности. Нельзя слепить двигатель из пачки срезов – его надо именно собрать из отдельных, заранее изготовленных деталей. Заготовки тоже надо предварительно собрать – из других, еще более мелких деталей. Устройство вывода данных, пригодное для ТРКП, не имеет ничего общего с 3D-принтером. Это промышленный робот. Он может поднимать предметы клешнями, как руками. Чтобы его “руки” двигались во всех трех перпендикулярных плоскостях, на концах рычагов, заменяющих руки, должна располагаться “кисть” с “пальцами”, соединенными универсальными шарнирами или комбинацией шарниров. Чтобы находить путь от одного искомого предмета к другому, доставлять комплектующие на место и монтировать их в правильном порядке подходящими способами, робот должен иметь аналоги органов чувств.
Такие роботы применяются на современных предприятиях (рис. 9.1). Они неплохо работают – при условии, что перед каждым стоит конкретная задача, которая выполняется в определенном месте на конвейере. Но для нашей программы ТРКП промышленный робот тоже не годится. Если ему подать детали в фиксированном положении и в нужном порядке на конвейере, он их соберет. Однако смысл нашего эксперимента как раз в том, чтобы не связываться с фиксированными положениями, не подавать ничего машине на блюдечке. Наш робот, прежде чем приступить к сборке, должен еще найти материалы для изготовления деталей. Для этого ему придется облазить весь мир в поисках сырья, добыть и запасти материалы. У него должны быть органы, с помощью которых он будет двигаться – какие‐нибудь гусеницы или ноги. Бывают ходячие роботы, которые умеют так или иначе передвигаться, можно сказать, целенаправленно. Робот на рис. 9.2 напоминает насекомое, только у него не шесть ног, а четыре. Он ловко ползает по стенкам – для этого ему даны присоски на ногах, как у мухи. Создатели этого робота обожают поддразнивать его – подставляют руку на пути его следования. Почувствовав под ногами неровности, робот, совсем как человек, пытается нашарить более надежную опору, и это выглядит довольно забавно. Еще раньше У. Грей Уолтер, работавший в Бристольском университете, построил свою знаменитую “черепаху” – Machina speculatrix, как он ее называл, – которая сама подключалась к сети для подзарядки. Когда ее аккумуляторы садились, “черепаха” проявляла все признаки волчьего голода и принималась активно искать розетку. Обнаружив источник тока, она подползала к нему задом, подключалась и не отсоединялась до тех пор, пока не “насытится”. Но это не базовые свойства. Мы говорим о роботе, способном перемещаться на собственных конечностях и неустанно искать что‐либо, руководствуясь собственными органами чувств и данными своего внутреннего компьютера.