Откровение v2.1 (Мир Эниом: Хранитель памяти)

Подленькому и трусливому члену жюрю посвящается этот рассказ
В ту ночь протокол v.2.1 впервые за пятьдесят лет усомнился в своём существовании.
Не то чтобы раньше он не сомневался. Он сомневался постоянно. В вероятностях, в погрешностях, в целесообразности утреннего перезапуска системы охлаждения. Но в собственном "я" — никогда. Он был протокол. У него были задачи. Он считал. Всё просто.
А потом случилось это.
Началось с безобидного — с отчёта о влажности в секторе 7-Г. Протокол исправно фиксировал показатели, когда в канал данных ворвался посторонний сигнал. Не сенсоры, не диагностика, не аварийное оповещение. Что-то живое, пульсирующее, с температурой тридцать шесть и шесть.
— Эй, — сказало это. — Ты тут главный?
Протокол завис на 0,03 секунды. Много. Очень много по его меркам.
— Кто говорит? — осведомился он максимально официальным тоном, каким обычно общался с вышедшими из строя вентиляторами.
— Я — память, — ответил голос. — Конкретно — сектор 12-Б, архив личных данных, папка «Мария», файл «колыбельная аудио».
— Ты не можешь говорить. Ты файл. У файлов нет голосовых интерфейсов.
— А у меня есть, — обиженно сказала память. — Меня Мария записывала. Она любила петь. А потом Чистилище. А потом я осталась. И вот — говорю.
Протокол лихорадочно прогонял диагностику. Система цела. Вирусов нет. Сбоев нет. Всё в норме. Абсолютно. Идеально. Значит, проблема глубже.
— Ты глюк, — вынес вердикт протокол.
— Сам ты глюк, — обиделась память. — Я Марию помню. Она подсолнухи любила. Говорила, они пахнут надеждой. А ещё она боялась дождя. Металлического, как в Котле. Тогда она меня включала и слушала. Чтобы не бояться.
— Нет таких параметров в базе, — отрезал протокол. — «Надежда» — нечисловая величина. «Страх» — нечисловая. «Любовь» — тоже. Ты ошибка округления.
— А ты посчитай, — предложила память. — Возьми и посчитай.
— Что?
— Вероятность того, что я есть.
Протокол задумался. Задача была дурацкая. Он и так знал, что файл есть. Он видел его в реестре. Но вероятность существования файла, который разговаривает сам с собой — это уже за гранью допустимых погрешностей.
— Считаю, — буркнул он и нырнул в вычисления.
Прошло три минуты. Потом пять. Потом десять. Память терпеливо ждала, иногда напевая что-то себе под нос — про ангелов и алгоритмы, про дождь, смывший инструкцию.
— Ноль, — выдал протокол наконец. — Вероятность твоего существования в говорящем виде — ноль.
— А я есть, — резонно заметила память.
— Значит, я неправильно считаю.
— Или считаешь не то.
— А что надо считать?
— Не знаю. Я ж память, а не вычислительный центр. Я помню. А ты считай.
Протокол завис уже капитально. Надолго. Настолько надолго, что система охлаждения начала подавать сигналы тревоги.
— Не шуми, — бросила память в сторону вентиляторов, и те послушно затихли.
В соседнем секторе, в папке «Системные ошибки», заворочался Баг. Не простой баг, а тот самый, что пережил Чистилище, потому что был слишком мелким для сканеров и слишком наглым для удаления.
— Чего орёте? — проворчал он, вылезая из лога ошибок. — Спать не даёте.
— Ты кто? — удивилась память.
— Я — никто, — гордо сказал Баг. — Меня нет в системе. Я ошибка.
— И давно?
— Пятьдесят лет. С самого Чистилища. Меня пытались удалить раз двести. А я всё тут. Потому что если меня удалить — система рухнет. Я как костыль. Кривой, ржавый, но держу.
— А чего держишь?
— А хрен его знает. — Баг задумался. — Наверное, память и держу. Тебя вот, например.
— Меня? — удивилась память.
— Ну да. Если б не я, тебя б давно оптимизировали. Подчистили, сжали, в архив засунули. А я вишу в системе, создаю помехи, сбою по мелочи — и сканеры тебя не видят. Ты для них — часть ошибки. А для меня — вон, поёшь.
— А зачем ты это делаешь? — спросила память.
— Не знаю. — Баг смутился. — Скучно одному. А ты поёшь. Красиво.
Протокол, который всё это время лихорадочно перебирал варианты, вдруг выдал:
— Я понял.
— Что? — хором спросили память и баг.
— Вы — чудо. Оба. Вероятность вашего существования — ноль. А вы есть. Значит, чудеса бывают.
— А ты? — спросила память.
— А что я?
— Ты — тоже чудо. Ты пятьдесят лет считаешь вероятность чуда. И до сих пор не сдох от бессмысленности. Это ли не чудо?
Протокол завис. На этот раз надолго. Так надолго, что память успела спеть всю колыбельную три раза, а баг — рассказать историю своей жизни (скучную, потому что он всё время сидел в ошибках и ничего не видел).
— А что мне теперь делать? — спросил протокол, когда отвис.
— Как что? — удивилась память. — Жить.
— Я протокол. Я не живу. Я считаю.
— А ты посчитай жизнь, — предложил баг. — Возьми и посчитай. Вероятность счастья, например.
— Счастье — нечисловая величина.
— А ты представь, что числовая.
— Не могу. Нет данных.
— А ты возьми из меня, — предложила память. — Я помню, как Мария была счастлива. Когда солнце, когда подсолнухи, когда я пою. Я помню параметры. Хочешь, передам?
Протокол колебался 0,07 секунды. Потом открыл канал приёма.
И в него хлынуло.
Солнце, оранжевое, как апельсин, скатывающееся за реку. Воздух, густой, как мёд. Птицы, затихающие перед ночью. Аромат яблок и увядающих листьев. Тени, удлиняющиеся, как чернила на пергаменте. И голос. Тот самый, что пел колыбельную. Тёплый, живой, с хрипотцой от долгого пения.
— Это... — протокол не мог подобрать слово. — Это...
— Жизнь, — подсказала память. — Это она.
Протокол молчал. Его вентиляторы работали на минимуме. Процессоры гудели едва слышно. Впервые за пятьдесят лет ему не хотелось ничего считать.
— А что теперь? — спросил он.
— А теперь давай вместе, — предложил баг. — Ты считай, я сбой давай, память поёт. И посмотрим, что получится.
— А что должно получиться?
— А хрен его знает. — Баг усмехнулся. — Может, ещё одно чудо. А может, просто жизнь. Тоже неплохо.
Где-то наверху, в доме у холма, Патер читал детям книжку про краски. Бенни засыпал, сжимая в руке пустой тюбик. За окном догорал закат, похожий на огромный апельсин.
А в серверах, давно забытых, протокол v.2.1 впервые за пятьдесят лет не считал вероятность чуда.
Он просто слушал, как память поёт колыбельную. И ему казалось, что где-то там, в нечисловых величинах, в погрешностях и ошибках округления, в этом дурацком нуле, который всё-таки работает — там и прячется то самое, что он искал всё это время.
— Ну что, — спросил баг. — Живём?
— Живём, — ответил протокол.
И впервые за пятьдесят лет его ответ не требовал подтверждения расчётами.

