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 .