Добавить в цитаты Настройки чтения

Страница 12 из 16



Осталось обнаружить требуемый модуль и определить ссылки на него от других модулей. Поэтично выражаясь (а закат к этому располагал) это и были те самые нити, которые держали душу робота над этой грешной землёй. Схема в моей любимой программе-отладчике представляла собой набор белых квадратиков на синем фоне. Ссылки изображались тонкими белыми линиями, протянутыми от квадратика к квадратику. Выглядела схема обыденно. Быть может, робот и был психопатом, но отладчик изображал на экране нормальную жизнь нормальных программных объектов. Один вызывал другой, создавал третий, передавал переменные четвёртому, резервировал память для пятого и так далее. Как мирные овечки на зелёной лужайке. Робот вежливо говорил, Ричард ему спокойно отвечал.

На синем фоне рисовались белые линии.

Вдруг робот резко замолчал и посмотрел на нас.

Мы с Джорджио оторвали носы от монитора и посмотрели на него. Робот улыбнулся. Ричард переводил взгляд с робота на нас – всё более и более растерянно. Растерянность переползла, видимо, и на наши лица. Робот улыбнулся ещё чуточку хитрее и посмотрел на наш с Джорджио монитор.

Мы с Джорджио тоже перевели взгляды обратно на монитор, но теперь уже не прижимаясь носом к изображению, а оглядев всю схему целиком.

Белые линии на синем фоне образовывали надпись «FUCK YOU».

Робот сел на велосипед и укатил.

Джорджио сидел на асфальте, смотрел перед собой и теребил травинку. Риччи стоял с сосредоточенным и углублённым видом человека, который обнаружил у себя во рту новую пломбу.

– Но как? – сказал Джорджио. – Интеллект, который осознаёт, что он в дебаггере?

– Это всего лишь программа, – сказал я. – На этом строили защиту от взлома ещё во времена гибких дисков. Проверить как она выполняется – в дебаггере или нет – программа может запросто. Ещё проще вывести в этом случае грубое сообщение на экран. Правда, я ещё не видел, чтобы программа перед этим водила за нос трёх человек. Но…

Джорджио выматерился по-итальянски, как будто думал, что я его не пойму.

– Вас русских вообще что-нибудь удивляет?

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

Джорджио встал с дороги и приосанился.

– Мы делали очень сложный софт, сеньоре. Программа, имитирующая сумасшествие, это нечто сложное. Нам часто приходилось обходить типовые ограничения операционной системы, – начал было Джорджио, но опять был придавлен взглядом Риччи. У обычно сдержанных людей есть одно свойство: когда они по-настоящему в бешенстве, то страшно становится всем.

– Этому вашему Пиноккио осталось ехать всего несколько десятков миль. – сказал Риччи, продолжая буравить взглядом техника, – Мы надеемся, что у него закончится батарея. Он, правда, не дурак, может где-нибудь подзарядиться. У нас такой возможности нет. Пока оно отдыхает, мы будем искать способ выключить это, не прибегая к насилию.

– А если не найдём? – спросил Джорджио.

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

– Это незаконно! – возмутился Джорджио.

– Разрешите вам напомнить, создавать его тоже было незаконным, – заметил Риччи металлическим тоном.

– Мистер Джеймс шутит, – успокоил я Джорджио. – Это национальная черта англичан: шутить с серьёзным видом.

– Оу, правда ли это? – поднял брови Риччи.

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

– Всё, я забираю Джорджио, – сказал я, – он нужен мне для анализа данных.

– У нас есть что анализировать?

– Мы изучим то, что удалось выкачать из головы robotino во время отладки.

– Что ж. Желаю вам приятной… приятного…

– Погружения в неопрятно написанный код робота-психопата? Благодарю вас, сэр.

Ричард поправил очки и только потом ответил:



– Сарказм это юмор. Юмор это хорошо. Он нам всем ещё понадобится.

Ближе к середине ночи, однако, юмор у меня иссяк. От Джорджио не было толку. От монитора болели глаза. От постоянного бубнения какого-то итальянца, отиравшегося возле машины, болела голова.

Кто были все эти итальянцы, Ричард просил меня не уточнять. Я и не горел желанием. Психиатры помешаны на конфиденциальности. Психиатры, которые вдруг решились на полузаконные эксперименты, наверное, ещё меньше хотят лишних вопросов. Какую роль во всём этом играл робопсихолог Ричард, я тоже пока не спрашивал. Мне было достаточно, что его слушались все окружающие.

Кроме робота, конечно.

Я выпрыгнул с заднего сидения внедорожника, расправляя затёкшую спину.

– О-ох, – сказал я. – Как там эта поговорочка, Рич? Мария, Иосиф… и овечка?

– Прибережём богохульства на крайний случай, – строго сверкнул очками англичанин. – Лучше скажите мне, что у вас есть план.

– Да, но это будет несколько сложнее, чем я думал.

– Ого, я только что заработал пять евро. Мы с Антонио поспорили, что вы именно это скажете.

– Да?… растерялся я. – Откуда вы знали?

– Все программисты так говорят. Я же рассказывал вам: не бывает никаких робопсихологов. Бывают психологи, которые изучают программистов, которые делают этих роботов. Разберётесь в программистах – разберётесь в роботах.

Антонио – один из местных коллег Риччи – неприятно ухмыльнулся. Впрочем, в свете фар все выглядели не очень приятно и не очень дружелюбно. Мой ноутбук давал синеватый мертвенный цвет и очки Ричарда поблескивали чуть маниакально, а малознакомая физиономия Антонио была покрыта щетиной и недовольством.

– Итак, у вас есть план, – сказал Ричард.

– План по-прежнему в том, чтобы найти и отключить управляющий модуль. Тот, который подчинил себе психику робота. Это позволит остановить его, не повредив остальной психики. Проблема в том, что когда мы встречаем робота и начинаем с ним диалог, запускается некая подпрограмма… Ну вроде того, как мы моем руки, не уделяя внимания каждому движению пальцев.

– Очевидно, это подпрограмма сеанса тренировочной психотерапии. Он переходит в режим пациента.

– Так вот. Если бы могли поймать момент выхода из режима….

– Ха. Он должен выключаться и следовать на склад по команде «Сеанс закончен». К сожалению, у нашего Железного Дровосека своё оригинальное мнение по поводу того, закончен сеанс или нет.

Я сверился со схемой.

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

– Встал? – переспросил Антонио.

– Ну я его туда поставил, – буркнул Джорджио. – Неважно.

– Минуточку, сеньоры! Что именно делает блок психотерапии?

– Собственно он и отвечает за имитацию мышления пациента. У нашего робота он пропускает все команды через себя. Значит, когда мы даём ему команду «Сеанс закончен», она обрабатывается логикой сумасшедшего. Чтобы команды обрабатывались, как надо, мы придумаем, как передать управление от модуля психотерапии управляющему модулю.

– И действительно – как? – поинтересовался Риччи.

Все посмотрели на меня.

– Я вижу только один способ. Сам роботино код писать не может, он использует готовые библиотеки. Это значит, что запускает пациентские сценарии обычная машина состояний, так? Так. Значит, мы можем исчерпать её состояния. И тогда этот модуль передаст управление центральному. Так мы узнаем адрес центрального модуля в оперативной памяти и прихлопнем его.

Ричард и Антонио имели типичный вид гуманитария, который вежливо слушает технаря и изображает понимание. Технари, впрочем, хорошо различают характерный туман в глазах слушателя.

– Это значит, – пояснил я, – что если мы заставим робота выполнить до конца все его сценарии, то получим возможность его остановить. Сценариев много?