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 .