Сложность проверки, имеют ли два CNF одинаковое количество решений


14

Учитывая два CNF, если они имеют одинаковое количество назначений, чтобы сделать их правдой, ответьте «Да», в противном случае ответьте «Нет».

Легко увидеть, что это в P#P , поскольку, если мы знаем точное число решений этих двух CNF, мы просто собираем их и отвечаем «Да» или «Нет».

В чем сложность этой проблемы?

Ответы:


14

Проблема в том, что coNP -hard; Вы можете легко свести проблему UNSAT к этой проблеме.

Более точная характеристика заключается в том, что проблема в C = P -полном. На самом деле, одно из определений класса C = P состоит в том, что это класс задач, многокритериальный за многочленовое время, сводимый к этой самой проблеме (обычно это определение формулируется в терминах функций GapP ). Но так как это не говорит о многом, позвольте мне определить этот класс по-другому.

Пусть C = P будет классом задач, которые многозначно за многочленное время сводятся к следующей задаче: с учетом булевой схемы φ и целого числа K (в двоичном виде) решить, равно ли число удовлетворяющих назначений φ равен K , Стандартным сокращением, которое показывает # P-полноту # 3SAT, мы можем ограничить φ формулой 3CNF, не влияя на класс. Класс C = P содержит класс с именем US , который содержит как UP, так и coNP.

С этим определением ваша проблема является C = P-полной. На самом деле, твердость C = P легко увидеть из определения класса C = P (который использует формулы 3CNF).

Чтобы доказать членство в C = P, предположим, что мы должны решить, имеют ли две данные формулы CNF φ 1 и φ 2 одинаковое число удовлетворяющих присвоений или нет. Без ограничения общности мы можем предположить, что две формулы имеют одинаковое количество переменных, скажем, n . Построить логическую схему φ, которая принимает n + 1 бит в качестве входных данных, чтобы число удовлетворяющих присвоений φ было равно c 1 + (2 n - c 2 ), где c 1 и c 2быть числами удовлетворяющих присвоений φ 1 и φ 2 , соответственно. Тогда число удовлетворяющих отведений φ равно 2 n тогда и только тогда, когда c 1 = c 2 .


@Kaveh: Можете ли вы уточнить?
Цуёси Ито

1
@Kaveh: Нет, это не то, что мы хотим. Мы хотим решить, имеют ли φ_1 и φ_2 одинаковое количество удовлетворяющих назначений, а не обязательно один и тот же набор удовлетворяющих назначений.
Цуёси Ито

1
@ Tsuyoshi: На основании вашего определения , GI в C = P ? Я думаю , что по крайней мере GI F P C = P . C=PC=PFPC=P
Майк Чен

1
@Mike: Спасибо за интересный комментарий. Вы говорите о результате этого изоморфизма графов SPP (Арвинд и Курур 2006 dx.doi.org/10.1016/j.ic.2006.02.002 )? Если это так, вы правы; SPP содержится в , так что изоморфизм графов ∈ C = P . C=PC=P
Цуёси Ито

1
@Mike: я узнал, что перед результатом GraphIso∈SPP было известно, что GraphIso ∈ LWPP : Köbler, Schöning и Torán 1992 . Поскольку LWPP ⊆ WPP , мы не нуждались в более сильный результат, Арвинд и Kurur сказать , что GraphIso∈ C = P . C=PC=P
Цуёси Ито

6

Вот небольшая вариация на оригинальный вопрос. Пусть - оракул, который на входе ( f 1 , f 2 ) выдает 1, если CNF f 1 имеет больше решений, чем CNF f 2 .O(f1,f2)f1f2

Учитывая этот оракул, мы строим многовременную машину которая может решить # P-полную задачу вычисления числа решений для данного CNF φ . Заметим, что φ может иметь экспоненциальное число решений.Mφφ

работает следующим образом: он генерирует формулы с известным числом решений и, используя бинарный поиск и, задавая большинство полиномиальных запросов к O , находит формулы φ i, которые имеютто жечисло решений, что и φ . Наконец, выводится количество только что найденных решений.MOφiφ

Это показывает, что имеет сложность #P.MO


Простите мое невежество, но как вы генерируете формулу с заранее определенным количеством решений?
Джорджио Камерани

3
M=i=0kmi2iSimi=1x0,,xky0,,ykiSFi{x0,,xki} are true AND among {y0,,yk} only yi is true." Fi has 2i satisfying assignments (the variables {xki+1,,xk} are free), and for ij, the satisfying assignments of Fi and Fj are disjoint due to the y variables. The formula iSFi has M satisfying assignments.
mikero

Note that it is PP-complete to decide whether, given two CNF formulas f_1 and f_2, f_1 has more satisfying assignments than f_2 or not.
Tsuyoshi Ito

@mikero: Ah, stupid me! I should have imagined that. Thanks for your illuminating explanation.
Giorgio Camerani

5

It seems like it's atleast NP-hard as one can easily construct a SAT formula with just one solution. Then by the Valiant-Vazirani theorem, there's a probabilistic reduction from every SAT formula to a set of Unique-SAT problems (determining whether a formula has a unique solution) and comparing those Unique-SAT problems with the constructed SAT formula with just one solution enables you to determine the satisfiability of the SAT formula under consideration.


To be precise, the first sentence should mention “under randomized reducibility” (although you mention it in the second sentence).
Tsuyoshi Ito
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.