Tại sao có sự khác biệt rất lớn giữa những người giải SAT?


25

Người giải SAT rất quan trọng trong các cuộc tấn công đại số , ví dụ walksatminisat .

Tuy nhiên, khi giải quyết các vấn đề điểm chuẩn có sẵn ở đây, có một sự khác biệt lớn về hiệu năng giữa hai - Walksat nhanh hơn nhiều so với minisat cho những vấn đề này. Tại sao lại thế này?

Việc triển khai walksat này dường như có một số cải tiến về hiệu suất - có lý do nào khiến nó không được đưa vào các Cuộc thi SAT quốc tế không?


Câu hỏi thứ hai của bạn, về lý do tại sao một thuật toán nhất định bị loại khỏi một đối thủ cạnh tranh nhất định, có lẽ nằm ngoài phạm vi của trang web này. Câu hỏi đầu tiên của bạn, về những gì làm cho một thuật toán thường nhanh hơn thuật toán khác, tôi nghĩ là trò chơi công bằng, nhưng có thể cần một số lời khuyên để làm cho nó thân thiện hơn với lý thuyết.
Lev Reyzin

Lưu ý ngắn: Minisat khá cũ, dường như không được duy trì và cũng không tham gia cuộc thi. Ngoài ra, ý của bạn là "khổng lồ" và bạn đang đề cập đến bài hát nào (ngẫu nhiên / thủ công / ứng dụng)?
Radu GRIGore

5
@Radu: MiniSAT 2.2.0 đã được phát hành vào tháng 7 năm 2010. Tôi không nói rằng nó không được duy trì. Ngoài ra, mã khá ổn định và sạch sẽ, vì vậy các bản cập nhật không thường xuyên có thể không phải là một vấn đề. Tôi đồng ý mặc dù rằng người giải quyết mới hơn phản ánh tốt hơn trạng thái của nghệ thuật.
Vijay D

1
Câu hỏi được đăng chéo từ Crypto.SE crypto.stackexchange.com/questions/153/ .
M. Alaggan

Câu trả lời:


33

Vâng, có một sự khác biệt lớn giữa MiniSAT và WalkSAT. Trước tiên, hãy làm rõ - MiniSAT là một triển khai cụ thể của lớp thuật toán DPLL / CDCL chung sử dụng quay lui và học mệnh đề, trong khi WalkSAT là tên chung cho một thuật toán xen kẽ giữa các bước tham lam và các bước ngẫu nhiên.

Nói chung DPLL / CDCL nhanh hơn nhiều đối với các trường hợp SAT có cấu trúc trong khi WalkSAT nhanh hơn trên k-SAT ngẫu nhiên . Các trường hợp SAT công nghiệp và ứng dụng có xu hướng có nhiều cấu trúc, do đó DPLL / CDCL chiếm ưu thế trong hầu hết các bộ giải SAT hiện đại. Tuy nhiên, trường hợp một kỹ thuật có thể thắng, đó là một lý do tại sao người giải quyết danh mục đầu tư đã trở nên phổ biến.

Tôi có rất nhiều vấn đề với tuyên bố của bạn rằng WalkSAT nhanh hơn nhiều so với MiniSAT trên các phiên bản trên trang đó. Đối với một điều, có rất nhiều trường hợp SAT ở đó - bạn đã thử so sánh chúng với bao nhiêu? WalkSAT hoàn toàn không cạnh tranh trên hầu hết các trường hợp có cấu trúc, đó là lý do tại sao nó không thường thấy trong các cuộc thi.

Một lưu ý phụ - Vijay nói đúng rằng MiniSAT vẫn có liên quan. Trên thực tế, vì là nguồn mở và được viết tốt, MiniSAT là người giải quyết để đánh bại để cho thấy rằng một tối ưu hóa nhất định đã hứa hẹn. Nhiều người tự điều chỉnh MiniSAT để thể hiện sự tối ưu hóa của mình - hãy xem danh mục "MiniSAT hack" trong các cuộc thi SAT gần đây.


17

Có một sự khác biệt rất lớn giữa các trường hợp sat . SAT giải có thể thực hiện tốt trên lớp của trường, nhưng kém trên lớp của trường, trong khi giải hoạt động tốt trên lớp và kém trên lớp .X Y B Y XAXYBYX

Một bài báo hay để đọc về chủ đề này là bài này của Nudelman et al . Toàn bộ vấn đề của bài viết là xác định các tính năng dễ tính toán của các trường hợp SAT có thể cho bạn biết thuật toán nào có khả năng hoạt động tốt và thuật toán nào không. Sử dụng kỹ thuật này, có thể xây dựng một thuật toán dựa trên danh mục đầu tư sẽ nhanh chóng phân tích một trường hợp vấn đề, sau đó giải quyết trường hợp đó bằng thuật toán phù hợp nhất. Có một sự tiến triển của các bài báo sau đó; googling SATzilla sẽ bật lên rất nhiều tài liệu đọc.

Nếu bạn đang tự hỏi tại sao người giải SAT có thể tốt hơn người giải trong mọi trường hợp, thì tôi đoán đó là sự tiến bộ :). Nếu bạn muốn biết điều gì đặc biệt làm cho người giải quyết tốt, câu trả lời có thể được chuyển thành một số luận án tiến sĩ. Tôi đề nghị bạn bắt đầu với bài báo đó của Nudelman et al .BAB

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.