Người giải quyết SAT quyết định


8

Tôi có câu hỏi sau đây. Là người giải SAT có tính quyết định?

Ý tôi là, ví dụ, về thuật toán miniSATDPLL . Họ hoàn toàn xác định?

Nếu các thuật toán này sẽ trả về unSAT, điều đó có nghĩa là chắc chắn giải pháp đó không tồn tại?

Câu trả lời:


14

Các thuật toán cốt lõi như DPLL và các tinh chỉnh của nó như CDCL là hoàn toàn xác định.

Lưu ý rằng tính không xác định không nhất thiết có nghĩa là thuật toán có thể dẫn đến kết quả sai. Ví dụ, chúng ta có thể phân biệt giữa

  • Các thuật toán Monte Carlo , là các thuật toán ngẫu nhiên có đầu ra có thể không chính xác với một số xác suất.

  • Các thuật toán Las Vegas , là các thuật toán ngẫu nhiên có đầu ra luôn chính xác , nhưng thuật toán 'đánh bạc' với các tài nguyên được sử dụng trong tính toán, ví dụ: thời gian chạy trên các đầu vào giống hệt nhau có thể khác nhau.

Ở một thái cực khác là các thuật toán xác suất để giải -SAT như Schöning's [1] là Monte-Carlo, và có hiệu quả rõ rệt trong thực tế vì tính đơn giản hoàn toàn của nó. Điều thú vị là thuật toán của Schöning có thể bị biến thành hoàn toàn mà không bị mất (phần lớn) tính hiệu quả của nó [2].k

Trong thực tế, các bộ giải SAT công nghiệp luôn sử dụng một số mức độ ngẫu nhiên, để 'thoát' khỏi hành vi xấu nhất (= hàm mũ) của các thuật toán dựa trên DPLL. MiniSat là một phần mềm có cấu hình cao và đang phát triển. Điều đó nói rằng, MiniSat không hoàn toàn xác định: sự lựa chọn biến phân nhánh đôi khi được chọn ngẫu nhiên, tùy thuộc vào các tùy chọn dòng lệnh. (Mặc định là 2% biến số phân nhánh được chọn ngẫu nhiên IIRC.) Tương tự như vậy, MiniSAT có tùy chọn khởi tạo điểm số VSIDS một cách ngẫu nhiên. (VSIDS là một heuristic để 'đo lường' ảnh hưởng của một biến.)


  1. U. Schöning, Thuật toán xác suất cho -SAT dựa trên Tìm kiếm và khởi động lại có giới hạnk .

  2. RA Moser, D. Trình lập lịch biểu, Sự biến đổi hoàn toàn của thuật toán -SAT của Schöning k .


Tài liệu tham khảo rất hay.
adrianN

thuật toán monte-carlo có thể nói rằng một vấn đề là SAT khi không, không có giải pháp thỏa đáng hay chỉ là trong trường hợp unSAT, rằng vấn đề có thể là SAT?
Xavier Combelle

@XavierCombelle Điều đó phụ thuộc vào thuật toán cụ thể, mặc dù tôi có một thời gian khó nghĩ về một thuật toán có thể khiến SAT sai. Schöning chỉ bị sai.
Martin Berger

Một phần mở rộng nhỏ - trong khi MiniSat sử dụng tính ngẫu nhiên, thì đó không phải là tính ngẫu nhiên "thật". Mỗi lần chạy MiniSat sẽ tạo ra cùng một câu trả lời, trong cùng một khoảng thời gian (nếu bạn không cấu hình lại bất kỳ tùy chọn nào), vì các lựa chọn "ngẫu nhiên" giống nhau được chọn mỗi lần chạy bộ giải.
Chris Jefferson

@ChrisJefferson Không MiniSAT có cách nào để chỉ định một hạt giống ngẫu nhiên?
Martin Berger

6

Đúng rồi. DPLL khám phá không gian một cách triệt để. Nếu nó trả về 'unat' thì chắc chắn không có sự phân công thỏa mãn nào tồn tại.

Gần đây, các nhà nghiên cứu đã phát triển các bộ giải SAT chứng nhận trả lại bằng chứng (hy vọng ngắn) về sự không thỏa mãn, khi họ trả về "không". Bằng chứng này có thể được kiểm tra bởi bất kỳ ai khác, điều này cung cấp một cách để người khác xác minh rằng công thức này không thỏa mãn mà không cần phải chạy lại thuật toán SAT. Điều này có thể hữu ích trong một số bối cảnh.

MiniSAT là một triển khai, chứ không phải là một thuật toán. Hành vi của nó phụ thuộc vào mã của nó. Tôi không thể nói những gì mã làm.


Tất cả các bộ giải DPLL / CDCL có thể được "tăng cường" để tạo ra bằng chứng về sự không thỏa mãn.
Yuval Filmus

5

Một từ khóa bạn có thể thiếu là tính đầy đủ . Nói chung, một thuật toán tìm kiếm được cho là hoàn chỉnh nếu nó tìm thấy một giải pháp cho nó tồn tại (cho đủ thời gian). Cụ thể, DPLL là một ví dụ về phương pháp tìm kiếm hoàn chỉnh, xác định.


3

Người giải SAT có thể xác định hay không tùy thuộc vào cách họ thực hiện. Lưu ý rằng tính không xác định ở đây chỉ có thể ảnh hưởng đến mô hình được tạo chứ không phải câu trả lời (SAT hoặc UNSAT) của người giải! Đối với mục đích đa dạng hóa và các mục đích khác, người giải SAT thường giới thiệu tính ngẫu nhiên tại một số điểm nhất định: ví dụ: để khởi tạo các hoạt động thay đổi hoặc đưa ra quyết định ngẫu nhiên. Ví dụ, trong minisat, các quyết định ngẫu nhiên được đưa ra bằng cách gọi một fonction luôn trả về cùng một số ngẫu nhiên khi sử dụng cùng một hạt giống ngẫu nhiên. Vì vậy, tại thời điểm này khi bạn không thay đổi bất kỳ cấu hình nào của bộ giải, bạn sẽ luôn có cùng một câu trả lời và cùng một mô hình. Thay đổi hạt giống ngẫu nhiên chẳng hạn sẽ không ảnh hưởng đến câu trả lời (SAT hoặc UNSAT) nhưng có thể thay đổi mô hình và thời gian thực hiện.

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.