Русская Википедия:Равенство классов P и NP
Шаблон:Проблемы тысячелетия Вопрос о равенстве классов сложности P и NP (в русскоязычных источниках также известный как проблема перебора[1][2]) — это одна из центральных открытых проблем теории алгоритмов, сформулированная в начале 1970-х годов и до сих пор не имеющая доказательного ответа. Если будет дан утвердительный ответ, это будет означать, что существует теоретическая возможность решать многие сложные задачи существенно быстрее, чем сейчас.
Отношения между классами P и NP рассматриваются в разделе теории алгоритмов, который называется теорией вычислительной сложности. Она изучает ресурсы, необходимые для решения некоторой задачи. Наиболее общие ресурсы — это время (сколько нужно сделать шагов) и память (сколько памяти потребуется для решения задачи).
Проблема равенства классов P и NP является одной из семи задач тысячелетия, за решение которой Математический институт Клэя назначил премию в миллион долларов США.
Формулировка
Нестрого говоря, проблема равенства P = NP состоит в следующем: если положительный ответ на какой-то вопрос можно довольно быстро проверить (за полиномиальное время), то правда ли, что ответ на этот вопрос можно довольно быстро найти (также за полиномиальное время и используя полиномиальную память)? Другими словами, действительно ли проверить решение задачи столь же ресурсозатратно, как и отыскать решение?Шаблон:Sfn
Например, верно ли, что среди чисел {−2, −3, 15, 14, 7, −10, …} есть такие, что их сумма равна 0 (задача о суммах подмножеств)? Ответ — да, потому что −2 −3 + 15 −10 = 0 и если уже известен список слагаемых, то это легко проверяется несколькими последовательными сложениями (информация, необходимая для проверки положительного ответа, называется сертификатом). Следует ли отсюда, что так же легко определить сам этот список? Проверить сертификат так же легко, как найти его? Обычно считается, что подобрать числа сложнее. Но сопоставление теоретической сложности (количественной оценки объективно необходимых ресурсов) не доказано.
Из определения классов P и NP сразу вытекает следствие: <math>P \subseteq NP</math>. Однако до сих пор ничего не известно о строгости этого включения, то есть, существует ли задача, лежащая в NP, но не лежащая в P. Если такой задачи не существует, то все задачи, принадлежащие классу NP, можно будет решать за полиномиальное время, что сулит огромную выгоду в скорости вычислений. Сейчас самые сложные задачи из класса NP (так называемые NP-полные задачи) можно решить за экспоненциальное время, что считается неприемлемым с практической точки зрения.
История
Вероятно, впервые вопрос о вычислительной сложности был задан Куртом Гёделем в 1956 году в письме к Джону фон Нейману, где он спрашивал, может ли некая задача (которая, как сейчас известно, NP-полная) быть решена за квадратичное или линейное время. В то же время Гёдель предположил, что если решение существует, то это позволит решать с помощью компьютеров многие математические проблемы[3].
Впервые вопрос о равенстве классов был поставлен Стивеном Куком в 1971 году[4] и, независимо, Леонидом Левиным в 1973 году[5].
На начало 2000-х гг. большинство математиков считают, что эти классы не равны. Согласно опросу, проведённому в 2002 году среди 100 учёных,[6] 61 человек считает, что ответ — «не равны», 9 — «равны», 22 затруднились ответить и 8 дали другие ответы (в том числе, что гипотеза не выводима из текущей системы аксиом и, таким образом, не может быть доказана или опровергнута).
Как и другие известные нерешённые математические проблемы, попытки решения этой задачи привлекают значительные усилия; регулярно публикуются (не в научной литературе) ошибочные доказательства равенства или неравенства классов P и NP, обычно непрофессионалами[7].
Системы защиты, предполагающие неравенство классов P и NP
Шаблон:Основная Любая криптосистема с открытым ключом базируется на предположении существования односторонних функций и/или крайней длительности решения некоторой задачи (например, для алгоритма RSA это разложение на множители очень больших чисел).
Для защиты компьютерных систем от злоупотребления услугами запрашивающей стороне предлагается решить задачу, на поиск решения которой тратится достаточно много времени, а результат легко и быстро проверяется обслуживающей стороной. Примером такой защиты от спама может служить система Hashcash[8], которая использует хеш частичной инверсии при отправке электронной почты.
В блокчейнах, основанных на технологии доказательства выполнения работы требуется, чтобы получаемая хеш-сумма была меньше целевого значения. Процесс поиска нужной хеш-суммы требует её многократного пересчёта с перебором произвольных значений дополнительного параметра (подробнее см. Майнинг). На поиск одной удовлетворительной хеш-суммы все компьютеры системы тратят значительное время (например, в «Биткойн» это в среднем 10 минут каждого из участников-майнеров). Для проверки корректности уже сформированного блока требуется лишь однократное вычисление хеша.
Похожие проблемы
- Аналогичная проблема существует и в теории алгебраической сложности для классов VP и VNPШаблон:Sfn. На данный момент эта проблема не решена.
- В 1991 году было получено доказательство равенства классов Шаблон:Нп3 и Шаблон:Нп3.[9]
- В 2020 году было получено доказательство равенства классов Шаблон:Нп3 и MIP*[10][11].
- Проблема равенства классов Шаблон:Нп3 и Шаблон:Нп3. Классы не равны, проблема решена с доказательством существования нерешаемых проблем, например, проблемы разрешения и неразрешимости диофантовых уравнений в общем виде.
См. также
Примечания
Литература
Ссылки
- С. Кук Официальное описание проблемы на сайте института Клэя Шаблон:Ref-en
- С. Николенко «P=?NP». Компьютерра, 2006.
- Н. П. Варновский. Проблема P =? NP, классы сложностей и криптография. 2005.
- Шаблон:Статья
- Gerhard J. Woeginger. The P-versus-NP page.Шаблон:Ref-en Список ссылок на предложенные «решения» данной проблемы до 2016 года. Некоторые из них утверждают равенство P и NP, некоторые — обратное.
- Scott Aaronson. Reasons to believe that P!=NP
- Scott Aaronson. <math>{\color{MidnightBlue}\mathsf{P}\stackrel{?}{=}\mathsf{NP}}</math> — обзор 2017 года.
- Русская Википедия
- Страницы с неработающими файловыми ссылками
- Классы сложности
- Математические гипотезы
- Теория сложности вычислений
- Нерешённые проблемы информатики
- Открытые математические проблемы
- Логические гипотезы
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии