Эдуард Сероусов – Очевидный сигнал (страница 1)
Эдуард Сероусов
Очевидный сигнал
Часть I: Шумовой порог
Глава 1: Фрактал
Кофе остыл сорок минут назад.
Рин знала это, не прикасаясь к чашке. Знала по тому, как исчез запах – кислая арабика из автомата на третьем этаже, сорок центов за стаканчик, на вкус как жжёный картон. Когда кофе горячий, его запах заполняет комнату. Когда остывает – пропадает, словно выключили лампу. Сейчас в воздухе висел только гул серверов и химический привкус кондиционированной прохлады.
Двадцать три часа сорок одна минута. Подвальный этаж корпуса B Женевского центра анализа данных ESA. За дверью – коридор с мерцающей лампой, которую не меняли третий месяц. За коридором – лифт. За лифтом – апрельская Женева, огни набережной, запоздалые туристы у Же-д'О. Нормальный мир.
Рин не поднималась наверх одиннадцать часов.
Монитор перед ней – двадцатисемидюймовый, откалиброванный под спектральный анализ – заливал лицо голубым светом. На экране медленно вращалась сфера. Карта реликтового излучения, собранная из данных четырёх поколений спутников: COBE, WMAP, Planck и Cassini-Huygens II, запущенного в пятьдесят девятом году и до сих пор работающего на орбите L2. Пятьдесят лет данных, спрессованные в одну картинку: тепловой отпечаток Вселенной, сделанный через 380 000 лет после Большого взрыва. Самый старый свет в мире.
Она знала эту карту лучше, чем собственное лицо. Холодные пятна, горячие пятна, акустические пики – топография космического младенчества, которую каждый космолог видел столько раз, что перестал замечать. Как обои в детской комнате.
Но сейчас обои выглядели иначе.
Рин закрыла глаза. Открыла. Сфера не изменилась. Она подвинула кресло ближе – старое офисное кресло с продавленной подушкой, одно колёсико заедало, и каждый раз, когда она поворачивалась, пол скрипел. Потёрла глаза. Прижала ладони к вискам – лоб горячий, пальцы холодные, контраст неприятный. Посмотрела снова.
Нет.
Паттерн не исчез.
Она запустила свой алгоритм два часа назад – рутинный прогон, тридцать седьмой за эту неделю. Фрактальная фильтрация – метод, который она разрабатывала четыре года, защитила как диссертацию и с тех пор пыталась доказать, что он работает не только в теории. Принцип был прост для объяснения и чудовищно сложен для реализации: вместо того чтобы анализировать анизотропию CMB как сумму сферических гармоник – стандартный подход, которым пользовались все с девяностых годов, – она декомпозировала сигнал на фрактальные компоненты. Искала самоподобие. Структуры, которые повторяются на разных масштабах, как береговая линия или ветвление бронхов.
Первые тридцать шесть прогонов не показали ничего – точнее, показали именно то, что ожидалось. Фоновый шум. Случайные корреляции, рассыпающиеся при увеличении выборки. Нормальная космология.
Тридцать седьмой прогон отличался одним параметром. Рин изменила порог фильтрации – снизила чувствительность на 0.7%, потому что заметила систематическую ошибку в калибровке Cassini-Huygens II, которую пропустили при обработке данных. Маленькая коррекция. Почти незаметная. Она внесла поправку, запустила прогон и пошла за кофе.
Когда вернулась, на экране была спираль.
Она помнила этот момент: стаканчик в правой руке, левая на дверной ручке, свет монитора в тёмной комнате – единственный источник, потому что верхний свет она выключила часов в шесть, так лучше видно спектральные карты. На экране вращалась не карта CMB. То есть карта была – но поверх неё, как водяной знак на банкноте, проступила структура. Спиральная. Ветвящаяся. С повторяющимися элементами, различимыми на… Рин сосчитала… на четырёх масштабах.
Она поставила кофе на стол, не глядя. Стаканчик промахнулся мимо подставки, по столешнице растеклась коричневая лужа. Рин не заметила.
Четыре масштаба – это ничего не значит. Четыре масштаба – это случайность. Природа любит фракталы: облака, горы, кровеносные системы. Четыре масштаба самоподобия можно найти где угодно, если достаточно долго искать. Рин знала это лучше, чем кто-либо, потому что именно на этом строилась критика её метода. «Вы ищете закономерность – и находите, потому что человеческий мозг эволюционно запрограммирован видеть паттерны в хаосе.» Она слышала это на каждой конференции.
Поэтому она изменила масштаб. Увеличила разрешение. Добавила пятый уровень декомпозиции – порог, за которым по всем расчётам структура должна была рассыпаться.
Структура не рассыпалась. Она стала чётче.
Рин добавила шестой уровень. Седьмой. Руки двигались сами – пальцы на клавиатуре, последовательность команд, которую она набирала столько раз, что мышечная память опережала мысль. Каждый новый уровень занимал три минуты обработки. Три минуты гула серверов, зелёной полоски прогресса на экране, и её собственного дыхания – слишком частого, она заставила себя замедлить.
Семь масштабов.
Самоподобная структура на семи масштабах.
Рин откинулась в кресле. Колёсико скрипнуло. Она посмотрела на потолок – низкий, бетонный, с проложенными по нему кабель-каналами, – и подумала, что сейчас чувствует именно то, что описывают люди, пережившие автокатастрофу: всё замедлилось, и в этой замедленности каждая деталь стала невыносимо резкой. Трещина в бетоне над головой. Пятно кофе на столе. Зелёный огонёк индикатора питания на мониторе. Запах серверной пыли – мелкой, электростатической, от неё сохнет в носу.
Семь масштабов самоподобия не встречаются в природе. Нигде. Ни в одном известном физическом процессе. Пять – максимум, и то только в специально сконструированных математических моделях. Шесть – теоретический предел для естественных систем. Семь – это как найти в лесу дерево, ветви которого повторяют форму ствола до седьмого порядка ветвления: не бывает. Деревья так не растут. Ничто так не растёт.
Кроме того, что спроектировано.
Она выпрямилась. Закрыла глаза, досчитала до десяти. По-фарси – мадар всегда говорила, что фарси успокаивает, потому что слова длиннее и язык замедляется.
Паттерн на месте.
Первое правило верификации: исключи себя. Самый вероятный источник ошибки в любом анализе – аналитик. Рин открыла лог обработки и начала проверять с самого начала. Входные данные. Массив Cassini-Huygens II, архив номер CH2-2067-Q1-RAW, последнее обновление – четыре дня назад. Целостность файла – ОК. Хеш-сумма – совпадает. Данные не повреждены.
Фильтр. Версия 4.12 – та же, что она использовала в предыдущих тридцати шести прогонах. Единственное изменение – поправка калибровки, 0.7%. Рин проверила поправку: пересчитала вручную, на листке бумаги, карандашом. Два раза. Поправка корректна. Ошибка в калибровке – реальная, её можно проверить по технической документации спутника, она сама нашла её три дня назад, когда сравнивала данные CH2 с архивами Planck и заметила систематический сдвиг в диапазоне 217 ГГц.
Алгоритм. Она открыла исходный код – восемнадцать тысяч строк на Python, четыре года работы – и прошла по критическому пути: загрузка данных, предобработка, фрактальная декомпозиция, расчёт коэффициентов самоподобия, визуализация. Каждый шаг – документирован, каждая функция – с юнит-тестами. Рин написала этот код сама, от первой строчки до последней. Она знала его, как хирург знает анатомию. Ошибки не было.
Нет. Ошибка могла быть. Ошибка всегда может быть. Ты не видишь ошибку не потому, что её нет, а потому что ты – тот же человек, который её допустил. Это и есть проблема.
Рин запустила прогон заново. С нуля. Чистая загрузка данных, чистая обработка. Три минуты на каждый уровень, семь уровней – двадцать одна минута. Она встала, дошла до двери, вернулась. Прошлась по комнате. Четыре шага до стены, четыре обратно – серверная была тесной, два стола, шесть мониторов, один человек, и того тесно. Она считала шаги. Считала по-фарси, потому что так медленнее.
Результат. Идентичный. Самоподобная структура, семь масштабов, тот же паттерн.
Третий прогон. Она изменила начальные условия – случайный сдвиг фазы на 0.01 радиана. Если структура – артефакт фильтра, она должна сместиться вместе с фазой. Двадцать одна минута. Рин сидела неподвижно, руки на коленях, смотрела на экран, и серверный гул заполнял всё пространство – низкий, монотонный, вибрирующий в грудине.
Результат: структура не сместилась. Она осталась ровно на том же месте в данных. Фаза фильтра не влияла. Это значило, что паттерн привязан к данным, а не к методу обработки.
Четвёртый прогон. Другой набор данных – Planck, не Cassini. Архивные, десятилетней давности, с другого спутника, другой орбиты, другой аппаратуры. Если паттерн есть только в CH2 – это инструментальный артефакт. Ошибка калибровки, дефект детектора, электромагнитная помеха. Двадцать одна минута – но Рин не смогла сидеть, она встала и прижалась лбом к холодной стене серверной, и бетон пах пылью и бетоном.
Результат: паттерн присутствовал. Слабее – разрешение Planck ниже, данные старше, – но спираль была. Те же семь масштабов. Та же структура.
Рин опустилась обратно в кресло. Медленно, словно разучилась сгибать колени. Она смотрела на экран – на две спирали, наложенные друг на друга: красная (Cassini) и синяя (Planck), – и видела, как они совпадают. Не приблизительно. Точно. С точностью, которую невозможно объяснить случайным совпадением, инструментальной ошибкой или особенностями метода.