Câu trả lời:
Tìm kiếm Độ phân giải (chỉ áp dụng quy tắc phân giải với một số phương pháp phỏng đoán tốt) là một chiến lược khả thi khác cho người giải SAT. Về mặt lý thuyết, nó mạnh hơn theo cấp số nhân (nghĩa là tồn tại các vấn đề mà nó có bằng chứng ngắn hơn theo cấp số nhân) so với DPLL (chỉ thực hiện phân giải cây mặc dù bạn có thể tăng cường nó bằng cách học không chính đáng để tăng sức mạnh của nó - cho dù điều đó làm cho nó có sức mạnh như độ phân giải chung vẫn còn mở theo như tôi biết) nhưng tôi không biết về một triển khai thực tế hoạt động tốt hơn.
Nếu bạn không giới hạn mình trong việc hoàn thành tìm kiếm, thì WalkSat là một bộ giải tìm kiếm cục bộ có thể được sử dụng để tìm các giải pháp thỏa đáng và vượt trội hơn so với tìm kiếm dựa trên DPLL trong nhiều trường hợp. Người ta không thể sử dụng nó để chứng minh sự không thỏa mãn mặc dù trừ khi người ta lưu trữ tất cả các bài tập đã thất bại, điều đó có nghĩa là yêu cầu bộ nhớ theo cấp số nhân.
Chỉnh sửa: Quên thêm - Các mặt phẳng cắt cũng có thể được sử dụng (bằng cách giảm SAT thành chương trình số nguyên). Cụ thể Gomory cắt đủ để giải quyết bất kỳ chương trình số nguyên nào đến mức tối ưu. Một lần nữa trong trường hợp xấu nhất, có thể cần một số mũ. Tôi nghĩ rằng cuốn sách Tính phức tạp tính toán của Arora & Barak có thêm một vài ví dụ về các hệ thống chứng minh mà về mặt lý thuyết người ta có thể sử dụng cho một cái gì đó như giải SAT. Một lần nữa, tôi thực sự đã thấy một triển khai nhanh chóng của bất cứ điều gì ngoài các phương pháp dựa trên tìm kiếm dựa trên DPLL hoặc địa phương.
Khảo sát lan truyền là một thuật toán khác đã được sử dụng thành công trên một số loại vấn đề SAT, đặc biệt là các trường hợp SAT ngẫu nhiên. Giống như WalkSAT, nó không thể được sử dụng để chứng minh sự không thỏa mãn, nhưng nó dựa trên những ý tưởng rất khác nhau (thuật toán truyền thông điệp) từ WalkSAT.
Có người giải SAT dựa trên tìm kiếm địa phương. Xem, ví dụ, bài viết này để giải thích.
Bạn cũng có thể nói rằng tất cả những người giải CSP cũng là những người giải SAT. Và theo như tôi biết có hai phương pháp được sử dụng trong CSP:
Monte Carlo Tree Search (MCTS) gần đây đã đạt được một số kết quả ấn tượng trên các trò chơi như Go. Ý tưởng cơ bản thô là xen kẽ mô phỏng ngẫu nhiên với tìm kiếm cây. Nó rất nhẹ và dễ thực hiện, trang trung tâm nghiên cứu mà tôi liên kết có chứa nhiều ví dụ, giấy tờ và một số mã.
Previti et al. [1] đã thực hiện một số điều tra sơ bộ về MCTS áp dụng cho SAT. Họ gọi thuật toán tìm kiếm dựa trên MCTS là UCTSAT ("giới hạn tin cậy trên được áp dụng cho cây SAT", nếu bạn muốn). Họ đã so sánh hiệu suất của DPLL và UCTSAT trên các trường hợp từ kho SATLIB, với mục tiêu xem liệu UCTSAT có tạo ra các cây tìm kiếm nhỏ hơn đáng kể so với DPLL hay không.
Đối với các trường hợp tô màu 3-SAT ngẫu nhiên và đồ thị phẳng có kích thước khác nhau, không có sự khác biệt đáng kể. Tuy nhiên, UCTSAT hoạt động tốt hơn cho các trường hợp trong thế giới thực. Kích thước cây trung bình (tính theo số lượng nút) cho bốn trường hợp phân tích lỗi mạch SSA khác nhau là vài nghìn cho DPLL, trong khi luôn nhỏ hơn 200 cho UCTSAT.
DPLL không chỉ định nghiêm ngặt thứ tự truy cập biến và có rất nhiều nghiên cứu thú vị xem xét các chiến lược tấn công đặt hàng biến tối ưu. một số điều này được kết hợp vào logic lựa chọn biến trong các thuật toán SAT. trong một ý nghĩa nào đó, nghiên cứu này là sơ bộ ở chỗ nó chỉ ra rằng các thứ tự tấn công biến đổi khác nhau dẫn đến sự ràng buộc tuần tự khác nhau (tương quan cao với độ cứng của thể hiện) và đưa ra các phương pháp hoặc chiến lược hiệu quả nhất để khai thác cái nhìn sâu sắc rõ ràng này trong giai đoạn đầu nghiên cứu.