В информатике параметризованная сложность — это раздел теории сложности вычислений , который фокусируется на классификации вычислительных задач в соответствии с присущей им сложностью в отношении нескольких параметров ввода или вывода. Затем сложность проблемы измеряется как функция этих параметров. Это позволяет классифицировать NP-сложные проблемы в более точном масштабе, чем в классической постановке, где сложность проблемы измеряется только как функция количества бит во входных данных. Похоже, это было впервые продемонстрировано Гуревичем, Штокмейером и Вишкиным (1984). Первая систематическая работа по параметризованной сложности была проведена Дауни и Феллоуз (1999).
В предположении, что P ≠ NP , существует множество естественных задач, которые требуют суперполиномиального времени выполнения , когда сложность измеряется только с точки зрения размера входных данных, но которые вычислимы за время, которое является полиномиальным по размеру входных данных и экспоненциальным или хуже по параметру. к . Следовательно, если k фиксировано на небольшом значении и рост функции по k относительно невелик, то такие проблемы все равно можно считать «разрешимыми», несмотря на их традиционную классификацию как «трудноразрешимые».
Существование эффективных, точных и детерминированных алгоритмов решения NP-полных или, иначе , NP-трудных задач считается маловероятным, если входные параметры не фиксированы; все известные алгоритмы решения этих задач требуют времени, которое экспоненциально (в частности, суперполиномиально) зависит от общего размера входных данных. Однако некоторые проблемы можно решить с помощью алгоритмов, которые являются экспоненциальными только по размеру фиксированного параметра и полиномиальными по размеру входных данных. Такой алгоритм называется управляемым алгоритмом с фиксированным параметром (FPT), поскольку задача может быть решена эффективно (т. е. за полиномиальное время) для постоянных значений фиксированного параметра.
Задачи, в которых фиксирован некоторый параметр k , называются параметризованными задачами. Параметризованная задача, допускающая такой алгоритм FPT, называется разрешимой задачей с фиксированным параметром и принадлежит к классу FPT , а раннее название теории параметризованной сложности было разрешимостью с фиксированным параметром .
Многие задачи имеют следующий вид: если задан объект x и целое неотрицательное число k , то есть ли у x какое-то свойство, зависящее от k ? Например, для задачи вершинного покрытия параметром может быть количество вершин в покрытии. Во многих приложениях, например, при моделировании коррекции ошибок, можно предположить, что параметр «маленький» по сравнению с общим размером входных данных. Тогда сложно найти алгоритм, который был бы экспоненциальным только по k , а не по размеру входных данных.
Таким образом, параметризованную сложность можно рассматривать как двумерную теорию сложности. Это понятие формализуется следующим образом:
Например, существует алгоритм, который решает задачу вершинного покрытия за время, [1] где n — количество вершин, а k — размер вершинного покрытия. Это означает, что вершинное покрытие является управляемым с фиксированным параметром, используя размер решения в качестве параметра.
FPT содержит решаемые задачи с фиксированным параметром , то есть те, которые можно решить за время для некоторой вычислимой функции f . Обычно эту функцию рассматривают как одну экспоненту, например , но определение допускает функции, которые растут еще быстрее. Это важно для большей части ранней истории этого класса. Важнейшей частью определения является исключение функций вида , таких как .
Класс FPL (линейный с фиксированным параметром) — это класс задач, решаемых во времени для некоторой вычислимой функции f . [2] Таким образом, FPL является подклассом FPT. Примером является булева проблема выполнимости , параметризованная количеством переменных. Заданную формулу размера m с k переменными можно проверить перебором за время . Покрытие вершин размера k в графе порядка n можно найти за время , поэтому проблема покрытия вершин также находится в FPL.
Примером проблемы, которой, как считается, нет в FPT, является раскраска графа , параметризованная количеством цветов. Известно, что 3-раскраска является NP-сложной , и алгоритм k -раскраски графа за время for будет работать за полиномиальное время от размера входных данных. Таким образом, если раскраска графа, параметризованная количеством цветов в FPT, то P = NP .
Существует ряд альтернативных определений FPT. Например, требование времени выполнения можно заменить на . Также параметризованная проблема есть в FPT, если у него есть так называемое ядро. Кернелизация — это метод предварительной обработки, который сводит исходный экземпляр к его «жесткому ядру», возможно, гораздо меньшему экземпляру, который эквивалентен исходному экземпляру, но имеет размер, ограниченный функцией в параметре.
FPT замкнут в соответствии с параметризованным понятием сокращений , называемым fpt-reductions . Такие сокращения преобразуют экземпляр некоторой проблемы в эквивалентный экземпляр другой проблемы (с ) и могут быть вычислены за время где – полином.
Очевидно, что 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, и известно, что это сдерживание строгое за счет диагонализации.
пара-NP — это класс параметризованных задач, которые могут быть решены недетерминированным алгоритмом за время для некоторой вычислимой функции f . Известно, что тогда и только тогда, когда . [5]
Задача является пара-NP-трудной , если она является -трудной уже для постоянного значения параметра. То есть существует «кусок» фиксированного k , который является -жестким. Параметризованная задача, являющаяся -hard, не может принадлежать классу , если только . Классическим примером -трудной параметризованной задачи является раскраска графа , параметризованная числом k цветов, для которой уже -трудна (см. Раскраска графа#Вычислительная сложность ).
Иерархия A представляет собой набор классов вычислительной сложности, аналогичный иерархии W. Однако, хотя иерархия W является иерархией, содержащейся в NP, иерархия A более точно имитирует иерархию полиномиального времени классической сложности. Известно, что выполнено A[1] = W[1].