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