Masalahnya adalah coNP -hard ; Anda dapat dengan mudah mengurangi masalah UNSAT untuk masalah ini.
Karakterisasi yang lebih tepat adalah bahwa masalahnya adalah C = P -complete. Bahkan, satu definisi dari kelas C = P adalah bahwa itu adalah kelas masalah yang banyak kali polinomial direduksi menjadi masalah ini (biasanya definisi ini dinyatakan dalam fungsi GapP ). Tetapi karena ini tidak banyak memberi tahu, izinkan saya mendefinisikan kelas ini dengan cara lain.
Biarkan C = P menjadi kelas masalah yang polinomial-waktu banyak-satu direduksi menjadi masalah berikut: diberikan sirkuit boolean φ dan integer K (dalam biner), memutuskan apakah jumlah memuaskan tugas dari φ adalah sama dengan K . Dengan reduksi standar yang menunjukkan kelengkapan # P dari # 3SAT, kita dapat membatasi φ menjadi rumus 3CNF tanpa memengaruhi kelas. Kelas C = P berisi kelas yang disebut US , yang berisi UP dan coNP.
Dengan definisi ini, masalah Anda adalah C = P-complete. Sebenarnya, kekerasan C = P mudah dilihat dari definisi kelas C = P (yang menggunakan rumus 3CNF).
Untuk membuktikan keanggotaan dalam C = P, anggaplah kita harus memutuskan apakah dua formula CNF φ 1 dan φ 2 yang diberikan memiliki jumlah penugasan yang sama atau tidak. Tanpa kehilangan sifat umum kita dapat mengasumsikan bahwa dua formula memiliki jumlah variabel yang sama, katakanlah n . Bangun sirkuit boolean φ yang mengambil n +1 bit sebagai input sehingga jumlah penugasan yang memuaskan φ sama dengan c 1 + (2 n - c 2 ), di mana c 1 dan c 2menjadi jumlah penugasan yang memuaskan masing-masing φ 1 dan φ 2 . Maka jumlah penugasan yang memuaskan φ sama dengan 2 n jika dan hanya jika c 1 = c 2 .