ScholarGate
Ассистент

NP-полнота и редукции

NP-полная задача является одной из самых сложных в классе NP в том смысле, что любая задача из NP эффективно сводится к ней, так что быстрое решение любой одной NP-полной задачи позволило бы решить их все.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Задача является NP-полной, если она принадлежит классу NP и любая задача из NP сводится к ней с помощью полиномиальной редукции; такие задачи являются максимально сложными элементами NP, эквивалентными друг другу с точностью до эффективного преобразования.

Scope

Эта тема охватывает класс NP задач, проверяемых за полиномиальное время, полиномиальные редукции типа «многие к одному», теорему Кука–Левина, устанавливающую NP-полноту задачи выполнимости, каталог NP-полных комбинаторных задач Карпа и методологию доказательства NP-полноты новых задач путем редукции от известных.

Core questions

  • Что значит для задачи быть одной из самых сложных в NP?
  • Как теорема Кука–Левина определяет первую NP-полную задачу?
  • Как редукции используются для доказательства NP-полноты новой задачи?
  • Почему NP-полнота одной задачи имеет последствия для тысяч других?

Key theories

Теорема Кука–Левина
Булева выполнимость является NP-полной, потому что вычисление любого верификатора полиномиального времени может быть закодировано как экземпляр выполнимости, что обеспечивает фундаментальную полную задачу, из которой выводятся другие.
Редукции Карпа и сеть NP-полных задач
Карп показал, что двадцать одна естественная задача, от раскраски графов до задачи коммивояжера, являются NP-полными с помощью полиномиальных редукций, что положило начало практике установления сложности через растущую сеть редукций.

Clinical relevance

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

History

Кук доказал NP-полноту задачи выполнимости в 1971 году, а Левин независимо получил эквивалентные результаты в Советском Союзе. В 1972 году Карп продемонстрировал двадцать одну дополнительную NP-полную задачу, выявив повсеместность этого явления и сделав NP-полноту центральным инструментом для диагностики вычислительной сложности.

Key figures

  • Stephen Cook
  • Leonid Levin
  • Richard Karp

Related topics

Seminal works

  • cook1971
  • karp1972

Frequently asked questions

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

Methods for this concept

Related concepts