Книга: Золотой билет

Урбанский алгоритм

Урбанский алгоритм

В 2016 году чешский математик Милена Павел послала по электронной почте письмо. Во вложении было описание универсального эффективного алгоритма для решения NP-задач. После долгих и тщательных проверок научное сообщество пришло к единому мнению: алгоритм работает, и проблема равенства P и NP наконец решена. Свою работу Милена скромно назвала «Об открытой проблеме Стивена Кука», а вот New York Times выпустила статью с громким и предельно кратким заголовком: «P = NP».

В 2018 году Милена Павел была удостоена Филдсовской премии. Эту престижную математическую награду впервые вручили женщине. Годом позже Математический институт Клэя выписал на имя Милены чек в один миллион долларов. Григорий Перельман был первым, кто решил одну из задач тысячелетия; Милена стала второй и в отличие от Перельмана свой приз забрала. Часть денег (точные цифры не раскрываются) она пожертвовала на учреждение стипендий в своем родном университете в Праге.

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

Годом позже старшекурсники Университета Цинхуа в Пекине оптимизировали алгоритм Борова и запустили его на самом быстром компьютере в мире (который на тот момент находился в Китае). Меньше чем через неделю новый алгоритм разобрался со средней задачей о клике и решил несколько других типичных проблем из класса NP. Ряд промышленных гигантов, среди которых были Boeing и Daimler-Benz, заключили с университетом контракт на разработку решения особо хитрых оптимизационных задач. В результате новое воздушное судно «Боинг-797» получило крыло улучшенной конструкции, а вместе с ним и возможность летать из Лондона в Сидней без остановок.

Среди прочих над проектом работал аспирант Иллинойского университета в Урбане Стивен Франк, проходивший в то время в Пекине семестровую стажировку. Вернувшись в родную Урбану, Стивен пожаловался научному руководителю, что, несмотря на все их ухищрения, на решение одной-единственной и далеко не самой сложной NP-задачи все равно уходит как минимум несколько дней.

«Когда джинн обещает выполнить одно – и только одно – твое желание, что нужно попросить?» – спросил ученый.

«Не знаю», – растерялся Стивен.

«Другого джинна, который выполнит все твои желания!»

На Стивена снизошло озарение. Он, конечно, знал, что для задачи о клике существуют и более совершенные алгоритмы, однако своими силами найти их не мог; зато у него был знакомый джинн (программа из университета Цинхуа), способный относительно быстро перебрать экспоненциальное число потенциальных вариантов. Стивен написал программу, которая работала аналогично цинхуанской и искала наилучший алгоритм решения NP-задач. А затем получил разрешение на использование вычислительных ресурсов Национального суперкомпьютерного центра (NCSA) в Иллинойском университете. Прошло несколько недель, и усилия Стивена наконец увенчались успехом: найденный программой алгоритм был на пять процентов быстрее цинхуанского. Неплохой результат для научной статьи; однако ни о каком прорыве речи пока не шло.

«Давай еще раз – с новым алгоритмом», – подсказал научный руководитель.

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

«Продолжай», – лаконично отреагировал научный руководитель. Казалось, он совсем не удивлен.

«Пора уже мне это автоматизировать. Пусть он сам запускает новый поиск всякий раз, как найдет очередной алгоритм!» – проворчал Стивен.

«Слава тебе, Господи, дошло наконец!» – читалось во взгляде научного руководителя.

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

«Ты не боишься, что будет как со Скайнетом?» – поинтересовался коллега.

«С чем – с чем?»

«Ну, когда компьютер становится чересчур умным, он обретает сознание и захватывает мир, как Скайнет в „Терминаторе“».

«Ты серьезно? Это же просто программа! Не волнуйся, все будет хорошо!»

И вот Стивен снова запустил свой код на вычислительном гиганте NSCA. С каждым шагом алгоритмы становились все лучше и лучше. Наконец, процесс остановился; окончательный вариант программы состоял из 42 миллионов строк безличного машинного кода. Удивительно, но этот код решал NP-задачи очень быстро и при этом не пытался обрести сознание и захватить наш мир. Университетский пресс-релиз на все лады расхваливал новый «урбанский алгоритм»; название прижилось, и других вариантов уже никто не предлагал.

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

Многие фирмы желали выкупить права на урбанский алгоритм или хотя бы приобрести временную лицензию на его использование. Все они прочно увязли в юридическом болоте, поскольку владельцами алгоритма считали себя практически все кому не лень. Помимо Стивена Франка и его научного руководителя права на алгоритм заявили также центр NSCA и чешское правительство, спонсировавшее исследования Милены. Сознавая всю важность полученных Стивеном результатов, Всемирная торговая организация постановила, что урбанский алгоритм не является объектом авторского права и после выплаты некоторой компенсации его создателям должен сделаться всеобщим достоянием; размер компенсации установит специальная комиссия. Против высказались одни лишь китайцы, однако было ясно, что заблокировать решение ВТО они не смогут. Наконец, 23 октября 2019 года урбанский алгоритм стал общедоступным.

И тогда наш мир начал меняться…

Оглавление книги


Генерация: 0.117. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз