Сокращение счета за полиномиальное время

Problem transformation for counting solutions

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

Определение

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

Эти две функции должны сохранять правильность вывода. То есть, предположим, что кто-то преобразует входные данные для задачи во входные данные для задачи , а затем решает , чтобы получить вывод . Должно быть так, что преобразованный вывод является правильным выводом для исходного ввода . То есть, если отношения ввода-вывода и выражены как функции, то их функциональная композиция должна подчиняться тождеству . В качестве альтернативы, выраженной в терминах алгоритмов , один из возможных алгоритмов решения будет применять преобразование задачи в экземпляр , решать этот экземпляр, а затем применять преобразование вывода в правильный ответ для . [1] [2] x {\displaystyle x} X {\displaystyle X} y = f ( x ) {\displaystyle y=f(x)} Y {\displaystyle Y} y {\displaystyle y} z {\displaystyle z} g ( z ) {\displaystyle g(z)} x {\displaystyle x} X {\displaystyle X} Y {\displaystyle Y} X = g Y f {\displaystyle X=g\circ Y\circ f} X {\displaystyle X} f {\displaystyle f} Y {\displaystyle Y} g {\displaystyle g} Y {\displaystyle Y} X {\displaystyle X}

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

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

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

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

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

Ссылки

  1. ^ abcdef Гомес, Карла П .; Сабхарвал, Ашиш; Селман, Барт (2009), «Глава 20. Подсчет моделей», в Biere, Armin; Heule, Marijn ; van Maaren, Hans; Walsh, Toby (ред.), Handbook of Satisfiability (PDF) , Frontiers in Artificial Intelligence and Applications, т. 185, IOS Press, стр.  633–654 , ISBN 9781586039295. См. в частности стр. 634–635.
  2. ^ abcdef Creignou, Nadia; Khanna, Sanjeev ; Sudan, Madhu (2001), "2.2.2 Экономные сокращения и ♯P-полнота", Сложностные классификации проблем удовлетворения булевых ограничений , SIAM Monographs on Discrete Mathematics and Applications, Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, стр.  12–13 , doi :10.1137/1.9780898718546, ISBN 0-89871-479-6, г-н  1827376
  3. ^ Валиант, LG (1979), «Сложность вычисления постоянного», Теоретическая информатика , 8 (2): 189–201 , doi : 10.1016/0304-3975(79)90044-6 , MR  0526203
Retrieved from "https://en.wikipedia.org/w/index.php?title=Polynomial-time_counting_reduction&oldid=1071444636"