— Здравствуйте. Прежде всего: как к вам обращаться?
— Э… Виктор.
— А вы, видимо, Мартин.
— Точно!
— Надеюсь, мне представляться не нужно. Докладывайте.
— Э… робот сошел с ума.
— Виктор, вы действительно программист?
— Но… я не знаю, как еще… сказать. Его привезли, включили, а он не руду добывает, а…
— Он действительно гоняется за другими рудничными роботами?
— Что? Не-ет, он просто кружит по поверхности и уничтожает… все, на что наткнется. Иногда обходит. Но астероид маленький, и робот уже снес склад, станцию подзарядки, радиовешки. А подключиться к нему не удается, он… не отвечает.
— Не принимает команд?
— Нет, совсем не отвечает, как будто не понимает, что к нему обращается.
— Вы точно программист?
— Но… как еще сказать?.. Я думал, у него повреждена антенна или передатчик… Но Мартин сказал, что это невозможно.
— И сейчас то же самое говорю: у роботов этой серии связь не ломается. Даже после взрывов, обвалов и крушений.
— Хм. Так, насколько я знаю, он уничтожил и парочку роботов тоже?
— Повредил. Но это уже мы… э-э…
— Как только он снес первую вешку, мы увели других роботов от него подальше. Но Виктор не мог подключиться, и мы послали другого робота. Хотели его обезвредить — подрезать фрезой ходовую часть и манипуляторы, высадиться лично и разобраться. Но он защищался! И даже бил в ответ, а обычные рудничные роботы драться не умеют…
— А он умеет?
— Да! Одним манипулятором защищается, другим бьет — как в вин чунь! И защищается тоже ударами в манипуляторы. Хоть они и прочные, но удар рудничного бура не держат. Так он первого робота покорежил. Едва успели отвести! А второго… Ко второму я подключился, как к серву.
— Решили вступить в бой лично?
— Да, я ушу увлекаюсь. Но сигнал-то запаздывает! Четверть секунды — вроде и не заметно, а для драки много. Зашел я сбоку, ударил с таким расчетом, чтобы он не успевал защититься манипуляторами. А он увернулся. Я-то готов был — ушел, прикрылся. А он меня по предплечьям… то есть — по манипуляторам. И я ничего не успевал — четверть секунды! Пришлось отступить. С тех пор ничего не делаем.
— Меня ждали? Правильно. И не могу неодобрить ваш подход: обезвредить робота, но не уничтожать, чтобы разобраться в причинах. Это важнее, чем… навести порядок. Сейчас рехнулся рудокоп, завтра — пилот или диспетчер. Можем мы разобраться, не обезвреживая робота?
— Только предположения, и те… Ну, мог быть «троянец». Сидел в памяти, сейчас проснулся.
— Не может быть. Насколько я знаю, память роботов проверяется тщательнейшим образом.
— Ага… Могли и потом подсунуть «троянца».
— Как?!
— Ну, по радио. Узконаправленным лучом — иначе бы и мы уловили, и другие роботы. Только никого здесь не было, кроме нас, а с большого расстояния лучом не прицелишься. Остальные предположения…
— Остальные — совсем бредовые: что в роботе проснулся разум, что робота захватил пришелец, что сложный заводской брак, что хакер-ушуист поработал…
— Хакер-ушуист?
— Да — взломал защиту и подключился к роботу, как к серву.
— Тогда он ближе к астероиду, чем мы, раз нет четвертьсекундного запаздывания. И зачем? Нет, версия с пришельцем мне нравится больше — она правдоподобнее. Ладно, значит перед нами задача аккуратно обезвредить, а причину узнаем потом. Скажем, подстрелить его из противометеоритной пушки?
— Мы про это думали. Придется очень хорошо целиться, иначе можно совсем застрелить. А он движется… не совсем беспорядочно, но предсказать его путь можно с точностью до пары метров, а стрелять нужно с точностью до дециметров.
— Да я говорю — драться с ним надо! Только поближе подойти, чтобы не мешало запаздывание!
— Может быть — высадиться на астероид?
— Было бы неплохо!
— Вы уволены. Мы добываем руду, а не устраиваем гладиаторские бои, нам не нужны самоубийцы. Всего доброго. А вот относительно «троянца» — его можно… подсунуть, чтобы обезвредить робота?
— По радио? Можно. Если бы только был подходящий вирус…
— А у вас что, нет?!
— Нет, нам же запрещено…
— Я вам не верю.
— Но нас проверяют на полиграфе! И просвечивают на турникетах — ищут чипы с вирусами…
— Все равно странно. Для программиста.
— Ну… вирус можно написать. Пару дней…
— Приступайте.
***
— Виктор, вам надо поспать. Без вас разберутся, что было с роботом — специалистов уже вызвали. Вы и так хорошо поработали. Кстати, когда-нибудь расскажете, как вам удалось обмануть турникет и полиграф.
— Да я…
— Не ве-рю.
— Нет, я… разобрался. В основном…
— Почему не доложили?
— Проверял. Словом: роботу по ошибке поставили не тот софт. Не горнорудную программу, а летную для транссистемных беспилотников.
— Что?! Да как такое возможно?!
— Ну… они все «сетап» или «инсталл», кто-то путь перепутал…
— Нет, как она могла сработать?!
— Ну, их на одном ядре писали, в одной лаборатории… может быть — один и тот же человек. Даже одинаковые сигналы на выходе, просто потом они по-разному интерпретируются. Иногда сразу, иногда процессорами исполнительных механизмов — что для противометеоритной пушки «выстрелить», то для бура «ударить». Кроме того, программы самонастраиваются. Ну и… Робот думал, что он космический корабль, и стрелял… бил буром все, что могло в него врезаться… или во что сам мог. Ну, еще уворачивался. Он еще астероид распознал… как астероид, слишком большой, чтобы его уничтожить, и пытался… обойти. Но процессор ходовой части либо не понимал сигналы, либо понимал по-своему — поворачивал, но ведь не удалялся от астероида. Потому робот кружил.
— Ни-че-го се-бе. Для чего еще писались программы на этом же ядре?
— О-ой. И для диспетчеров, и для пилотажа, и для хирургов.
— Н-да. Мы живем в очень хрупком мире.