Złożoność sprawdzania, czy dwa CNF mają taką samą liczbę rozwiązań


14

Biorąc pod uwagę dwa CNF, jeśli mają taką samą liczbę zadań, aby były prawdziwe, odpowiedz „Tak”, w przeciwnym razie odpowiedz „Nie”.

Łatwo zauważyć, że jest to w , ponieważ jeśli znamy dokładną liczbę rozwiązań dla tych dwóch CNF, po prostu je kampanujemy i odpowiadamy „Tak” lub „Nie”.P#P

Jaka jest złożoność tego problemu?

Odpowiedzi:


14

Problemem jest coNP- twardy; możesz łatwo zredukować problem UNSAT do tego problemu.

Bardziej precyzyjną charakterystyką jest to, że problemem jest C = P- zupełny. W rzeczywistości jedną z definicji klasy C = P jest to, że jest to klasa problemów, które są wielomianowe w czasie wiele-jednym, które można zredukować do tego samego problemu (zwykle ta definicja jest wyrażona w funkcji GapP ). Ale ponieważ niewiele to mówi, pozwól mi zdefiniować tę klasę w inny sposób.

Niech C = P będzie klasą problemów, które są wielomianowe w czasie wielomianowym, które można sprowadzić do następującego problemu: biorąc pod uwagę obwód logiczny φ i liczbę całkowitą K (binarnie), zdecyduj, czy liczba spełniających przypisań φ jest równa K . Dzięki standardowej redukcji, która pokazuje kompletność # P # 3SAT, możemy ograniczyć φ do formuły 3CNF bez wpływu na klasę. Klasa C = P zawiera klasę o nazwie US , która zawiera zarówno UP, jak i coNP.

Przy tej definicji twój problem to C = P-kompletny. W rzeczywistości twardość C = P jest łatwa do zauważenia z definicji klasy C = P (która wykorzystuje formuły 3CNF).

Aby udowodnić członkostwo w C = P, załóżmy, że musimy zdecydować, czy dwie dane formuły CNF φ 1 i φ 2 mają taką samą liczbę zadowalających zadań, czy nie. Bez utraty ogólności możemy założyć, że dwie formuły mają tę samą liczbę zmiennych, powiedzmy n . Skonstruuj obwód logiczny φ, który przyjmuje n +1 bitów jako dane wejściowe, tak że liczba spełniających przypisań φ jest równa c 1 + (2 n - c 2 ), gdzie c 1 i c 2być liczbami spełniających zadania odpowiednio φ 1 i φ 2 . Wtedy liczba spełniających przypisań φ jest równa 2 n wtedy i tylko wtedy, gdy c 1 = c 2 .


@Kaveh: Czy możesz opracować?
Tsuyoshi Ito,

1
@Kaveh: Nie, nie tego chcemy. Chcemy zdecydować, czy φ_1 i φ_2 mają taką samą liczbę zadowalających zadań, niekoniecznie ten sam zestaw zadowalających zadań.
Tsuyoshi Ito,

1
@Tsuyoshi: Czy w oparciu o twoją definicję , GI w C = P ? I, że przynajmniej GI F P C = P . C=PC=PFPC=P
Mike Chen

1
@ Mike: Dziękuję za interesujący komentarz. Mówisz co powoduje, że izomorfizm grafów ∈ SPP (Arvind i Kurur 2006 dx.doi.org/10.1016/j.ic.2006.02.002 )? Jeśli tak, masz rację; SPP zawarte w , więc Graph Izomorfizm ∈ C = P . C=PC=P
Tsuyoshi Ito,

1
@Mike: Dowiedziałem się, że przed wynikiem GraphIso∈SPP wiadomo było, że GraphIso ∈ LWPP : Köbler, Schöning i Torán 1992 . Od LWPP ⊆ WPP , my nie potrzebujemy silniejszej wynik przez Arvind i Kurur powiedzieć, że GraphIso∈ C = P . C=PC=P
Tsuyoshi Ito,

6

Oto niewielka odmiana pierwotnego pytania. Niech będzie wyrocznią, która na wejściu ( f 1 , f 2 ) wyprowadza 1, jeśli CNF f 1 ma więcej rozwiązań niż CNF f 2 .O(f1,f2)f1f2

Biorąc pod uwagę tę wyrocznię, budujemy maszynę która może rozwiązać # P-całkowity problem obliczania liczby rozwiązań dla danej CNF φ . Zauważ, że φ może mieć wykładniczą liczbę rozwiązań.Mφφ

działa w następujący sposób: Generuje formuł o znanej liczbie rozwiązań, a stosując przeszukiwanie binarne i zadając w większości wielomianowych zapytań do O , to znajdzie formuły cp i który mataką samąliczbę rozwiązań jak cp . W końcu wyświetla liczbę właśnie znalezionych rozwiązań.MOφiφ

To pokazuje, że ma złożoność #p.MO


Wybacz moją niewiedzę, ale jak wygenerować formułę z określoną liczbą rozwiązań?
Giorgio Camerani

3
M=i=0kmi2iSimi=1x0,,xky0,,ykiSFi{x0,,xki}{y0,,yk}yiFi2i{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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.