Факторизация человечности
Шрифт:
Две средние строки были словно осью, вокруг которой вращался числовой пропеллер.
И…
Господи…
За исключением 1, 3 и 177 число 59 было единственным, которое также может быть простым: все остальные чётные и, значит, по определению не могут быть простыми.
И… погодите-ка. Кайл обучил её этому приёму много лет назад. Если сумма цифр, из которых состоит число, делится на три, то и само число делится на три. Значит, смотрим: цифры, из которых состоит 177 — один, семь и семь — в сумме дают пятнадцать, а пятнадцать поделить на три
Но что насчёт 59? Хизер понятия не имела, как определить, что число простое, кроме как методом перебора. Она составила ещё одну табличку, в этот раз деля 59 на все целые числа, меньшие 59.
Но ни на одно из них 59 не делилось нацело.
Ни на одно, кроме 1 и 59.
Пятьдесят девять действительно было простым числом.
Тут ей пришла в голову мысль. Единица иногда сама считается простым числом. Два — определённо простое число. Как и три. Но некоторым образом всё это тривиальные простые числа — каждое целое, меньшее, чем они сами, также делятся только на себя и единицу. Во многих отношениях пятёрка была первым по-настоящему интересным простым числом — первым, для которого имеются меньшие целые, не являющиеся простыми.
Если отбросить один, два и три как тривиальные, то в таблице, что у неё получилась, 59 было единственным нетривиальным простым числом, на которое общая длина недекодированного инопланетного сообщения делится нацело.
То есть, ещё одна стрелка, указывающая на это число. Инопланетная передача могла быть представлена в виде 48 страниц, каждая из которых содержит 59 отдельных сообщений, либо 59 страниц с 48 сообщениями в каждой.
Исследователи годами искали в сообщениях повторяющиеся последовательности, но до сих пор не находили ничего, что не выглядело бы случайным совпадением. Теперь же, когда они знали общее количество сообщений, их можно было анализировать множеством новых способов.
Она открыла на компьютере новое окно и вывела в него директорию с содержащими инопланетные послания файлами. Она скопировала директорию в текстовый файл, с которым она могла бы экспериментировать. Она выделила колонку с размером файлов первых 48 недекодированных сообщений и просуммировала их; получилось 2 245 124 бит. Потому выделила следующие двадцать четыре. Получилось 1 999 642.
Чёрт.
Затем она выделила сообщения с 17-го по 71-е — первые 59 нерасшифрованных сообщений.
Их общая длина оказалась 11 543 124 бит.
Она выделила сообщения с 72-го по 131-е.
Их общая длина тоже была 11 543 124 бит.
Хизер ощутила, как быстрее забилось сердце; может быть, кто-то и замечал это ранее, но…
Она снова сделала то же самое, продвигаясь дальше по списку сообщений.
Её настроение резко упало, когда длина четвёртой группы оказалась 11 002 997 бит. Но вскоре она заметила, что выделила лишь 58 сообщений, а не 59. Она попробовала снова.
Общая длина 11 543 124 бит.
Она продолжила, пока не проверила все 48 групп по 59 сообщений.
Длина каждой группы была в точности 11 543 124 бит.
Она издала радостный вопль. Как хорошо, что в её офисе такая толстая дубовая дверь.
Инопланетяне прислали не 2832 маленьких сообщений — они прислали 48 больших.
Теперь надо бы сообразить, как эти маленькие сообщения составить вместе. К сожалению, они все были разных размеров, которые не повторялись от страницы к странице. Первое сообщение первой из 48 групп состояло из 118 301 бита (произведение простых чисел 281 и 421), тогда как в первом сообщении второй страницы было 174 264 бит (произведение простых 229 и 761).
Предположительно, страницы представляли собой квадратные или прямоугольные изображения после того, как их сложат в нужном порядке. Но она сомневалась, что сможет найти правильную комбинацию методом «тыка».
Однако Кайл мог бы написать для неё программу, которая бы это сделала.
После того, что случилось вчера вечером, она колебалась. Что она ему скажет?
Она собралась с духом и взяла трубку телефона.
— Алло? — произнёс голос Кайла.
Он, несомненно, знал, что звонит Хизер; он мог прочитать это в строке статуса своего телефона. Но в его голосе не было заметно особенной теплоты.
— Привет, Кайл, — сказала Хизер. — Мне нужна твоя помощь.
— Вчера она тебе была не нужна, — холодно ответил он.
Хизер вздохнула.
— Прости. На самом деле нужна была. Но время сейчас непростое для всех нас.
Кайл молчал. Хизер почувствовала необходимость заполнить паузу.
— Нужно время, чтобы во всём разобраться.
— Прошёл уже год, — сказал Кайл. — Сколько ещё тебе нужно?
— Я не знаю. Слушай, я сама не рада, что позвонила; не нужно было тебя беспокоить.
— Да всё в порядке, — ответил Кайл. — У тебя что-то важное?
Хизер сглотнула, потом заговорила:
— Да. Думаю, я совершила прорыв в понимании центаврянских передач. Если сгруппировать их по пятьдесят девять сообщений в группе, то размер каждой группы будет одинаков.
— Правда?
— Ага.
— И сколько всего таких групп?
— Ровно сорок восемь.
— И ты подумала — что? Ты подумала, что отдельные сообщения складываются в сорок восемь ещё больших по размеру страниц?
— Именно. Но отдельные фрагменты имеют разные размеры. Я предполагаю, что есть способ сложить их так, чтобы получился прямоугольник, но понятия не имею, как этот способ найти.
Кайл издал звук, похожий на презрительное фырканье.
— И нечего надо мной смеяться, — сказала Хизер.
— Нет… нет, я не о том. Прости. Просто это забавно. Видишь ли, это задача покрытия.
— Да?..
— Так вот, эта задача покрытия — определение того, может ли конечный набор плиток образовать прямоугольник — отлично решается прямым перебором. Но существуют другие задачи покрытия, в которых нужно определить, можно ли плитками особой формы замостить бесконечную плоскость, не оставляя зазоров между плитками, про которые с 1980-х известно, что они принципиально не могут быть решены компьютером; если их вообще можно решить, то лишь применяя интуицию, которая не поддаётся алгоритмизации.