
Полная версия:
Денис Пожидаев Нулевой наблюдатель
- + Увеличить шрифт
- - Уменьшить шрифт

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





