Là nhúng một giải pháp khả thi cho SAT?


10

Tôi quan tâm đến các trường hợp "khó" riêng lẻ của các vấn đề hoàn thành NP.

Ryan Williams đã thảo luận về vấn đề SAT0 tại blog của Richard Lipton . SAT0 hỏi liệu một trường hợp SAT có giải pháp cụ thể bao gồm tất cả 0 không. Điều này khiến tôi suy nghĩ về việc xây dựng các trường hợp SAT có khả năng là "khó".

Hãy xem xét một ví dụ SAT với m khoản và n biến, nơi α = m / n là "đủ lớn", theo nghĩa là nó rơi vào khu vực ngoài sự chuyển pha, nơi hầu hết các trường hợp là không thể thoả mãn. Hãy x là một nhiệm vụ ngẫu nhiên để các giá trị của φ .ϕmnα=m/nxϕ

Có thể sửa đổi để có được một trường hợp mới φ | x , sao cho ϕ | x là "hầu như tương tự" để φ , nhưng cho rằng x là một assigment đáp ứng cho φ | x ?ϕϕ|xϕ|xϕxϕ|x

Chẳng hạn, người ta có thể cố gắng thêm vào mỗi mệnh đề một nghĩa đen được chọn ngẫu nhiên từ giải pháp, điều đó chưa xảy ra trong mệnh đề. Điều này sẽ đảm bảo rằng là một giải pháp.x

Hay điều này là vô vọng, dẫn đến một thuật toán nhanh để tìm ra giải pháp "ẩn", dọc theo các dòng của bài báo gần đây?

Tôi biết về cuộc thảo luận của Cook và Mitchell và công việc họ tham khảo. Tuy nhiên, tôi không thể tìm thấy bất cứ điều gì về những gì xảy ra với cấu trúc của một công thức khi một người cố gắng nhúng một cách rõ ràng một bài tập thỏa mãn vào nó. Nếu đây là văn hóa dân gian, con trỏ sẽ rất được hoan nghênh!

  • Stephen A. Cook và David G. Mitchell, Tìm kiếm những vấn đề khó giải quyết vấn đề thỏa mãn: Một khảo sát , Sê-ri DIMACS trong Toán học rời rạc và Khoa học máy tính lý thuyết 35 1 Biệt17, AMS, ISBN 0-8218-0479-0, 1997. ( PS )

Câu trả lời:


13

Bạn có thể dùng bất cứ công thức và thay đổi nó thành công thức φ ψ x nơi ψ x là một "cứng" SAT dụ có giải pháp duy nhất là x . Một cách để xây dựng một công thức như vậy là sử dụng mật mã: if f : { 0 , 1 } n{ 0 , 1 } n là hoán vị một chiều và chúng tôi chọn x một cách ngẫu nhiên và đặt y = f ( x ) , sau đó chọn một có thể chuyển đổi y thành công thức SAT sao cho xφφψxψxxf:{0,1}n{0,1}nxy=f(x)yxlà giải pháp duy nhất của nó và do đó tìm tương ứng với đảo ngược f . (Chúng ta cần x này là ngẫu nhiên, nhưng điều này tương tự dù sao cũng được giả định nếu chúng ta nghĩ việc tìm x nên khó khăn.)xfxx


Ah, có kích thước đa thức trong φψ x . Cảm ơn! ϕψxϕψx
András Salamon

6

Nếu tôi hiểu chính xác cốt lõi câu hỏi của bạn, bạn muốn lấy một ví dụ tương đối dễ dàng (vì bạn đặt mình vào một khu vực nơi ) và biến nó thành một phần cứng bằng cách nhúng một giải pháp. Tôi nghi ngờ rằng điều này sẽ làm việc.mn>4.3

Dữ liệu thực nghiệm cho thấy rằng, khi xây dựng một thể hiện ngẫu nhiên "xung quanh" một giải pháp được xác định trước , thì trường hợp đó sẽ dễ dàng hơn bình thường (so với các trường hợp tương tự có cùng nm ). Giống như nếu giải pháp ẩn giúp người giải SAT, hướng dẫn nó qua không gian tìm kiếm. Thông thường, để xây dựng một thể hiện như vậy, chúng ta tạo các mệnh đề ngẫu nhiên như bình thường (ví dụ: chọn k chữ ngẫu nhiên và phủ định từng mệnh đề với xác suất p = 1xnmk ) nhưng chúng tôi loại bỏ những mệnh đề không thỏa mãn bởi giải pháp ẩnxcủa chúng tôi. Đối với những gì liên quan đến cách tiếp cận của bạn về xây dựngϕ| xtừ và ví dụ cứngϕ: Tôi chưa bao giờ thử điều đó, nhưng tôi "cảm thấy" điều đóϕ| xsẽ trở nên dễ dàng hơn, nếu không tầm thường. Tôi tin rằng việc làm đó sẽ làm tăng số lần truy cập của chữx(số lần truy cập của chữllà số lần xuất hiện củaltrong một công thức đã cho) và điều này sẽ đưa người giải SAT đến mục tiêu. Có lẽ không gian giải pháp củaφφ| xp=12xϕ|xϕϕ|xxllϕϕ|xsẽ tương tự (nếu không gần như giống hệt nhau), như trong ví dụ SAT0 của Ryan Williams (không gian giải pháp gần như giống hệt nhau, nhưng độ cứng hoàn toàn khác nhau). Bạn đã thử cách tiếp cận của bạn trong thực tế? Sẽ rất thú vị khi xem cùng một người giải SAT hành xử như thế nào trên và trên ϕ | x .ϕϕ|x

EDIT 1 (ngày 23 tháng 9 năm 2010): Sau khi suy nghĩ một chút nữa, tôi cảm thấy rằng thực sự không gian giải pháp sẽ rất khác so với φ 's. Bạn đang thêm một nghĩa đen cho mỗi mệnh đề, vì vậy bạn sẽ trao thêm mức độ tự do cho các mệnh đề đó (nghĩa là mỗi mệnh đề có nhiều cơ hội hơn để thỏa mãn): có lẽ không gian giải pháp kết quả sẽ được chuyển đổi ồ ạt.ϕ|xϕ

ϕx

  1. ϕxx

  2. mxmxxx

xxx


Cảm ơn các ý kiến, tôi đồng ý rằng không gian giải pháp sẽ được thay đổi. Như đã nêu trong câu hỏi, tôi muốn biết liệu có một cách để sửa đổi công thức để che giấu một giải pháp. Thêm chữ vào mỗi mệnh đề có nghĩa là một bằng chứng tồn tại mà người ta có thể thêm giải pháp vào công thức. Tôi không có ý đề nghị rằng đây là phương pháp duy nhất, tốt nhất hoặc thậm chí là tốt.
András Salamon

xϕ|xϕx

Lý tưởng nhất là người ta muốn một phương pháp tính toán đa thời gian mà không thay đổi không gian giải pháp "quá nhiều" ...
András Salamon

n3log n

3lognn2nn3logn

4

Cách tốt nhất để tạo ra các trường hợp khó khăn của các vấn đề hoàn thành NP mà tôi biết là sử dụng ánh xạ Cook để giảm các trường hợp được chọn cẩn thận của một số vấn đề NP cứng khác (chẳng hạn như vấn đề logarit rời rạc hoặc hệ số nguyên) cho SAT. Đây là những "vấn đề khó" tương tự được các nhà toán học sử dụng để đảm bảo an ninh mật mã trong các giao thức như RSA và Diffie-Hellman.


Xin vui lòng tham khảo?
gphilip

không chắc chắn tại sao downvote cho câu trả lời này. bất cứ ai đã làm nó nên giải thích.
Suresh Venkat
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.