Уменьшение счета за полиномиальное время - Polynomial-time counting reduction

в теория сложности вычислений из проблемы с подсчетом, а уменьшение счета за полиномиальное время это тип снижение (переход от одной проблемы к другой) используется для определения понятия полнота для класса сложности ♯P.[1] Эти сокращения также можно назвать полиномиальные редукции с подсчетом многих единиц или же слабо экономные сокращения; они аналогичны много-одно сокращение за проблемы решения и они обобщают экономные скидки.[2]

Определение

Сокращение счета за полиномиальное время обычно используется для преобразования экземпляров известной трудной задачи. в примеры другой проблемы это должно быть трудно доказать. Он состоит из двух функций и , оба из которых должны быть вычислимы в полиномиальное время. Функция преобразует входные данные для во входы для , а функция преобразует выходы для в выходы для .[1][2]

Эти две функции должны сохранять правильность вывода. То есть предположим, что преобразование ввода для проблемы к входу для проблемы , а затем решается производить продукцию . Должно быть так, что преобразованный вывод правильный вывод для исходного ввода . То есть, если отношения ввода-вывода и выражаются как функции, то их функциональная композиция должен подчиняться личность . В качестве альтернативы можно выразить через алгоритмы, один из возможных алгоритмов решения было бы применить превратить проблему в пример , решите этот экземпляр, а затем примените преобразовать вывод в правильный ответ для .[1][2]

Отношение к другим видам редукции

В частном случае экономное сокращение является полиномиальным преобразованием на входах к задачам, который сохраняет точные значения выходов. Такое сокращение можно рассматривать как сокращение счета за полиномиальное время, используя функция идентичности как функция .[1][2]

Приложения в теории сложности

Функциональная проблема (заданная входами и желаемыми выходами) относится к классу сложности ♯P если существует недетерминированная машина Тьюринга который выполняется за полиномиальное время, для которого выходом задачи является количество принимающих путей машины Тьюринга. Интуитивно такие задачи подсчитывают количество решений задач в классе сложности. НП. Функциональная проблема называется ♯P-трудным, если существует полиномиальная считающая редукция из каждой задачи в ♯P до . Если, кроме того, сам принадлежит ♯P, то как говорят ♯P-полный.[1][2] (Иногда, как в оригинальной статье Valiant доказательство полноты перманента матриц 0–1, более слабое понятие редукции, Редукция Тьюринга, вместо этого используется для определения ♯P-полноты.[3])

Обычный метод доказательства проблемы в ♯P быть P-полным - значит начинать с одной известной проблемы P-полной и найти сокращение счета за полиномиальное время из к . Если эта редукция существует, то существует редукция любой другой задачи в ♯P к , полученный составление сокращение от другой проблемы до с сокращением от к .[1][2]

Рекомендации

  1. ^ а б c d е ж Гомес, Карла П.; Сабхарвал, Ашиш; Селман, Барт (2009), «Глава 20. Подсчет моделей», Бьер, Армин; Heule, Marijn; ван Маарен, Ханс; Уолш, Тоби (ред.), Справочник по выполнимости (PDF), Границы в области искусственного интеллекта и приложений, 185, IOS Press, стр. 633–654, ISBN  9781586039295. См. В частности стр. 634–635.
  2. ^ а б c d е ж Крейну, Надя; Ханна, Санджив; Судан, Мадху (2001), «2.2.2 Экономные сокращения и P-полнота», Классификация сложности задач удовлетворения булевых ограничений, Монографии SIAM по дискретной математике и приложениям, Общество промышленной и прикладной математики (SIAM), Филадельфия, Пенсильвания, стр. 12–13, Дои:10.1137/1.9780898718546, ISBN  0-89871-479-6, МИСТЕР  1827376
  3. ^ Валиант, Л.Г. (1979), «Сложность вычисления постоянного», Теоретическая информатика, 8 (2): 189–201, Дои:10.1016/0304-3975(79)90044-6, МИСТЕР  0526203