Câu trả lời:
Đây là một giải pháp:
Rõ ràng Double-SAT thuộc về , vì NTM có thể quyết định Double-SAT như sau: Trên công thức nhập Boolean , không đoán được 2 bài tập và xác minh xem cả hai có thỏa mãn . φ ( x 1 , ... , x n ) φ
Để chỉ ra rằng Double-SAT là -Complete, chúng tôi giảm từ SAT xuống Double-SAT, như sau:
Trên đầu vào :
Nếu thuộc về SAT, thì có ít nhất 1 nhiệm vụ thỏa mãn và do đó có ít nhất 2 nhiệm vụ thỏa mãn khi chúng ta có thể đáp ứng mệnh đề mới ( ) bằng cách gán hoặc cho biến mới , vì vậy ( , ..., , ) Double-SAT.φ φ ' ( x 1 , ... , x n , y ) y ∨ ˉ y y = 1 y = 0 y φ ' x 1 x n y ∈
Mặt khác, nếu , thì rõ ràng cũng không có nhiệm vụ thỏa mãn, vì vậy .φ ' ( x 1 , ... , x n , y ) = φ ( x 1 , ... , x n ) ∧ ( y ∨ ˉ y ) φ ' ( x 1 , ... , x n , y ) ∉ đúp SAT
Do đó, và do đó Double-SAT là -Complete.N P
Bạn biết rằng là NP-đầy đủ. Bạn có thể tìm thấy sự giảm từ thành không? Đó là, bạn có thể thao tác một công thức thỏa đáng để kết quả có ít nhất hai bài tập thỏa mãn không? Lưu ý rằng thao tác tương tự không thể làm cho các công thức không phù hợp thỏa đáng.
Đối với bất kỳ công thức , công thức có ít nhất hai lần số lượng các xác nhận thỏa mãn là , với một phép đồng hình đổi tên tất cả các biến thành tên mới.