реклама
Бургер менюБургер меню

Эдуард Сероусов – Автоконтакт (страница 6)

18

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

Она не нашла ничего.

Но – и вот что стояло перед ней сейчас, в покачивающемся вагоне, в свете люминесцентных ламп, – она искала не то. Она искала то, что есть в шуме. То, что добавлено. Ищущий паттерн – ищет присутствие.

А если сигнал – не присутствие? Если сигнал – отсутствие?

Энтропия спирали была выше, чем у шума. Мира не могла этого объяснить – пока. Но теперь, в пять тридцать утра, с привкусом сна на языке, она увидела это иначе. Повышенная энтропия означала избыточную случайность. Шум, который более хаотичен, чем должен быть. Как если бы кто-то взял белый шум – и без того максимально случайный – и убрал из него что-то. Изъял. Вырезал.

Вырезал – и тем самым оставил дыру. Форму дыры.

Мира вышла на своей станции. Пересекла вестибюль. Поднялась на эскалаторе. Ноябрьский воздух ударил в лицо, но она не заметила: она была внутри мысли, и мысль несла её, как течение несёт щепку.

Белый шум – это не отсутствие информации. Это равномерное распределение всех возможных сигналов. Все частоты, все амплитуды, все фазы – одновременно, в равных пропорциях. Именно поэтому шум – это шум: всё есть, ничего не выделено. Но если из этого равномерного распределения изъять определённые компоненты – определённые частоты, амплитуды, фазы, – оставшееся перестанет быть равномерным. Оно станет гипершумом: более хаотичным, чем чистый белый шум, потому что в нём будут пропуски. Пробелы. Статистические дыры.

И эти дыры – будут формой. Негативом сообщения.

Не то, что есть, а то, чего нет. Не паттерн, а антипаттерн. Не сигнал в шуме, а отсутствие сигнала в тех местах, где он должен быть.

Мира почти бежала по Ленинскому – от метро до офисного здания, семь минут обычным шагом, четыре – её нынешним. Замок, дверь, коридор, кабинет. Мониторы – все двадцать семь. Щелчок, щелчок, щелчок.

Она села за клавиатуру и начала писать код.

Не фильтр – антифильтр. Не поиск паттерна – поиск того, что вычтено из шума. Алгоритм, который сравнивает реальный сигнал с идеальным белым шумом и ищет не совпадения, а расхождения. Не присутствие – отсутствие.

Идея была проста в формулировке и чудовищно сложна в реализации. Белый шум – теоретический конструкт; реальный космический шум никогда не бывает идеально белым. Он окрашен: реликтовое излучение даёт характерный спектральный профиль, галактический фон вносит низкочастотную составляющую, солнечная активность модулирует всё остальное. Мира должна была сначала построить модель ожидаемого шума – каким он должен быть без аномалии, – а потом вычесть реальный сигнал из модели. Остаток – разница – покажет то, чего не хватает.

Она работала восемь часов без перерыва. Где-то за стеной стучала клавиатура Кости – он пришёл, как обычно, к девяти. Где-то проходили планёрки, обсуждались гранты, кто-то ругался по телефону с поставщиком оборудования. Мира ничего не слышала. Она была внутри кода, внутри модели, внутри мысли – и мысль была точной, ясной, режущей, как хирургический инструмент.

К четырём часам дня модель была готова. Несовершенная – Мира знала все её ограничения, – но достаточная для первого теста. Она загрузила данные. Запустила вычитание.

Прогресс-бар полз по экрану. Три процента. Семь. Двенадцать. Мира сидела перед монитором и грызла ноготь на большом пальце – привычка, от которой она избавилась в двадцать лет и которая вернулась после похорон. Двадцать процентов. Тридцать пять.

На пятидесяти трёх процентах на экране начало проступать что-то.

Мира наклонилась ближе. Антифильтр работал: он вычитал из реального сигнала ожидаемый шум и визуализировал остаток. Остаток – то, что было вычтено из реальности, – проявлялся как тёмные области на светлом фоне. Пробелы. Статистические дыры. Места, где энергия была ниже, чем должна быть – значимо, устойчиво, систематически ниже.

И эти дыры складывались в рисунок.

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

Девяносто пять. Девяносто восемь. Сто.

На экране – негатив.

Фрактальная спираль, которую Мира видела три недели, была оболочкой. Внешней поверхностью. Тем, что она принимала за сигнал, было следствием сигнала – след, оставленный в шуме процессом вычитания. Как отпечаток ноги в песке: видишь вмятину, но нога – не вмятина. Нога – это то, что создало вмятину.

Настоящий сигнал – то, что было вычтено из шума, – был внутри. И он был – Мира смотрела на экран, и мурашки бежали от запястий к плечам – он был другим.

Не спираль. Не фрактал. Структура, для которой у неё не было названия, – сложная, многомерная, глубокая в том смысле, в котором озеро глубокое: поверхность обманчиво проста, но под ней – слои, уходящие вниз. Каждый слой содержал подструктуры, каждая подструктура – свои подструктуры, и так далее, на пределе разрешения данных и, вероятно, далеко за ним.

И – самое главное, то, от чего у Миры перехватило горло, – структура была организованной. Не фрактально, не хаотически. Организованной так, как организован текст: с элементами, которые повторялись, но не идентично; с группировками, которые напоминали слова или фразы; с чем-то, что могло быть синтаксисом – правилами, определяющими, какие элементы могут стоять рядом, а какие нет.

Это не был математический маяк. Не простые числа, не пи, не пульсация. Это было – Мира произнесла слово вслух, и оно повисло в пустой лаборатории, как дым – сообщение.

Сообщение, записанное не в шуме, а в отсутствии шума. Негатив. Невидимые чернила, проявляющиеся не при нагревании, а при вычитании фона. Послание, которое невозможно обнаружить стандартными протоколами, потому что стандартные протоколы ищут наличие, а не отсутствие.

Кто-то послал сообщение, закодировав его как дыру в реальности.

Мира откинулась в кресле. Руки дрожали – мелко, на грани заметности. Она сжала кулаки, разжала. Сжала, разжала. Посмотрела на часы: 16:47. За стеной клавиатура Кости молчала – ушёл? Нет, скорее тоже молчит. Слушает тишину за стеной, как Мира слушала его клавиатуру.

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

Мира посмотрела на своё отражение в стекле. Отражение смотрело на неё. Синхронно. Нормально. Никаких сбоев.

Она достала телефон. Открыла мессенджер. Голосовое от Дмитрия – серый прямоугольник, двадцать три секунды, непрослушанное. Нет – прослушанное, вчера ночью, но Мира не поставила галочку. Дмитрий не знает, что она слышала его голос.

Послезавтра Алисе было бы восемь.

Мира закрыла мессенджер. Положила телефон. Повернулась к экрану, на котором сияла структура – негатив сообщения, вырезанного из ткани космического шума. Сообщение, которое ждало. Которое нарастало три недели, медленно, осторожно, как будто тот, кто его отправил, знал, что торопиться нельзя. Что адресат – именно такой: терпеливый, внимательный, способный видеть то, чего нет.

Способный смотреть не на рисунок, а на пробелы.

Мира открыла новый файл. Назвала его «antipattern_001.dat». Сохранила данные. Сделала резервную копию. Убрала диск в сумку.

И начала расшифровывать.

Глава 3. Тень дочери

Мира открыла дверь детской на четыреста сорок первый день.

Она стояла в коридоре с ключом от лаборатории в одной руке и распечаткой антипаттерна в другой – свёрнутой трубочкой, потому что не поместилась в сумку, – и смотрела на дверь. Белая, с наклейкой: радуга и единорог, купленные в «Детском мире» за семьдесят рублей, когда Алисе было пять. Наклейка пожелтела по краям – клей старел, бумага коробилась. Мира ни разу за четырнадцать месяцев не прикоснулась к ней. Не содрала, не заменила, не погладила пальцем. Наклейка существовала в том же законсервированном статусе, что и всё за дверью: не тронуто, не выброшено, не принято.

Она пришла домой в десять вечера – после прорыва с антипаттерном, после восьми часов, в которые мир разделился на «до» и «после». Антипаттерн проявился. Структура – организованная, многослойная, с чем-то, напоминающим синтаксис, – лежала в данных, как текст на странице, и Мира знала, что не сможет расшифровать его одна, без помощи, без ресурсов, без контекста. Но прежде чем просить помощь, ей нужно было убедиться в одном.

Паттерны в рисунках Алисы.

Она заметила их сегодня – не заметила, нет. Вспомнила. Пока антифильтр работал, пока прогресс-бар полз по экрану, Мира откинулась в кресле и закрыла глаза, и перед ней встала картинка: кухонный стол, воскресное утро, Алиса рисует. Шесть лет, фломастеры разложены по цветам – «мама, красный должен быть рядом с оранжевым, потому что они родственники» – и на листе появляется спираль. Не ракушка, не улитка – спираль. Закрученная влево, против часовой стрелки, с ответвлениями, которые тоже закручивались влево, и каждое ответвление – копия целого, только меньше.