Liệt kê tất cả các giải pháp của bài toán SAT


11

Tất cả các bộ giải #SAT mà tôi biết, ví dụ RelSat, C2D, chỉ trả về số lượng phiên bản thỏa đáng. Nhưng tôi muốn biết từng trường hợp đó?

Có một bộ giải #SAT như vậy hay tôi nên sửa đổi một bộ giải #SAT có sẵn để làm điều này như thế nào?

Cảm ơn bạn.


7
Điều này thường được gọi là "bộ giải SAT tất cả các giải pháp", nhưng dường như không có sẵn ngoài giá. Các tài liệu tham khảo tôi có thể tìm thấy nói về sửa đổi đối với MiniSAT và các bộ giải khác, thường bằng cách thêm các mệnh đề chặn để loại trừ một giải pháp khi tìm thấy. Mặt khác, hầu hết các bộ giải ràng buộc đều hỗ trợ tạo ra tất cả các giải pháp theo tiêu chuẩn.
András Salamon

một cách tiếp cận là chuyển đổi CNF → DNF có rất nhiều tài liệu
vzn

Câu trả lời:


13

Bạn đang tìm kiếm một giải pháp ALL-SAT hoặc tất cả các giải pháp SAT. Đây là một vấn đề khác với #SAT. Bạn không cần phải liệt kê tất cả các giải pháp để đếm chúng.

Tôi không biết về một công cụ giải quyết vấn đề của bạn bởi vì mọi người thêm các thuật toán này lên trên các bộ giải SAT hiện có nhưng dường như hiếm khi phát hành các tiện ích mở rộng này. Dưới đây là hai bài báo giúp bạn sửa đổi bộ giải CDCL để triển khai ALL-SAT.

Bộ giải SAT hiệu quả tất cả các giải pháp và ứng dụng của nó cho khả năng tiếp cận , O. Grumberg, A. Schuster, A. Yadgar, FMCAD 2004

Đây là một bài viết gần đây được đăng trên arXiv.

Mở rộng các bộ giải SAT hiện đại để liệt kê tất cả các mô hình , Jabbour, Lakhdar Sais, Yakoub Salhi, 2013 cho biết

Bạn có thể thử liên hệ với các tác giả này để thực hiện.


Đối với bài viết thứ hai, bạn chỉ cần nhấp vào phiên bản v1 đầu tiên để xem nó.
Tayfun Trả tiền

Bài báo gần đây này có vẻ liên quan: homes.cs.washington.edu/~sudeepa/UAI2013-ModelCounting.pdf
Kaveh

1
@Kaveh, tôi tin rằng OP đang yêu cầu người giải ALLSAT hoặc cách biến người giải #SAT thành người giải ALLSAT. Đây là một bài viết về giới hạn dưới cho #SAT. Tôi không chắc nó giúp OP.
Vijay D

2

Tôi đã tìm thấy một bài báo gần đây (2014) về All-SAT tại một hội nghị về VLSI, vì vậy nó chắc chắn hướng đến khía cạnh thực tế (có vẻ phù hợp với câu hỏi của OP ở đây, mặc dù ít hơn với cstheory.SE nói chung):

  • "All-SAT sử dụng các điều khoản chặn tối thiểu" của Yinlei Yu, Pramod Subramanyan, Nestan Tsiskaridze, Sharad Malik, VLSI Design 2014. doi: 10.1109 / VLSID.2014.22 .

Đối với những người không có đăng ký IEEE, có một bản sao miễn phí trên trang web Princeton của Subramanyan . (Anh ấy sử dụng dịch vụ chia sẻ tệp để lưu trữ / phân phối các bản sao giấy tờ của mình và tôi không chắc các URL đó ổn định đến mức nào, do đó liên kết vòng xoay này.)

Ý chính của bài báo này dường như là:

Đóng góp của chúng tôi, thuật toán Non-Disjoint-Dec, tạo ra các mệnh đề chặn cực ngắn không chứa bất kỳ biến nào được ngụ ý trong bộ giải. Lưu ý rằng thông thường phần lớn các biến trong một minterm thỏa mãn được ngụ ý. Các mệnh đề chặn ngắn rất có lợi cho hiệu suất của bộ giải như đã được chứng minh trong đánh giá.

Việc triển khai của họ được xây dựng trên MiniSat. Mã nguồn cho phần mở rộng của họ dường như không có sẵn công khai. Mặc dù điều này dường như là một thói quen trong lĩnh vực All-SAT, vì vậy các bài báo trong lĩnh vực này chứa kết quả thử nghiệm chỉ cần thiết lập một số thuật toán đơn giản hơn hoặc ít hơn để đánh bại và có thể hiếm khi được so sánh trực tiếp (về mặt thử nghiệm kết quả) với bất kỳ thuật toán được công bố nào khác cho All-SAT. Bài viết của Jabbour et al. đề cập bởi Vijay D cũng thuộc loại này.

Như tôi không thấy nó được đề cập trong câu trả lời khác (nhưng chỉ trong nhận xét của András Salamon), [các điều khoản chặn phổ biến] techinique đã được giới thiệu trong:

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.