Vấn đề là coNP -hard; bạn có thể dễ dàng giảm vấn đề UNSAT cho vấn đề này.
Một đặc điểm chính xác hơn là vấn đề là C = P -complete. Trong thực tế, một định nghĩa của lớp C = P là nó là loại vấn đề thuộc nhiều thời gian đa thức có thể giảm được cho chính vấn đề này (thông thường định nghĩa này được nêu trong các hàm của GapP ). Nhưng vì điều này không nói lên nhiều, hãy để tôi định nghĩa lớp này theo một cách khác.
Cho C = P là lớp của các vấn đề đó là thời gian đa thức nhiều mốt rút gọn về các vấn đề sau đây: cho một mạch boolean φ và một số nguyên K (ở dạng nhị phân), quyết định số lượng đáp ứng nhiệm vụ của φ bằng K . Bằng cách giảm tiêu chuẩn cho thấy mức độ hoàn thành # P của # 3SAT, chúng tôi có thể hạn chế φ thành công thức 3CNF mà không ảnh hưởng đến lớp. Lớp C = P chứa một lớp được gọi là US , chứa cả UP và coNP.
Với định nghĩa này, vấn đề của bạn là C = P-Complete. Trên thực tế, độ cứng C = P dễ dàng nhận thấy từ định nghĩa của lớp C = P (sử dụng các công thức 3CNF).
Để chứng minh tư cách thành viên trong C = P, giả sử rằng chúng ta phải quyết định xem hai công thức CNF đã cho φ 1 và φ 2 có cùng số lượng bài tập thỏa mãn hay không. Không mất tính tổng quát, chúng ta có thể giả sử rằng hai công thức có cùng số biến, giả sử n . Xây dựng một mạch boolean φ mà mất n 1 bit như là đầu vào do đó số lượng đáp ứng nhiệm vụ của φ là tương đương với c 1 + (2 n - c 2 ), nơi c 1 và c 2là số lượng các bài tập thỏa mãn lần lượt là φ 1 và φ 2 . Khi đó số lượng bài tập thỏa mãn của φ bằng 2 n khi và chỉ khi c 1 = c 2 .