bannerbanner
Эргодический текст
Эргодический текст

Полная версия

Эргодический текст

Язык: Русский
Год издания: 2025
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
3 из 6

Марина не скучала по нему. Во всяком случае, убеждала себя, что не скучает. Скучать – значит признать, что её жизнь неполна. А её жизнь была полной: работа, студенты, статьи, гранты. Что ещё нужно?

Машина свернула на МКАД, и Марина очнулась от мыслей. За окном мелькали бетонные заборы, рекламные щиты, силуэты многоэтажек на горизонте. Москва – город, который она так и не научилась любить за все годы жизни здесь. Слишком большой, слишком шумный, слишком равнодушный.

– Мы приедем через двадцать минут, – сказал водитель. Это были первые слова, которые он произнёс за всю поездку.

– Спасибо, – машинально ответила Марина.

Она достала телефон, открыла браузер. Новости. Что там было такого, что она пропустила?

Заголовки обрушились на неё лавиной.

«СИГНАЛ ИЗ КОСМОСА: Учёные подтверждают внеземное происхождение»

«Тау Кита: Первый контакт или космическая угроза?»

«Что несёт послание из другого мира? Эксперты расходятся во мнениях»

«Программа в сигнале: Человечество получило инопланетный код»

Марина читала, листая страницу за страницей, и чувствовала, как что-то холодное сжимается в груди. Сигнал. Программа. Код из другого мира.

Теперь она понимала, зачем её вызвали.



Аэропорт Внуково, терминал для специальных рейсов. Марину провели через отдельный вход, минуя очереди на досмотр. Её документы проверили дважды – молчаливые люди в штатском, с тем особым взглядом, который бывает у сотрудников спецслужб. Чемодан просканировали, ноутбук изъяли «для проверки» – обещали вернуть по прибытии.

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

Никто не разговаривал. Марина села у окна, пристегнулась и закрыла глаза.

Программа, думала она. Инопланетная программа.

Её профессия – формальная верификация. Доказательство того, что программа делает именно то, что должна делать. Что в ней нет ошибок, багов, уязвимостей. Что каждая строка кода выполняет свою функцию правильно и предсказуемо.

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

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

Как верифицировать такое? Как вообще подступиться?

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



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

Про «программу» упоминалось вскользь, без деталей. Очевидно, эту информацию пока старались не распространять.

Самолёт сел на военном аэродроме где-то под Новосибирском. Марину и остальных пассажиров встретили люди в форме и посадили в микроавтобус с затемнёнными окнами. Ехали около часа – она пыталась определить направление по солнцу, но облачность была слишком плотной.

Наконец автобус остановился. Двери открылись, и Марина увидела… ничего особенного. Комплекс зданий за высоким забором с колючей проволокой. Типичный закрытый научный городок, каких в России было немало со времён холодной войны.

Табличка у ворот гласила: «Национальный центр квантовых вычислений. Новосибирск-7».

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

– Два часа? – переспросила молодая женщина с планшетом. – Нельзя ли сразу?

– Через два часа, – повторил Зимин с улыбкой, которая ничего не значила. – Вам нужно отдохнуть после перелёта.

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

Она села на кровать и посмотрела на часы. Два часа. Достаточно, чтобы принять душ и привести мысли в порядок.

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

И они хотят, чтобы она её разгадала.



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

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

Марина нашла свободное место в третьем ряду, села. Рядом оказался тот пожилой мужчина с портфелем, который летел с ней в самолёте.

– Северцева? – спросил он, взглянув на бейдж, который ей выдали при регистрации. – Марина Северцева из Сколтеха?

– Да.

– Читал вашу монографию. – Он протянул руку. – Вершинин. Сергей Аркадьевич. Философия сознания, МГУ.

Марина пожала руку, удивлённая.

– Философ? На брифинге о компьютерной программе?

Вершинин усмехнулся. Морщины на его лице сложились в добродушный узор.

– Это не просто программа, как я понимаю. Это нечто, что может изменить наше представление о разуме. А это уже моя территория.

Прежде чем Марина успела ответить, свет в зале потускнел, и на экране в передней части комнаты появилось изображение. Логотип проекта – стилизованная спираль галактики, пересечённая волнистой линией. Под ней надпись: «Проект "Контакт". Уровень секретности: Особой важности».

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

– Добрый день, – сказал человек. Голос был негромкий, но отчётливый. – Меня зовут Виктор Сергеевич Ларионов. Я координирую работу проекта «Контакт» от лица правительства Российской Федерации. Благодарю вас всех за то, что откликнулись на наш вызов.

«Откликнулись» – интересный выбор слова, подумала Марина. Как будто у них был выбор.

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

Он нажал кнопку, и на экране появилась спектрограмма – та самая оранжевая полоса на фоне космического шума, которую Марина видела в новостях.

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

Ларионов сделал паузу, обводя взглядом зал.

– Сигнал – не просто сообщение. Это программа. Исполняемый код, предназначенный для выполнения на вычислительном устройстве.

По залу прокатился шёпот. Марина заметила, что некоторые из присутствующих – видимо, те, кто уже был в курсе – не отреагировали.

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

На экране появилась новая диаграмма – сложная, запутанная, похожая на карту неизвестного города.

– Это визуализация структуры программы. Блоки – логические единицы. Линии – связи между ними. Как видите, структура нелинейная. Рекурсивная. Самоссылающаяся.

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

Это было красиво. Пугающе красиво.

– Наша первоочередная задача, – говорил Ларионов, – понять, что эта программа делает. Не запускать её – пока что. Но понять. Разобрать на составляющие. Определить её логику, её цель, её потенциальные эффекты.

Он снова обвёл взглядом зал.

– Для этого мы собрали вас. Лучшие специалисты в области криптографии, теории вычислений, формальной верификации, квантовой физики. Вы будете работать вместе, в режиме полной секретности. Всё, что вы узнаете здесь, не должно покинуть эти стены.

Пауза.

– Вопросы?

Поднялось несколько рук. Ларионов кивнул на человека в первом ряду.

– Какой объём данных? – спросил тот.

– По состоянию на сегодня – около ста двадцати терабайт. Сигнал продолжает поступать.

– И сколько из этого декодировано?

– Структурно – примерно пятнадцать процентов. Семантически – почти ничего.

Другой вопрос:

– Вы сказали, что программа использует неизвестные парадигмы. Можете уточнить?

Ларионов кивнул.

– Для этого я передаю слово доктору Линь, которая руководит группой первичного анализа.

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

– Спасибо, Виктор Сергеевич. – Она повернулась к залу. – Меня зовут Мэй Линь, Стэнфордский университет. Я занимаюсь теорией информации и криптоанализом. Последнюю неделю моя команда работала над декодированием структуры сигнала.

Она нажала кнопку, и диаграмма на экране сменилась другой – более детальной.

– Первое, что мы обнаружили: программа использует не классическую, а квантовую логику.

Марина выпрямилась в кресле. Вот оно.

– Поясню для тех, кто не специализируется в этой области, – продолжала Мэй Линь. – Классический компьютер оперирует битами – единицами информации, которые могут быть либо нулём, либо единицей. Квантовый компьютер использует кубиты, которые могут находиться в суперпозиции обоих состояний одновременно. Это позволяет выполнять определённые вычисления экспоненциально быстрее.

Она указала на диаграмму.

– Структура этой программы не имеет смысла с точки зрения классической логики. Операции, которые она предполагает, – суперпозиции состояний, квантовые вентили, измерения – всё это терминология квантовых вычислений. Программа предназначена для выполнения на квантовом компьютере.

– Но у нас есть квантовые компьютеры, – сказал кто-то из зала.

– Есть. И здесь, в Новосибирске-7, находится один из самых мощных. – Мэй Линь помолчала. – Но есть проблема. Программа требует архитектуры, которой у нас пока нет.

– Какой именно?

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

По залу снова пошёл шёпот.

– То есть мы не можем её запустить? – уточнил кто-то.

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

Марина подняла руку.

– Да? – Мэй Линь указала на неё.

– Северцева, Сколтех. Формальная верификация. – Марина встала. – Вы сказали, что программа самоссылающаяся. Можете описать характер этих ссылок? Это рекурсия, итерация, или что-то другое?

Мэй Линь посмотрела на неё с интересом.

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

Марина нахмурилась.

– Это невозможно. С точки зрения теории вычислимости, такая конструкция…

– Невозможна в классической парадигме, – согласилась Мэй Линь. – Но в квантовой – есть теоретические модели, которые допускают подобное. Замкнутые временеподобные кривые, квантовые вычисления с постселекцией… Это передний край исследований, и, честно говоря, мы сами не до конца понимаем, как это работает.

Ларионов, стоявший в стороне, прочистил горло.

– Именно поэтому вы здесь, – сказал он. – Чтобы понять.



После брифинга участников разделили на рабочие группы. Марину определили в группу «Альфа» – верификация и анализ структуры. Кроме неё, туда вошли Мэй Линь, профессор Накамура, два молодых программиста из «Яндекса» и пожилая женщина из Израиля, специалист по теории типов.

Им выделили отдельную лабораторию – просторную комнату с рядами мониторов, белой доской во всю стену и кофеваркой в углу, которая, судя по виду, работала без перерыва. Запах кофе висел в воздухе – густой, почти осязаемый.

– Итак, – сказала Мэй Линь, когда все расселись. – Начнём с начала. Что мы имеем?

Она вывела на главный экран ту же диаграмму, что показывала на брифинге.

– Это карта программы. Каждый узел – блок кода. Каждое ребро – зависимость. Всего – около двенадцати миллионов узлов.

– Двенадцать миллионов? – переспросил один из программистов. – И мы должны это верифицировать?

– Не вручную, разумеется. – Мэй Линь усмехнулась. – Нам нужно найти закономерности. Паттерны, которые повторяются. Модули, которые можно анализировать изолированно.

– Классический подход к реверс-инжинирингу, – заметила Марина.

– Именно. С одной поправкой: мы не знаем языка, на котором это написано, и не знаем архитектуры, для которой это предназначено.

Повисла тишина.

– Тогда с чего начать? – спросил Накамура. Его английский был безупречен, с лёгким акцентом.

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

Она взяла маркер и начала писать.

– Квантовый вентиль – это операция над кубитами. Есть стандартный набор: Адамар, CNOT, фазовые вращения. Если программа предназначена для квантового компьютера – она должна содержать аналоги этих операций.

– Мы пытались это сделать, – сказала Мэй Линь. – Проблема в том, что их «вентили» не соответствуют нашим.

– Не соответствуют – или мы не видим соответствия?

Мэй Линь задумалась.

– Справедливое замечание. Возможно, они используют другой базис.

– Любой полный набор квантовых вентилей эквивалентен любому другому, – сказал Накамура. – Это математический факт. Если их операции – это вентили, они должны быть выразимы через наши.

Марина кивнула.

– Тогда задача – найти преобразование. Отобразить их примитивы на наши.

Она чувствовала знакомый азарт – тот, который появлялся, когда сложная задача начинала поддаваться. Это было как распутывать головоломку: сначала хаос, потом – проблески структуры, потом – понимание.

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

Это было как пытаться читать текст на незнакомом языке, не зная ни алфавита, ни грамматики. Но кое-что всё же проступало.

– Смотрите, – сказала она около полуночи, когда остальные уже начали засыпать над своими терминалами. – Вот этот паттерн. Он повторяется… – она посчитала, – сорок семь раз в анализируемом фрагменте.

Мэй Линь подошла, всмотрелась в экран.

– Я вижу. Три узла, соединённых определённым образом. Что это может быть?

– Не знаю. Но регулярность – это уже что-то. – Марина откинулась на спинку кресла. – В любом языке программирования есть идиомы. Типичные конструкции, которые используются снова и снова. Если мы найдём их «идиомы» – мы начнём понимать их «грамматику».

– Разумно, – согласилась Мэй Линь. – Я отмечу этот паттерн для дальнейшего анализа.

Марина потёрла глаза. Усталость накатывала волнами – она не спала почти сутки.

– Нам всем нужен перерыв, – сказала Мэй Линь, заметив её состояние. – Утром продолжим.

– Ещё полчаса, – попросила Марина. – Я хочу проверить одну идею.

Мэй Линь пожала плечами.

– Как хотите. Только не сожгите себя в первый же день.

Она ушла, и Марина осталась одна в лаборатории. Только гудение серверов и мерцание мониторов.

Она смотрела на диаграмму – на эту невозможную, инопланетную структуру – и думала.

Что если это не просто программа? Что если это… что-то большее?

Код, который адаптируется к вычислителю. Структура, которая ссылается на саму себя через время. Паттерны, которые повторяются с математической точностью.

Это напоминало что-то. Что-то, что она читала давно, ещё в аспирантуре. Теория самовоспроизводящихся автоматов фон Неймана. Машины, которые могут копировать сами себя.

Но это было сложнее. Это была не просто самокопирующаяся программа. Это была программа, которая… что? Росла? Развивалась? Думала?

Марина тряхнула головой. Слишком много спекуляций. Нужны факты, данные, доказательства. Всё остальное – фантазии.

Она выключила монитор и пошла спать.



На следующее утро – или, скорее, ближе к полудню – Марина вернулась в лабораторию. Группа уже была в сборе: Мэй Линь что-то объясняла Накамуре, программисты из «Яндекса» спорили у доски, израильтянка Рут сосредоточенно печатала что-то на своём терминале.

– Доброе утро, – сказала Мэй Линь, заметив её. – Как спали?

– Плохо, – честно ответила Марина. – Снилась эта диаграмма.

Мэй Линь понимающе кивнула.

– У меня тоже. – Она подошла ближе. – Есть новости. Пока вы отдыхали, мы получили дополнительные данные из Чили. Ещё двадцать терабайт.

– И?

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

– Да.

– Мы проверили его на всём массиве данных. Он встречается везде. Буквально везде. – Мэй Линь помолчала. – И не только этот. Есть ещё около двадцати таких «идиом». Они составляют примерно восемьдесят процентов всей программы.

Марина почувствовала, как сердце забилось быстрее.

– Это как… алфавит?

– Или как набор инструкций. – Мэй Линь покачала головой. – Мы ещё не понимаем, что они означают. Но сам факт регулярности – это прорыв.

Накамура присоединился к разговору.

– Я провёл статистический анализ, – сказал он. – Частота появления этих паттернов – не случайна. Она следует определённому распределению. Что-то похожее на закон Ципфа для естественных языков.

– Закон Ципфа? – переспросила Марина.

– Эмпирическое наблюдение: в любом языке частота слова обратно пропорциональна его рангу. Самое частое слово встречается вдвое чаще второго по частоте, втрое чаще третьего, и так далее. – Накамура вывел на экран график. – Смотрите. Наши «идиомы» следуют почти точно этому закону.

Марина смотрела на график. Это было… неожиданно.

– Вы хотите сказать, что это похоже на естественный язык?

– Я хочу сказать, что это похоже на коммуникационную систему. Не случайный шум. Не простой машинный код. Что-то… между.

Повисла пауза.

– Или это может быть артефактом сжатия, – осторожно заметила Рут, не отрываясь от своего терминала. – Эффективные алгоритмы компрессии тоже производят распределение, похожее на Ципфа.

– Возможно, – согласился Накамура. – Но это всё равно говорит о том, что программа – не произвольная. Она оптимизирована. Структурирована.

– Разумеется, она структурирована, – сказала Марина. – Это программа. Вопрос – для чего она предназначена?

Этот вопрос висел в воздухе. Никто не знал ответа.



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

Понемногу картина прояснялась. Двадцать базовых паттернов – они стали называть их «примитивами» – действительно оказались чем-то вроде алфавита. Комбинируясь друг с другом, они образовывали более сложные конструкции, те – ещё более сложные, и так далее. Иерархия. Структура. Язык.

Марина работала над формализацией этого языка. Она строила модели, проверяла гипотезы, отбрасывала их и строила новые. Классический научный метод, помноженный на упрямство и кофеин.

На пятый день она нашла что-то важное.

– Смотрите, – сказала она, собрав группу у своего терминала. – Я анализировала взаимосвязи между примитивами. И обнаружила регулярность.

На экране появилась матрица – таблица, где строки и столбцы были помечены символами примитивов, а ячейки – числами.

– Это матрица «соседства», – объяснила Марина. – Число в ячейке показывает, как часто один примитив встречается рядом с другим. И вот что интересно: матрица почти симметрична.

– И что это значит? – спросил один из программистов.

– Это значит, что порядок примитивов не всегда важен. A рядом с B – почти то же самое, что B рядом с A. – Марина помолчала. – В классическом программировании такого не бывает. Порядок инструкций критичен. Но в квантовых вычислениях…

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

– Именно. – Марина указала на матрицу. – Это подтверждает: программа действительно квантовая. И не просто квантовая – она использует коммутативность как структурный принцип.

Накамура нахмурился.

– Но не все квантовые операции коммутируют. Вентиль Адамара не коммутирует с фазовым вращением, например.

– Верно. И смотрите – матрица не идеально симметрична. Есть пары примитивов, которые почти никогда не меняются местами. – Марина выделила несколько ячеек. – Это, вероятно, те операции, которые критичны к порядку. Измерения, например.

Рут подняла руку.

– У меня вопрос. Если мы правильно понимаем структуру – можем ли мы предсказать, что программа будет делать?

Повисла тишина.

– Это… сложнее, – медленно сказала Марина. – Мы понимаем синтаксис. Грамматику. Но семантика – значение – это другое.

– Поясните.

Марина задумалась, подбирая слова.

– Представьте, что вы нашли текст на незнакомом языке. Вы можете определить, какие символы – гласные, какие – согласные. Какие слова – существительные, какие – глаголы. Но понять, о чём текст – для этого нужно знать, что означают слова. А мы этого не знаем.

– То есть мы знаем, как программа устроена, но не знаем, что она делает?

– Примерно так.

Мэй Линь встала и подошла к доске.

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

– Это опасно, – сказала Рут.

– Всё, что мы делаем, опасно. – Мэй Линь пожала плечами. – Но без эксперимента мы будем топтаться на месте.

Марина молчала. Она думала о том фрагменте кода, который анализировала последние дни. Триста узлов. Тысячи связей. Элегантная, почти красивая структура.

Что-то в ней беспокоило Марину. Что-то, что она не могла сформулировать.

– Есть ещё один вариант, – сказала она наконец. – Формальная верификация.

– В смысле?

– Мы не можем запустить программу – у нас нет подходящего оборудования. Но мы можем доказать некоторые её свойства математически. Без запуска.

Мэй Линь посмотрела на неё с интересом.

– Какие свойства?

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

На страницу:
3 из 6