В информатике проблема выполнимости Шарпа (иногда называемая Sharp-SAT , #SAT или подсчетом моделей ) — это проблема подсчета числа интерпретаций , которые удовлетворяют заданной булевой формуле , введенная Вэлиантом в 1979 году. [1] Другими словами, она спрашивает, сколькими способами переменные заданной булевой формулы могут быть последовательно заменены значениями ИСТИНА или ЛОЖЬ таким образом, чтобы формула оценивалась как ИСТИНА . Например, формула выполнима тремя различными назначениями булевых значений переменных, а именно, для любого из назначений ( = ИСТИНА, = ЛОЖЬ), ( = ЛОЖЬ, = ЛОЖЬ) и ( = ИСТИНА, = ИСТИНА), мы имеем
#SAT отличается от задачи выполнимости булевой формулы (SAT), которая спрашивает, существует ли решение булевой формулы. Вместо этого #SAT просит перечислить все решения булевой формулы. #SAT сложнее SAT в том смысле, что, как только общее количество решений булевой формулы известно, SAT может быть решен за постоянное время. Однако обратное неверно, потому что знание того, что булева формула имеет решение, не помогает нам подсчитать все решения , поскольку существует экспоненциальное число возможностей.
#SAT — известный пример класса задач подсчета , известных как #P-полные (читается как sharp P полные). Другими словами, каждый экземпляр задачи в классе сложности #P можно свести к экземпляру задачи #SAT. Это важный результат, поскольку многие сложные задачи подсчета возникают в перечислительной комбинаторике , статистической физике , надежности сетей и искусственном интеллекте без какой-либо известной формулы. Если показано, что задача сложна, то она дает теоретическое объяснение сложности отсутствия красивых формул. [2]
#SAT является #P-полным . Чтобы доказать это, сначала отметим, что #SAT, очевидно, находится в #P.
Далее мы докажем, что #SAT является #P-трудной. Возьмем любую задачу #A в #P. Мы знаем, что A может быть решена с помощью недетерминированной машины Тьюринга M. С другой стороны, из доказательства теоремы Кука-Левина мы знаем, что мы можем свести M к булевой формуле F. Теперь каждое допустимое назначение F соответствует уникальному приемлемому пути в M, и наоборот. Однако каждый допустимый путь, принятый M, представляет собой решение A. Другими словами, существует биекция между допустимыми назначениями F и решениями A. Таким образом, редукция, использованная в доказательстве теоремы Кука-Левина, является экономной. Это означает, что #SAT является #P-трудной.
Подсчет решений является неразрешимым (#P-полным) во многих особых случаях, для которых выполнимость является разрешимой (в P), а также когда выполнимость является неразрешимой (NP-полной). Сюда входит следующее.
Это счетная версия 3SAT . Можно показать, что любую формулу в SAT можно переписать как формулу в форме 3- CNF , сохраняя количество удовлетворяющих назначений. Следовательно, #SAT и #3SAT являются счетными эквивалентами, а #3SAT также является #P-полной.
Несмотря на то, что 2SAT (определение того, имеет ли формула 2CNF решение) является полиномиальной, подсчет количества решений является #P -полным. [3] #P-полнота уже в монотонном случае, т. е. когда нет отрицаний (#MONOTONE-2-CNF).
Известно, что, если предположить, что NP отличается от RP , #MONOTONE-2-CNF также не может быть аппроксимирована полностью полиномиальной схемой аппроксимации (FPRAS), даже если предположить, что каждая переменная встречается не более чем в 6 предложениях, но что полностью полиномиальная схема аппроксимации (FPTAS) существует, когда каждая переменная встречается не более чем в 5 предложениях: [4] это следует из аналогичных результатов по задаче ♯IS подсчета числа независимых множеств в графах .
Аналогично, хотя Хорн-выполнимость является полиномиальной, подсчет количества решений является #P-полным. Этот результат следует из общей дихотомии, характеризующей, какие проблемы типа SAT являются #P-полными. [5]
Это счетная версия Planar 3SAT. Снижение твердости от 3SAT до Planar 3SAT, данное Лихтенштейном [6], является экономным. Это подразумевает, что Planar #3SAT является #P-полным.
Это счетная версия Planar Monotone Rectilinear 3SAT. [7] Сокращение NP-трудности, данное де Бергом и Хосрави [7], является экономным. Следовательно, эта задача также является #P-полной.
Для формул дизъюнктивной нормальной формы (DNF) подсчет решений также является #P-полным, даже когда все предложения имеют размер 2 и нет отрицаний : это потому, что, согласно законам Де Моргана , подсчет количества решений DNF равносилен подсчету количества решений отрицания формулы конъюнктивной нормальной формы (CNF). Неразрешимость сохраняется даже в случае, известном как #PP2DNF, где переменные разделены на два набора, причем каждое предложение содержит одну переменную из каждого набора. [8]
Напротив, можно легко аппроксимировать число решений формулы дизъюнктивной нормальной формы, используя алгоритм Карпа-Луби, который является FPRAS для этой задачи. [9]
Вариант SAT, соответствующий аффинным отношениям в смысле теоремы Шефера о дихотомии , т. е. где предложения представляют собой уравнения по модулю 2 с оператором XOR , является единственным вариантом SAT, для которого задача #SAT может быть решена за полиномиальное время. [10]
Если экземпляры SAT ограничены с помощью параметров графа , проблема #SAT может стать разрешимой. Например, #SAT для экземпляров SAT, чья ширина дерева ограничена константой, может быть выполнена за полиномиальное время . [11] Здесь ширина дерева может быть первичной шириной дерева, двойной шириной дерева или шириной дерева инцидентности гиперграфа , связанного с формулой SAT, вершинами которой являются переменные, а каждое предложение представлено как гиперребро.
Подсчет моделей поддается обработке (разрешим за полиномиальное время) для (упорядоченных) BDD и для некоторых формализмов схем, изучаемых при компиляции знаний , таких как d-DNNF.
Подсчет взвешенных моделей (WMC) обобщает #SAT, вычисляя линейную комбинацию моделей вместо простого подсчета моделей. В варианте WMC с литеральным весом каждому литералу назначается вес, так что .
WMC используется для вероятностного вывода, поскольку вероятностные запросы по дискретным случайным величинам, таким как в байесовских сетях, могут быть сведены к WMC. [12]
Алгебраическая модель подсчета дополнительно обобщает #SAT и WMC над произвольными коммутативными полукольцами . [13]