В информатике параметризованная сложность — это раздел теории вычислительной сложности , который фокусируется на классификации вычислительных задач в соответствии с их присущей сложностью по отношению к нескольким параметрам ввода или вывода. Затем сложность задачи измеряется как функция этих параметров. Это позволяет классифицировать NP-трудные задачи в более точном масштабе, чем в классической постановке, где сложность задачи измеряется только как функция количества битов во входных данных. Это, по-видимому, впервые было продемонстрировано в работе Гуревича, Стокмейера и Вишкина (1984). Первая систематическая работа по параметризованной сложности была проделана Дауни и Феллоузом (1999).
При предположении, что P ≠ NP , существует много естественных проблем, которые требуют сверхполиномиального времени выполнения , когда сложность измеряется только в терминах размера входных данных, но которые вычислимы за время, полиномиальное по размеру входных данных и экспоненциальное или хуже по параметру k . Следовательно, если k зафиксировано на небольшом значении, а рост функции по k относительно мал, то такие проблемы все еще можно считать «решаемыми», несмотря на их традиционную классификацию как «нерешаемые».
Существование эффективных, точных и детерминированных алгоритмов решения для NP-полных или, иначе, NP-трудных задач считается маловероятным, если входные параметры не фиксированы; все известные алгоритмы решения для этих задач требуют времени, экспоненциального (и, в частности, суперполиномиального) по общему размеру ввода. Однако некоторые задачи могут быть решены алгоритмами, которые экспоненциальны только по размеру фиксированного параметра, но полиномиальны по размеру ввода. Такой алгоритм называется алгоритмом с фиксированными параметрами (FPT), потому что задача может быть решена эффективно (т. е. за полиномиальное время) для постоянных значений фиксированного параметра.
Задачи, в которых некоторый параметр k фиксирован, называются параметризованными задачами. Параметризованная задача, которая допускает такой алгоритм FPT, называется фиксированно-параметрической трактабельной задачей и принадлежит к классу FPT , а раннее название теории параметризованной сложности было фиксированно-параметрическая трактабельность .
Многие задачи имеют следующий вид: задан объект x и неотрицательное целое число k , имеет ли x некоторое свойство, зависящее от k ? Например, для задачи о покрытии вершин параметром может быть количество вершин в покрытии. Во многих приложениях, например, при моделировании исправления ошибок, можно предположить, что параметр «мал» по сравнению с общим размером входных данных. Тогда сложно найти алгоритм, который является экспоненциальным только по k , а не по размеру входных данных.
Таким образом, параметризованную сложность можно рассматривать как двумерную теорию сложности. Эта концепция формализуется следующим образом:
Например, существует алгоритм, который решает задачу покрытия вершин за время, [1] где n — количество вершин, а k — размер покрытия вершин. Это означает, что покрытие вершин является фиксированно-параметрическим, с размером решения в качестве параметра.
FPT содержит фиксированные параметры разрешимых задач, которые являются теми, которые могут быть решены за время для некоторой вычислимой функции f . Обычно эта функция рассматривается как одиночная экспоненциальная, например , но определение допускает функции, которые растут еще быстрее. Это существенно для большой части ранней истории этого класса. Ключевая часть определения — исключить функции вида , например .
Класс FPL (fixed parameter linear) — это класс задач, разрешимых за время для некоторой вычислимой функции f . [2] Таким образом, FPL является подклассом FPT. Примером является задача о выполнимости булевых уравнений , параметризованная числом переменных. Заданная формула размера m с k переменными может быть проверена методом грубой силы за время . Покрытие вершин размера k в графе порядка n может быть найдено за время , поэтому задача о покрытии вершин также принадлежит FPL.
Примером проблемы, которая, как считается, не входит в FPT, является раскраска графа , параметризованная числом цветов. Известно, что 3-раскраска является NP-трудной , а алгоритм для k -раскраски графа за время будет работать за полиномиальное время от размера входных данных. Таким образом, если бы раскраска графа, параметризованная числом цветов, была бы в FPT, то P = NP .
Существует ряд альтернативных определений FPT. Например, требование времени выполнения можно заменить на . Кроме того, параметризованная задача находится в FPT, если у нее есть так называемое ядро. Ядеризация — это метод предварительной обработки, который сводит исходный экземпляр к его «жесткому ядру», возможно, гораздо меньшему экземпляру, который эквивалентен исходному экземпляру, но имеет размер, ограниченный функцией в параметре.
FPT замкнут относительно параметризованного понятия редукций , называемых fpt-редукциями . Такие редукции преобразуют экземпляр некоторой проблемы в эквивалентный экземпляр другой проблемы (с ) и могут быть вычислены за время , где — полином.
Очевидно, что FPT содержит все полиномиально вычислимые задачи. Более того, он содержит все оптимизационные задачи в NP, которые допускают эффективную полиномиально-вычислимую схему аппроксимации (EPTAS) .
Иерархия W представляет собой набор классов вычислительной сложности. Параметризованная задача находится в классе W [ i ], если каждый экземпляр может быть преобразован (за время fpt) в комбинаторную схему, которая имеет уток не более i , такой что тогда и только тогда, когда существует удовлетворяющее назначение входов, которое назначает 1 ровно k входам. Уток представляет собой наибольшее количество логических единиц с коэффициентом ветвления по входу больше двух на любом пути от входа к выходу. Общее количество логических единиц на путях (известное как глубина) должно быть ограничено константой, которая справедлива для всех экземпляров задачи.
Обратите внимание, что и для всех . Классы в иерархии W также закрыты относительно fpt-редукции.
Полная задача для W [ i ] — это взвешенная i -нормализованная выполнимость : [3] если задана булева формула, записанная как И из ИЛИ из И... возможно отрицательных переменных, со слоями И или ИЛИ (и i чередований между И и ИЛИ), можно ли ее удовлетворить, установив ровно k переменных в 1?
Многие естественные вычислительные задачи занимают нижние уровни, W [1] и W [2].
Примерами W [1]-полных задач являются:
Примерами W [2]-полных задач являются:
можно определить с помощью семейства задач SAT Weighted Weft -t -Depth- d для : — класс параметризованных задач, которые fpt-сводятся к этой задаче, и .
Здесь, Weighted Weft- t -Depth- d SAT представляет собой следующую задачу:
Можно показать, что для задачи Weighted t -Normalize SAT является полной для fpt-редукций. [4] Здесь Weighted t -Normalize SAT является следующей задачей:
W [ P ] — это класс задач, которые могут быть решены недетерминированной -машиной Тьюринга, которая делает не более недетерминированного выбора в вычислениях на ( k -ограниченной машине Тьюринга). Флум и Гроэ (2006)
Известно, что FPT содержится в W[P], и включение считается строгим. Однако решение этого вопроса означало бы решение проблемы P против NP .
Другие связи с непараметризованной вычислительной сложностью заключаются в том, что FPT равен W [ P ] тогда и только тогда, когда выполнимость схемы может быть определена за время , или тогда и только тогда, когда существует вычислимая, неубывающая, неограниченная функция f такая, что все языки, распознаваемые недетерминированной полиномиальной машиной Тьюринга с использованием недетерминированных выборов , находятся в P .
W [ P ] можно в общих чертах рассматривать как класс задач, где у нас есть набор S из n элементов, и мы хотим найти подмножество размера k, такое, что выполняется определенное свойство. Мы можем закодировать выбор как список из k целых чисел, сохраненных в двоичном виде. Поскольку наибольшее из этих чисел может быть равно n , для каждого числа требуются биты. Следовательно, для кодирования выбора необходимо общее количество бит. Следовательно, мы можем выбрать подмножество с недетерминированным выбором.
XP — это класс параметризованных задач, которые могут быть решены за время для некоторой вычислимой функции f . Эти задачи называются слайс-полиномиальными в том смысле, что каждый «срез» фиксированного k имеет полиномиальный алгоритм, хотя, возможно, с разным показателем для каждого k. Сравните это с FPT, который просто допускает разный постоянный префактор для каждого значения k. XP содержит FPT, и известно, что это включение является строгим по диагонализации.
para-NP — это класс параметризованных задач, которые могут быть решены недетерминированным алгоритмом за время для некоторой вычислимой функции f . Известно, что тогда и только тогда, когда . [5]
Задача является пара-NP-трудной, если она уже является -трудной для постоянного значения параметра. То есть, существует "срез" фиксированного k , который является -трудным. Параметризованная задача, которая является -трудной, не может принадлежать классу , если только . Классическим примером -трудной параметризованной задачи является раскраска графа , параметризованная числом цветов k , которая уже является -трудной для (см. Раскраска графа#Вычислительная сложность ).
Иерархия A представляет собой набор классов вычислительной сложности, аналогичных иерархии W. Однако, в то время как иерархия W представляет собой иерархию, содержащуюся в NP, иерархия A более точно имитирует иерархию полиномиального времени из классической сложности. Известно, что справедливо соотношение A[1] = W[1].