4625
правок
KEV (обсуждение | вклад) Нет описания правки |
KEV (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''<math>\mathcal NP</math>-Полная задача''' (''[[NP-Complete problem|<math>\mathcal NP</math>-Complete problem]]'') | '''<math>\mathcal NP</math>-Полная задача''' (''[[NP-Complete problem|<math>\mathcal NP</math>-Complete problem]]'') — такая задача <math>\,A</math> из класса <math>\mathcal NP</math> всех задач, | ||
недетерминированно разрешимых за полиномиальное время, что любая задача из <math>\mathcal NP</math> ''[[полиномиальная сводимость(трансформируемость)|полиномиально сводится]]'' к <math>A</math> | недетерминированно разрешимых за полиномиальное время, что любая задача из <math>\mathcal NP</math> ''[[полиномиальная сводимость (трансформируемость)|полиномиально сводится]]'' к <math>\,A.</math> Если требование принадлежности <math>\,A</math> классу <math>\mathcal NP</math> не | ||
рассматривается, то используется термин ''<math>\mathcal NP</math>-трудная'' задача. | рассматривается, то используется термин ''<math>\mathcal NP</math>-трудная'' задача. | ||
Найдется немного научных терминов, так быстро завоевавших широкую известность, как понятие "<math>{\mathcal NP}</math>-полная задача". За короткий промежуток времени с момента введения этого понятия С.Куком в начале 70-х годов оно стало символом тех трудностей, которые встречаются на пути создания достаточно общих и эффективных методов решения задач дискретной математики. | Найдется немного научных терминов, так быстро завоевавших широкую известность, как понятие "<math>{\mathcal NP}</math>-полная задача". За короткий промежуток времени с момента введения этого понятия С.Куком в начале 70-х годов оно стало символом тех трудностей, которые встречаются на пути создания достаточно общих и эффективных методов решения задач дискретной математики. | ||
<math>{\mathcal NP}</math>-полные задачи являются "самыми трудными" в классе <math>{\mathcal NP}</math> | <math>{\mathcal NP}</math>-полные задачи являются "самыми трудными" в классе <math>{\mathcal NP}.</math> | ||
Если какая-нибудь <math>{\mathcal NP}</math>-полная задача может быть решена за полиномиальное время, то и любая задача из <math>{\mathcal NP}</math> полиномиально разрешима, а если какая-то задача из <math>{\mathcal NP}</math> труднорешаема, то и любая <math>{\mathcal NP}</math>-полная задача является труднорешаемой. При этом, для того чтобы доказать <math>{\mathcal NP}</math>-полноту некоторой задачи из <math>{\mathcal NP}</math> | Если какая-нибудь <math>{\mathcal NP}</math>-полная задача может быть решена за полиномиальное время, то и любая задача из <math>{\mathcal NP}</math> полиномиально разрешима, а если какая-то задача из <math>{\mathcal NP}</math> труднорешаема, то и любая <math>{\mathcal NP}</math>-полная задача является труднорешаемой. При этом, для того чтобы доказать <math>{\mathcal NP}</math>-полноту некоторой задачи из <math>{\mathcal NP},</math> достаточно показать, что какая-то из | ||
<math>{\mathcal NP}</math>-полных задач полиномиально сводится к ней. | <math>{\mathcal NP}</math>-полных задач полиномиально сводится к ней. | ||
Вопрос о взаимоотношении классов <math>{\mathcal P}</math> и <math>{\mathcal NP}</math> имеет | Вопрос о взаимоотношении классов <math>{\mathcal P}</math> и <math>{\mathcal NP}</math> имеет | ||
фундаментальное значение, но все еще открыт. Известно, что | фундаментальное значение, но все еще открыт. Известно, что | ||
<math>{\mathcal P}\subseteq {\mathcal NP}</math> и если <math>L\in {\mathcal NP}</math> | <math>{\mathcal P}\subseteq {\mathcal NP}</math> и если <math>L\in {\mathcal NP},</math> то существует такой полином <math>\,p(n)</math> и ''ДМТ'' <math>\,M,</math> что <math>\,L</math> допускается на <math>\,M</math> с [[временная сложность|временной сложностью]] <math>\,O(2^{p(n)}).</math> Однако до сих пор не доказано, содержит класс <math>{\mathcal NP}</math> труднорешаемые задачи или нет, т.е. <math>{\mathcal NP\setminus P}\neq \emptyset</math> или <math>{\mathcal NP=P}.</math> Вместе с тем известно, что в предположении <math>{\mathcal P}\neq {\mathcal NP}</math> класс <math>{\mathcal NP}</math> не просто содержит два непересекающихся подкласса: класс <math>{\mathcal P}</math> и класс <math>{\mathcal NP}</math>-полных задач, а также должен включать задачи, не принадлежащие ни одному из этих подклассов (т.е. при <math>{\mathcal P}\neq | ||
{\mathcal NP}</math> должны существовать задачи из <math>{\mathcal NP}</math> | {\mathcal NP}</math> должны существовать задачи из <math>{\mathcal NP},</math> которые | ||
неразрешимы за полиномиальное время и не являются <math>{\mathcal NP}</math>-полными). | неразрешимы за полиномиальное время и не являются <math>{\mathcal NP}</math>-полными). | ||
Строка 23: | Строка 23: | ||
(''Раскрашиваемость''). | (''Раскрашиваемость''). | ||
Является ли данный неориентированный граф | Является ли данный неориентированный граф | ||
[[k- | [[k-Раскрашиваемый граф|<math>\,k</math>-раскрашиваемым]]? | ||
(''[[Множество вершин, разрезающих контуры]]''). Имеет ли данный | (''[[Множество вершин, разрезающих контуры]]''). Имеет ли данный | ||
[[ориентированный граф]] <math>k</math>-элементное множество вершин, ''разрезающих'' все его контуры, т.е. содержащих хотя бы по одной вершине каждого из них? | [[ориентированный граф]] <math>\,k</math>-элементное множество вершин, ''разрезающих'' все его контуры, т.е. содержащих хотя бы по одной вершине каждого из них? | ||
(''[[Множество дуг, разрезающих контуры]]''). Имеет ли данный | (''[[Множество дуг, разрезающих контуры]]''). Имеет ли данный | ||
ориентированный граф <math>k</math>-элементное множество дуг, | ориентированный граф <math>\,k</math>-элементное множество дуг, | ||
''разрезающих'' все его контуры, т.е. содержащих хотя бы по одной | ''разрезающих'' все его контуры, т.е. содержащих хотя бы по одной | ||
дуге каждого из них? | дуге каждого из них? | ||
Строка 42: | Строка 42: | ||
(''[[Изоморфизм неориентированному подграфу]]''). Содержит ли данный | (''[[Изоморфизм неориентированному подграфу]]''). Содержит ли данный | ||
неориентированный граф <math>G</math> | неориентированный граф <math>\,G</math> | ||
[[подграф]], изоморфный данному неориентированному графу <math>H</math>? | [[подграф]], изоморфный данному неориентированному графу <math>\,H</math>? | ||
(''[[Остовное дерево ограниченной степени]]''). Существует ли в данном | (''[[Остовное дерево ограниченной степени]]''). Существует ли в данном | ||
неориентированном графе [[остовное дерево]], в котором все [[вершина|вершины]] имеют | неориентированном графе [[остовное дерево]], в котором все [[вершина|вершины]] имеют | ||
[[степень вершины|степень]] не более <math>k</math>? | [[степень вершины|степень]] не более <math>\,k</math>? | ||
(''[[Минимальный эквивалентный по достижимости ориентированный | (''[[Минимальный эквивалентный по достижимости ориентированный | ||
Строка 53: | Строка 53: | ||
часть [[дуга|дуг]] так, чтобы отношение [[достижимая вершина|достижимости]] между вершинами | часть [[дуга|дуг]] так, чтобы отношение [[достижимая вершина|достижимости]] между вершинами | ||
не изменилось, но результирующий граф содержал бы не более | не изменилось, но результирующий граф содержал бы не более | ||
<math>k</math> дуг. | <math>\,k</math> дуг. | ||
(''[[Самый длинный путь]]''). Имеется ли в данном неориентированном графе | (''[[Самый длинный путь]]''). Имеется ли в данном неориентированном графе | ||
[[простой путь]] [[ | [[простой путь]] [[длина пути|длины]] не меньше <math>\,k</math>? | ||
(''[[Доминирующее множество]]''). Существует ли в данном неориентированном | (''[[Доминирующее множество]]''). Существует ли в данном неориентированном | ||
графе доминирующее множество, состоящее из не более <math>k</math> вершин? | графе доминирующее множество, состоящее из не более <math>\,k</math> вершин? | ||
(''[[3-Раскрашиваемость|3-раскрашиваемость]]''). Можно ли данный неориентированный граф раскрасить | (''[[3-Раскрашиваемость|<math>\,3</math>-раскрашиваемость]]''). Можно ли данный неориентированный граф раскрасить | ||
в три цвета? | в три цвета? | ||
(''[[Нумерация графа по Гранди]]''). Можно ли сопоставить с вершинами данного | (''[[Нумерация графа по Гранди]]''). Можно ли сопоставить с вершинами данного | ||
ориентированного графа <math>G=(V,A)</math> различные неотрицательные числа таким | ориентированного графа <math>\,G=(V,A)</math> различные неотрицательные числа таким | ||
образом, чтобы для каждого <math>p\in V</math> число <math>F(p)</math> | образом, чтобы для каждого <math>\,p\in V</math> число <math>\,F(p),</math> сопоставленное с | ||
вершиной <math>p</math> | вершиной <math>\,p,</math> совпадало с наименьшим целым числом, не принадлежащим | ||
множеству <math>\{ F(q):q\in V, (p,q)\in A\}</math>? | множеству <math>\{ F(q):q\in V, (p,q)\in A\}</math>? | ||
(''[[Минимум суммы квадратов]]''). Может ли данное конечное множество <math>A</math> | (''[[Минимум суммы квадратов]]''). Может ли данное конечное множество <math>\,A</math> | ||
элементов, имеющих неотрицательный размер <math>S(a)</math> | элементов, имеющих неотрицательный размер <math>\,S(a),</math> быть разбито на <math>\,k</math> | ||
подмножеств <math>A_1,\ldots, A_k</math> так, чтобы <math>\sum^{k}_{i=1}\left( | подмножеств <math>\,A_1,\ldots, A_k</math> так, чтобы <math>\,\sum^{k}_{i=1}\left( | ||
\sum_{a\in A_i} s(a)\right)^2\leq t</math> | \sum_{a\in A_i} s(a)\right)^2\leq t,</math> где <math>\,k,t</math> — заданные | ||
положительные числа? | положительные числа? | ||
(''[[Расщепление множества]]''). Существует ли разбиение данного конечного | (''[[Расщепление множества]]''). Существует ли разбиение данного конечного | ||
множества <math>A</math> на два таких, что ни одно из них не содержит ни одного | множества <math>\,A</math> на два таких, что ни одно из них не содержит ни одного | ||
из элементов заданного семейства подмножеств <math>A</math>? | из элементов заданного семейства подмножеств <math>\,A</math>? | ||
==См. также == | ==См. также == | ||
''[[Задача о вершинном покрытии]], [[Задача о выполнимости]], [[Задача о клике]], [[Задача о неэквивалентности регулярных выражений]], [[Задача о разбиении]], [[Задача о точном покрытии 3-множествами]], [[Задача о трехмерном сочетании]], [[Классы P и NP|Классы <math>\mathcal P</math> и <math>\mathcal NP</math>]], [[Задача легко разрешимая]], [[Метод локальной замены]], [[Метод построения компонент]], [[Задача распознавания свойств]], [[Метод сужения задачи]], [[Полиномиальная сводимость (трансформируемость)]], [[NP- | * ''[[Задача о вершинном покрытии]],'' | ||
* ''[[Задача о выполнимости]],'' | |||
* ''[[Задача о клике]],'' | |||
* ''[[Задача о неэквивалентности регулярных выражений]],'' | |||
* ''[[Задача о разбиении]],'' | |||
* ''[[Задача о точном покрытии 3-множествами]],'' | |||
* ''[[Задача о трехмерном сочетании]],'' | |||
* ''[[Классы P и NP|Классы <math>\mathcal P</math> и <math>\mathcal NP</math>]],'' | |||
* ''[[Задача легко разрешимая]],'' | |||
* ''[[Метод локальной замены]],'' | |||
* ''[[Метод построения компонент]],'' | |||
* ''[[Задача распознавания свойств]],'' | |||
* ''[[Метод сужения задачи]],'' | |||
* ''[[Полиномиальная сводимость (трансформируемость)]],'' | |||
* ''[[NP-Трудная задача|<math>\mathcal NP</math>-трудная задача]],'' | |||
* ''[[Труднорешаемая задача]].'' | |||
==Литература== | ==Литература== | ||
* Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979. | |||
* Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. — М.: Мир, 1982. | |||
* Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. — Новосибирск: НГУ, 1995. |