ปัญหาคือcoNP -hard; คุณสามารถลดปัญหา UNSAT ลงในปัญหานี้ได้อย่างง่ายดาย
ลักษณะที่แม่นยำยิ่งขึ้นคือปัญหาคือC = P-สมบูรณ์ ในความเป็นจริงหนึ่งคำจำกัดความของคลาส C = P คือมันเป็นปัญหาที่เป็นพหุนามเวลาหลายคนหนึ่งที่สามารถลดปัญหานี้มาก (ปกติคำจำกัดความนี้จะระบุไว้ในแง่ของฟังก์ชั่นGapP ) แต่เนื่องจากสิ่งนี้ไม่ได้บอกอะไรมากมายผมขอนิยามคลาสนี้ด้วยวิธีอื่น
ปล่อยให้ C = P เป็นคลาสของปัญหาซึ่งเป็นพหุนามเวลาหลาย ๆ ค่าที่ลดลงสำหรับปัญหาต่อไปนี้: กำหนดบูลีนวงจรφและจำนวนเต็มK (ในระบบเลขฐานสอง) ตัดสินใจว่าจำนวนความพึงพอใจที่ได้รับมอบหมายของφเท่ากับK . โดยการลดมาตรฐานซึ่งแสดง # P- ความสมบูรณ์ของ # 3SAT เราสามารถ จำกัดφให้เป็นสูตร 3CNF โดยไม่ส่งผลกระทบต่อชั้นเรียน คลาส C = P มีคลาสที่เรียกว่าUSซึ่งมีทั้งUPและ coNP
ด้วยคำจำกัดความนี้ปัญหาของคุณคือ C = P-complete ที่จริงแล้ว C = P-hardness นั้นดูได้ง่ายจากคำนิยามของ class C = P (ซึ่งใช้สูตร 3CNF)
ในการพิสูจน์ความเป็นสมาชิกใน C = P สมมติว่าเราต้องตัดสินใจว่าสองสูตร CNF ที่กำหนดφ 1และ φ 2มีจำนวนการมอบหมายที่น่าพอใจเท่ากันหรือไม่ โดยไม่สูญเสียของทั่วไปเราสามารถสรุปได้ว่าทั้งสองสูตรมีหมายเลขเดียวกันของตัวแปรพูดn สร้างวงจรบูลีนφซึ่งใช้n +1 บิตเป็นอินพุตเพื่อให้จำนวนการมอบหมายที่น่าพอใจของφเท่ากับc 1 + (2 n - c 2 ) โดยที่c 1และc 2เป็นตัวเลขของการมอบหมายที่น่าพอใจของφ 1และφ 2 2ตามลำดับ จากนั้นจำนวนการมอบหมายที่น่าพอใจของφเท่ากับ 2 nถ้าหากว่าc 1 = c