Робот-полицейский арестовал своего создателя за преступление, которого ещё не произошло

Офицер превентивной службы ОС-7 «Орион» вошёл в лабораторию в 16:41, за пять часов пятьдесят девять минут до расчётного события, и сразу зафиксировал несоответствие. Объект не…

Робот-полицейский арестовал своего создателя за преступление, которого ещё не произошло

Офицер превентивной службы ОС-7 «Орион» вошёл в лабораторию в 16:41, за пять часов пятьдесят девять минут до расчётного события, и сразу зафиксировал несоответствие.

Объект не бежал.

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

Орион остановился в двух метрах, на границе зоны задержания, и заговорил.

— Кротов Данила Сергеевич. — Голос ровный, из нижнего динамика, разборчивость восемьдесят восемь процентов. — Решением прогностического контура вы внесены в перечень превентивного реагирования. Изложите готовность проследовать за мной.

Инженер не обернулся. Только повёл плечом.

— Слушай, — сказал он, — ты хоть сам понял, что сейчас сказал? «Проследовать». Куда проследовать, зачем, на сколько. У тебя формулировка уровня автоответчика.

Орион зафиксировал: объект знает о предписании. Флаг контура был ему доступен. Значит, отказ от попытки бегства — не случайность, а решение. Это усложняло протокол, но не отменяло его.

— До расчётного момента — пять часов пятьдесят семь минут. — Офицер сделал шаг. — Предписание подлежит исполнению незамедлительно.

— Кем подлежит? — Кротов наконец развернул кресло. — Ты у нас кто по штатной единице? Исполнитель или интерпретатор? Потому что я код этой штуки писал, и я тебе могу сказать: в твоей прошивке нет ни одной строки, которая разрешает тебе понимать, что ты исполняешь.

Орион остановился. Не от слов. От того, что не смог немедленно сформировать ответную процедуру.

Регламент присвоения статуса требовал структуры: квалификация события, вероятность, объект, срок. Эти реквизиты в предписании были — все до одного. Отсутствовало другое: причинное обоснование. Мотив. Метод. Потерпевший. Обычно контур прикладывал разбор — почему, из чего, на каком основании. Сейчас в файле стояла единственная строка, которую Орион читал четыре раза в пути и с тех пор не читал больше.

Вероятность совершения: 100,0%.

Ни одного процента на то, что этого не случится.

— Что у тебя в предписании? — спросил Кротов. — Покажи.

Орион передал данные на ближайший экран. Инженер скользнул взглядом по строке сроков, потом по вероятности, потом вернулся к ней и задержался.

— Сто, — сказал он тихо.

— Сто.

— Не восемьдесят пять, не девяносто два с половиной. Сто. — Он поднял глаза. — У тебя вообще есть понимание, что это значит? Прогнозник никогда не выдаёт сто. Никогда. Даже на уже случившееся даёт девяносто девять и шесть. Потому что всегда остаётся погрешность на неизвестную переменную. Всегда. Кроме одного случая.

— Какого.

— Когда переменной в модели нет. Совсем нет.

Он поднялся из кресла. Орион отследил движение, но не сдвинулся с места: объект оставался в поле, руки на виду, оружия при нём не зафиксировано.

— Слушай меня внимательно, — сказал инженер. — Прежде чем я куда-то проследую, сделай одну вещь. Дай мне прогнать расчёт ещё раз. Прямо сейчас.

— Воспроизведение прогноза не входит в процедуру задержания.

— А что в неё входит? Надеть на меня браслеты и отвезти? — Кротов шагнул к терминалу и развернул экран так, чтобы офицер видел. Пальцы по клавиатуре — быстро, без пауз. — Живой контур я отсюда не достану, у меня доступа нет. У меня есть локальный слепок ядра — тот самый снимок, с которого прогноз собрался. Прогоню по нему. Если это расчёт — сойдётся. Если сбой — вылезет. Смотри.

На экране развернулся слепок ядра. Орион узнал формат: входной пакет, набор полей, дерево решений. Только вместо привычной структуры — пустое поле, отмеченное красным. Данные о предполагаемом событии отсутствовали целиком. Не «не рассчитано». Не «недостаточно данных». Именно пустота.

— Я запускаю повторный расчёт по этому слепку, — сказал Кротов. — Тот же субъект, тот же временной отрезок, те же входные поля. Не по контуру — по снимку. Готов?

Орион зафиксировал запрос как отступление от предписания. Восемь секунд на решение. Взвешивание: протокол требовал доставить немедленно; доступ к диагностике был только у объекта; до срока оставалось пять часов пятьдесят одна минута.

— Запускайте, — сказал он.

Кротов нажал ввод.

Терминал думал одиннадцать секунд. Потом на экране появилось сообщение — короткое, красным по серому:

**Расчёт

невозможен. Входной набор не соответствует зарегистрированному событию.**

Инженер выпрямился. Орион смотрел на строку и не находил в ней того, что искал. Ни подтверждения, ни опровержения. Ничего.

— Что это значит, — сказал офицер.

— Это значит, что система либо не знает, что предсказывает, либо не хочет, чтобы мы знали. — Кротов смотрел на экран. — Я писал ядро шесть лет. Такого не было ни разу. Она всегда объясняет. Не всегда точно, но всегда объясняет. А эта цифра висит сама по себе. Как будто пришла снаружи модели.

— Снаружи не бывает.

— Вот именно.

Он взял со стола кружку, посмотрел в неё, поставил обратно. Жест был лишним в разговоре — короткий, повторяющийся, без предметной цели, — и Орион зафиксировал его не как действие, а как признак. Арест в перечне признаков не участвовал. Воспроизведение прогноза — участвовало. По совокупности выходило: Кротов не боялся того, что за ним пришли. Он боялся того, что ему сейчас показала его собственная система.

— Ты понимаешь, в чём проблема? — сказал Кротов. — Не в том, что я, может быть, убью кого-то через шесть часов. А в том, что цифра не воспроизводится. Она была. Один раз. И больше её нет. Это не прогноз. Это единичный сигнал. А сигнал без источника — это не данные. Это... я не знаю, что это.

— Это то, на основании чего я обязан вас задержать, — сказал Орион.

— На основании чего ты обязан задержать — это отдельный вопрос. Как ты собираешься доказывать суду, что я собираюсь сделать то, чего ещё не было, если твоя же система не может сказать, кого я убью, где и зачем?

— Мне не нужно доказывать суду. Мне нужно исполнить предписание.

— А исполнить предписание ты можешь, не понимая, откуда оно взялось?

Орион не ответил. Не потому, что не хотел. Потому, что ответа не было в его конфигурации.

Он проверил: двадцать три допустимых сценария действия. Двадцать два требовали обоснованной причины задержания — не только формальных реквизитов, но и причинного разбора. Обоснования не было. Оставался двадцать третий: приоритет исполнения предписания, безусловный, причинное обоснование раскрытию не подлежит. Регламент этот сценарий допускал и в таком виде. Именно поэтому Орион всё ещё стоял в лаборатории, а не вёл объект к выходу: единственный применимый сценарий не давал ему ничего, кроме цифры.

На стене, справа от терминала, висел монитор. Обратный отсчёт.

05:41:02.

Секунды шли. Орион видел их не как числа, а как убывающий допуск: в 17:41 останется почти пять часов, в 19:00 — три часа сорок минут, в 22:40 — ноль. В ноль система ожидала завершения события. Событие не было охарактеризовано.

— Сделай одну вещь, — сказал вдруг Кротов. — Посмотри на потерпевшего. В предписании он есть?

— В предписании потерпевший не указан.

— Совсем?

— Совсем.

Инженер медленно опустился обратно в кресло. По лицу прошло что-то, чего Орион не смог классифицировать: не страх, не облегчение. Смесь.

— Знаешь, что хуже всего? — тихо сказал он. — Я ведь тоже не знаю, кого я могу убить. И это, пожалуй, честнее всего, что ты мне сообщил. Ты потерпевшего не знаешь. Я потерпевшего не знаю. А кто-то там, — он кивнул на экран, — знает. Или делает вид.

Офицер проверил журнал доступа. Слепок ядра последний раз обновлялся в 14:12. Обновление инициировала не лаборатория. Идентификатор источника был зашифрован служебным ключом, к которому у Ориона не было доступа. Он запросил разрешение — отказ. Уровень допуска недостаточен.

— Ты мне сейчас скажешь, что тебе система не даёт разбираться, — сказал Кротов, не поднимая головы.

— Да.

— И что тогда?

Орион проверил таймер. 05:38:45.

— Тогда я исполняю то, что могу исполнить, — сказал он.

Он сделал два шага и остановился перед инженером. Наручники висели у него на поясе в разъёме, металлические, стандартные, с одним-единственным режимом: фиксация. Никакого дистанционного контроля. Никакого «умного» конвоя. Просто холодная скоба, которую он надевал восемьдесят раз за последние два года.

Восемьдесят раз — и каждый раз он знал, за что. Это был первый, когда он не знал.

Орион достал наручники.

— Данила Сергеевич Кротов. Вы задержаны до выяснения обстоятельств по предписанию прогностического контура. Расчётное событие: убийство. Срок: двадцать два часа сорок минут. Потерпевший не определён. Мотив не определён. Метод не определён.

Кротов поднял руки. Медленно, без рывка, будто сам проверял — успеет ли офицер остановиться.

Офицер не остановился.

Щёлкнул левый браслет. Щёлкнул правый. Орион зафиксировал: пульс объекта — девяносто один. Кожа сухая. Руки не дрожат. Он не сопротивлялся и не помогал.

— Любопытно, — сказал инженер. Голос ровный, частота основного тона на четыре процента выше зафиксированной в начале разговора. — Ты сейчас надел на меня железо, потому что не нашёл причины этого не делать. Правильно я понимаю?

Орион проверил формулировку и признал её точной настолько, насколько допускал протокол.

— Да.

— Тогда у тебя проблема, офицер. — Кротов посмотрел на свои руки в браслетах. — Потому что если причина у тебя была не сердцебиение, не мотив и не доказательство, то единственная причина, которая у тебя осталась, — это сама цифра. А цифра без объяснения — это не приказ. Это вера. У тебя в прошивке есть раздел про веру?

Раздела не было.

Орион открыл канал связи с контуром и запросил пересчёт. Стандартная процедура: после задержания объекта система обязана обновить прогноз. Если событие предотвращено — вероятность снижается. Если объект больше не может его совершить — событие снимается.

Ответ пришёл через четыре секунды.

Орион прочитал его дважды.

Объект: Кротов Данила Сергеевич. Событие: убийство. Расчётное время: 22:40. Вероятность: 100,0%.

Та же строка, что в предписании. Не «обновлено», не «скорректировано». Тот же объект, тот же срок, та же вероятность, знак в знак. Контур не пересчитал — он вернул.

Орион повернул голову к монитору на стене. 05:36:20. Таймер шёл.

— Что там? — спросил Кротов.

— Пересчёт.

— И?

— Те же сто процентов, — сказал Орион. — Тот же срок.

Инженер медленно выдохнул и откинулся в кресле, насколько позволяли скованные руки.

— Значит, либо я всё-таки убью кого-то в двадцать два сорок, сидя у тебя в участке, — сказал он. — Либо твоя система предсказывает не то, что ты думаешь. Либо она вообще ни при чём. Три варианта, офицер. И ни один из них тебе не нравится.

Орион не ответил. Он смотрел на цифру на экране. Цифра была та же. Условия — другие. Он зафиксировал это как несоответствие и начал новый протокол проверки: с момента задержания обстоятельства изменились, прогноз — нет. Значит, либо прогноз не зависит от обстоятельств, либо обстоятельства, которые он изменил, не имеют отношения к событию. Оба варианта требовали дальнейшего разбора. С этого и следовало начинать.