Bộ giải SAT đa điểm


12

Tôi đang cố gắng giải bài toán 25k mệnh đề 5k biến SAT. Vì nó đã chạy được một giờ (preosat) và tôi muốn giải quyết những vấn đề lớn hơn sau đó, tôi đang tìm kiếm một SAT-Solver đa lõi.

Vì dường như có nhiều SAT-Solvers, tôi khá lạc lõng.

Bất cứ ai có thể chỉ cho tôi một trong những tốt nhất cho trường hợp của tôi?

Tôi cũng rất vui nếu ai đó có thể cho tôi thời gian gần đúng (nếu có thể).


1
Bạn đang tìm kiếm các chương trình làm sẵn? Sau đó, đây không phải là trang web tốt nhất để hỏi. Bạn muốn tìm hiểu về giải SAT? Chào mừng bạn Bạn nói rằng bạn đã tìm kiếm; bạn đã tìm thấy gì Điều gì làm bạn bối rối?
Raphael

Chà, tôi đã xem số lượng chủ đề liên quan đến SAT trên một số diễn đàn StackExchange. Cuối cùng tôi đã chọn quá nhiều giữa CS lý thuyết và CS (và chọn cái sau). Tôi nên yêu cầu một chương trình tên sẵn sàng ở đâu? Cảm ơn.
multsatsolv

Câu trả lời:


8

Hãy nhìn vào kết quả từ cuộc thi SAT 2013 năm nay . Dựa trên những kết quả này, chắc chắn hãy thử Lingeling . Plingeling là biến thể song song của nó.

Nếu bạn không cần phải chứng minh sự không thỏa mãn (có lẽ bạn biết trường hợp đó là thỏa đáng và bạn chỉ cần biết một bài tập làm SAT), bạn cũng có thể thử phương pháp tìm kiếm địa phương.


Cảm ơn. Tôi sẽ xem xét (P) Lingeling. Ngoài ra, tôi không biết nó có thỏa đáng không (mặc dù tốt hơn là nếu không tôi bị mắc kẹt).
multsatsolv

+1. Dựa trên kinh nghiệm của chúng tôi, plingeling chắc chắn là điều bạn nên thử đầu tiên (ít nhất là nếu bạn có một máy tính duy nhất có nhiều lõi và nhiều bộ nhớ). Để có hiệu suất cao hơn nữa, hãy thử tìm một cụm máy tính có càng nhiều nút càng tốt và chạy nhiều phiên bản của lingeling (hoặc plingeling) với các hạt ngẫu nhiên khác nhau.
Jukka Suomela

4

Tôi không chắc chắn về sự tồn tại của các bộ giải đa lõi thực tế, nhưng có một vài dự án và bài báo:

Tôi cũng tìm thấy điểm thú vị này: bạn có thể chạy một bộ giải sat thông thường nhiều lần với các hạt khác nhau trên cùng một vấn đề song song, để có được hiệu ứng đa lõi.

Chỉnh sửa: Kết hợp nhận xét của tôi về ý tưởng của vzn tại đây:

k2k


(Tôi cũng rất vui nếu ai đó có thể cho tôi thời gian gần đúng (nếu có thể) để giải quyết một mệnh đề X biến Y vấn đề SAT.)

mnm,n


Cảm ơn các liên kết. Tôi sẽ đọc một số trong số họ. Tôi hy vọng vấn đề của tôi không quá khó để giải quyết mặc dù.
multsatsolv

@multsatsolv nó phụ thuộc vào vấn đề. Nó cũng phụ thuộc vào mã hóa. Người giải SAT có thể xử lý các bảng mã khác nhau của cùng một vấn đề khác nhau. Và các bộ giải SAT khác nhau có thể tốt hơn ở một mã hóa so với mã hóa khác; không có khoa học nào về điều này (cũng có, nhưng nó vượt quá đáng để cố gắng hiểu, trong quá trình phát triển nhanh chóng của người giải SAT): điều duy nhất cần làm là thử kết hợp các cách mã hóa và giải quyết khác nhau.
Realz Slaw

3

Thực sự có một cách rất đơn giản để biến bất kỳ người giải SAT nào thành phiên bản song song vì SAT là song song lúng túng theo nghĩa sau.

2nn2n


nk

3
Cách tiếp cận này dường như không hoạt động quá tốt trong thực tế. Đối với các trường hợp tích cực, cách tiếp cận sau đây thường tốt hơn nhiều nếu bạn có nhiều máy tính: chỉ cần chạy ví dụ như sử dụng cùng một ví dụ nhưng các hạt ngẫu nhiên khác nhau và đợi cho đến khi một trong những người giải quyết tìm ra giải pháp.
Jukka Suomela

n

1
@vzn: Cách tiếp cận mà bạn đề xuất. Để xem lý do tại sao nó không hoạt động tốt, hãy thử với các trường hợp trong thế giới thực và so sánh nó với những gì tôi đề xuất. :) Cách tiếp cận của bạn sẽ rất có ý nghĩa nếu bạn đang xử lý một thuật toán tìm kiếm quay lui ngây thơ, nhưng người giải SAT hiện đại còn hơn cả tìm kiếm quay lui ngây thơ.
Jukka Suomela

tốt nhưng bạn có thể giải thích bằng lời những gì vấn đề là gì? Cách tiếp cận của bạn có thể hoạt động đối với các trường hợp thỏa đáng, nhưng sẽ không mất thời gian chính xác cùng một lúc để khám phá một trường hợp không thỏa mãn cho dù có bao nhiêu trường hợp riêng biệt được chạy? nếu không, có thể có một giới thiệu để trích dẫn trên subj ...
vzn
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.