Ich versuche, ein SAT-Problem mit 25k Klauseln und 5k Variablen zu lösen. Da es seit einer Stunde läuft (Precosat) und ich später größere Probleme lösen möchte, suche ich einen Mehrkern-SAT-Solver.
Da es anscheinend viele SAT-Solver gibt, bin ich ziemlich verloren.
Könnte mir jemand das beste für meinen Fall nennen?
Ich würde mich auch freuen, wenn mir jemand die ungefähre Zeit geben könnte (falls möglich).
algorithms
reference-request
parallel-computing
sat-solvers
multsatsolv
quelle
quelle
Antworten:
Schauen Sie sich die Ergebnisse des diesjährigen SAT-Wettbewerbs 2013 an . Versuchen Sie es auf jeden Fall mit Lingeling . Plingeling ist die parallele Variante davon.
Wenn Sie keine Unzufriedenheit nachweisen müssen (vielleicht wissen Sie, dass die Instanz zufriedenstellend ist, und Sie müssen nur eine Zuweisung kennen, die sie zum SAT macht), können Sie auch lokale Suchmethoden ausprobieren.
quelle
Ich bin mir nicht sicher, ob es praktische Multicore-Sat-Solver gibt, aber es gibt einige Projekte und Artikel:
Ich fand auch diesen interessanten Punkt: Sie können einen regulären Sat-Solver mehrmals mit verschiedenen Seeds auf demselben Problem parallel ausführen, um einen Multi-Core-Effekt zu erzielen.
Bearbeiten: Einfügen meiner Kommentare zu vzns Idee hier:
quelle
Es gibt tatsächlich eine sehr einfache Möglichkeit, einen SAT-Solver in eine parallele Version umzuwandeln, da SAT im folgenden Sinne peinlich parallel ist .
quelle