Das Problem ist coNP-schwer ; Sie können das UNSAT-Problem problemlos auf dieses Problem reduzieren.
Eine genauere Charakterisierung ist, dass das Problem C = P- vollständig ist. Tatsächlich ist eine Definition der Klasse C = P, dass es sich um die Klasse von Problemen handelt, die polynomiell und vielfach auf genau dieses Problem reduzierbar sind (üblicherweise wird diese Definition in Form von GapP- Funktionen angegeben). Aber da dies nicht viel sagt, lassen Sie mich diese Klasse auf eine andere Weise definieren.
Sei C = P die Klasse von Problemen, die sich polynomiell um ein Vielfaches auf folgendes Problem reduzieren lassen: Entscheide bei einer Booleschen Schaltung φ und einer ganzen Zahl K (binär), ob die Anzahl der erfüllenden Zuordnungen von φ gleich K ist . Durch eine Standardreduktion, die die # P-Vollständigkeit von # 3SAT zeigt, können wir φ auf eine 3CNF-Formel beschränken, ohne die Klasse zu beeinflussen. Die Klasse C = P enthält eine Klasse namens US , die sowohl UP als auch coNP enthält.
Mit dieser Definition ist Ihr Problem C = P-vollständig. Tatsächlich ist die C = P-Härte anhand der Definition der Klasse C = P (die 3CNF-Formeln verwendet) leicht zu erkennen .
Um die Zugehörigkeit zu C = P zu beweisen , nehmen wir an, dass wir entscheiden müssen, ob zwei gegebene CNF-Formeln φ 1 und φ 2 die gleiche Anzahl zufriedenstellender Zuordnungen haben oder nicht. Ohne Verlust der Allgemeinheit können wir davon ausgehen, dass die beiden Formeln die gleiche Anzahl von Variablen haben, z . B. n . Konstruieren Sie eine Boolesche Schaltung φ, die n + 1 Bits als Eingabe annimmt, so dass die Anzahl der erfüllenden Zuweisungen von φ gleich c 1 + (2 n - c 2 ) ist, wobei c 1 und c 2sei die Anzahl der erfüllenden Zuordnungen von φ 1 bzw. φ 2 . Dann ist die Anzahl der erfüllenden Zuordnungen von φ genau dann gleich 2 n, wenn c 1 = c 2 ist .
Hier ist eine kleine Variation der ursprünglichen Frage. LassenÖ ein Orakel sein, das bei der Eingabe ( f1, f2) gibt 1 aus, wenn CNF f1 hat mehr Lösungen als CNFf2 .
Angesichts dieses Orakels bauen wir eine Poly-Time-MaschineM Dies kann das # P-vollständige Problem der Berechnung der Anzahl von Lösungen für einen gegebenen CNF lösen φ . Beachten Sie dasφ kann eine exponentielle Anzahl von Lösungen haben.
This shows thatMO has complexity #P.
quelle
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.
quelle