Равенство классов P и NP
Вопрос о равенстве классов сложности P и NP (в русскоязычных источниках также известный как проблема перебора[1][2]) — это одна из центральных открытых проблем теории алгоритмов уже более трёх десятилетий. Если на него будет дан утвердительный ответ, это будет означать, что теоретически возможно решать многие сложные задачи существенно быстрее, чем сейчас.
Отношения между классами P и NP рассматриваются в разделе теории алгоритмов, который называется теорией вычислительной сложности. Она изучает ресурсы, необходимые для решения некоторой задачи. Наиболее общие ресурсы — это время (сколько нужно сделать шагов) и память (сколько памяти потребуется для решения задачи).
Проблема равенства классов P и NP является одной из семи задач тысячелетия, за решение которой Математический институт Клэя назначил премию в миллион долларов США.
ФормулировкаПравить
Нестрого говоря, проблема равенства P = NP состоит в следующем: если положительный ответ на какой-то вопрос можно довольно быстро проверить (за полиномиальное время), то правда ли, что ответ на этот вопрос можно довольно быстро найти (также за полиномиальное время и используя полиномиальную память)? Другими словами, действительно ли решение задачи проверить не легче, чем его отыскать?[3]
Например, верно ли, что среди чисел {−2, −3, 15, 14, 7, −10, …} есть такие, что их сумма равна 0 (задача о суммах подмножеств)? Ответ — да, потому что −2 −3 + 15 −10 = 0 легко проверяется несколькими сложениями (информация, необходимая для проверки положительного ответа, называется сертификатом). Следует ли отсюда, что так же легко подобрать эти числа? Проверить сертификат так же легко, как найти его? Кажется, что подобрать числа сложнее, но это не доказано.
Из определения классов P и NP сразу вытекает следствие: . Однако до сих пор ничего не известно о строгости этого включения, то есть, существует ли задача, лежащая в NP, но не лежащая в P. Если такой задачи не существует, то все задачи, принадлежащие классу NP, можно будет решать за полиномиальное время, что сулит огромную выгоду в скорости вычислений. Сейчас самые сложные задачи из класса NP (так называемые NP-полные задачи) можно решить за экспоненциальное время, что считается неприемлемым с практической точки зрения.
ИсторияПравить
Вероятно, впервые вопрос о вычислительной сложности был задан Куртом Гёделем в 1956 году в письме к Джону фон Нейману, где он спрашивал, может ли некая задача (которая, как сейчас известно, NP-полная) быть решена за квадратичное или линейное время. В то же время Гёдель предположил, что если решение существует, то это позволит решать с помощью компьютеров многие математические проблемы[4].
Впервые вопрос о равенстве классов был поставлен Стивеном Куком в 1971 году[5] и, независимо, Леонидом Левиным в 1973 году[6].
На начало 2000-х гг. большинство математиков считают, что эти классы не равны. Согласно опросу, проведённому в 2002 году среди 100 учёных,[7] 61 человек считает, что ответ — «не равны», 9 — «равны», 22 затруднились ответить и 8 считают, что гипотеза не выводима из текущей системы аксиом и, таким образом, не может быть доказана или опровергнута.
Как и другие известные нерешённые математические проблемы, попытки решения этой задачи привлекают значительные усилия; регулярно публикуются (не в научной литературе) ошибочные доказательства равенства или неравенства классов P и NP, обычно непрофессионалами[8].
Системы защиты, предполагающие неравенство классов P и NPПравить
Любая криптосистема с открытым ключом базируется на предположении существования односторонних функций и/или крайней длительности решения некоторой задачи (например, для алгоритма RSA это разложение на множители очень больших чисел).
Для защиты компьютерных систем от злоупотребления услугами запрашивающей стороне предлагается решить задачу, на поиск решения которой тратится достаточно много времени, а результат легко и быстро проверяется обслуживающей стороной. Примером такой защиты от спама может служить система Hashcash[9], которая использует хеш частичной инверсии при отправке электронной почты.
В блокчейнах, основанных на технологии доказательства выполнения работы требуется, чтобы получаемая хеш-сумма была меньше целевого значения. Процесс поиска нужной хеш-суммы требует её многократного пересчёта с перебором произвольных значений дополнительного параметра (подробнее см. Майнинг). На поиск одной удовлетворительной хеш-суммы все компьютеры системы тратят значительное время (например, в «Биткойн» это в среднем 10 минут каждого из участников-майнеров). Для проверки корректности уже сформированного блока требуется лишь однократное вычисление хеша.
Похожие проблемыПравить
- Аналогичная проблема существует и в теории алгебраической сложности для классов VP и VNP[10]. На данный момент эта проблема не решена.
- В 2020 году было получено доказательство равенства классов RE (англ.) (рус. и MIP*[11][12].
- Проблема равенства классов R (англ.) (рус. и RE (англ.) (рус.. Классы не равны, проблема решена с доказательством существования нерешаемых проблем, например, проблемы разрешения и неразрешимости диофантовых уравнений в общем виде.
См. такжеПравить
ПримечанияПравить
- ↑ А. А. Разборов. P ?= NP или проблема перебора: взгляд из 90-х.
- ↑ А. Х. Шень. Проблема перебора // ПостНаука.
- ↑ Стюарт, 2015, с. 291.
- ↑ Hartmanis, Juris. Gödel, von Neumann, and the P = NP problem (англ.) // Bulletin of the European Association for Theoretical Computer Science. — Vol. 38. — P. 101—107.
- ↑ Stephen Cook. The Importance of the P versus NP Question Архивная копия от 9 июля 2011 на Wayback Machine.
- ↑ Л. А. Левин. Универсальные задачи перебора (рус.) // Проблемы передачи информации. — 1973. — Т. 9, № 3. — С. 115—116.
- ↑ William I. Gasarch. The P=?NP poll (англ.) // SIGACT News. — 2002. — Vol. 33, no. 2. — P. 34—47. — doi:10.1145/1052796.1052804.
- ↑ Lenta.ru — Мимо. Математики окончательно разуверились в решении задачи тысячелетия (неопр.). Дата обращения: 26 августа 2010. Архивировано 30 августа 2010 года.
- ↑ Hashcash — A Denial of Service Counter-Measure (2002)
- ↑ Разборов, 2016, с. 24.
- ↑ MIP* = RE: эпохальное доказательство из сферы компьютерной науки, которое вызвало эффект домино в физике и математике / Блог компании RUVDS.com / Хабр (неопр.). Дата обращения: 24 декабря 2020. Архивировано 12 мая 2021 года.
- ↑ Zhengfeng Ji; Anand Natarajan; Thomas Vidick; John Wright & Henry Yuen, MIP*=RE, arΧiv:2001.04383 [quant-ph].
ЛитератураПравить
- Иэн Стюарт. Величайшие математические задачи. — М.: Альпина нон-фикшн, 2015. — 460 с. — ISBN 978-5-91671-318-3.
- Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — 528 с. — ISBN 0-201-44124-1.
- Разборов А. А. Алгебраическая сложность. — М.: МЦНМО, 2016. — 32 с. — ISBN 978-5-4439-1032-1.
СсылкиПравить
- С. Кук Официальное описание проблемы на сайте института Клэя (англ.)
- С. Николенко «P=?NP». Компьютерра, 2006.
- Н. П. Варновский. Проблема P =? NP, классы сложностей и криптография. 2005.
- Притыкин Ю. Л. Что такое проблема P vs. NP? // VIII летняя школа «Современная математика». — Дубна, 2008.
- Gerhard J. Woeginger. The P-versus-NP page. (англ.) Список ссылок на предложенные «решения» данной проблемы до 2016 года. Некоторые из них утверждают равенство P и NP, некоторые — обратное.
- Scott Aaronson. Reasons to believe that P!=NP
- Scott Aaronson. — обзор 2017 года.
В другом языковом разделе есть более полная статья P versus NP problem (англ.). |