Chứng minh NHÂN ĐÔI-SAT là NP-hoàn thành


13

Vấn đề SAT nổi tiếng được định nghĩa ở đây để tham khảo.

Vấn đề NHÂN ĐÔI-SAT được định nghĩa là

DOUBLE-SAT={ϕϕ has at least two satisfying assignments}

Làm thế nào để chúng tôi chứng minh nó là NP-hoàn thành?

Nhiều hơn một cách để chứng minh sẽ được đánh giá cao.

Câu trả lời:


25

Đâ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 ) φNPϕ(x1,,xn)ϕ

Để chỉ ra rằng Double-SAT là -Complete, chúng tôi giảm từ SAT xuống Double-SAT, như sau:NP

Trên đầu vào :ϕ(x1,,xn)

  1. Giới thiệu một biến mới .y
  2. Công thức đầu ra .ϕ(x1,,xn,y)=ϕ(x1,,xn)(yy¯)

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 ϕ(x1,,xn)ϕϕ(x1,,xn,y)yy¯y=1y=0yϕx1xny

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ϕ(x1,,xn)SATϕ(x1,,xn,y)=ϕ(x1,,xn)(yy¯)ϕ'(x1,Giáo dục,xn,y)SAT đôi

Do đó, và do đó Double-SAT là -Complete.N PĐÃ NGỒIpSAT đôiNP


Điều đó đẹp hơn đề xuất của tôi.
Raphael

10

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.SATSATDOUBLE-SAT

Đố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.φφf(φ)φf

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.