Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The strength of clasp on normal logic program #109

Open
hharryyf opened this issue Jan 3, 2025 · 3 comments
Open

The strength of clasp on normal logic program #109

hharryyf opened this issue Jan 3, 2025 · 3 comments

Comments

@hharryyf
Copy link

hharryyf commented Jan 3, 2025

I'm trying to use clasp to solve some normal logic programs and it seems like clasp (clingo version 5.7.1) is (much) slower than converting the normal logic program to SAT and solving it with kissat in most UNSAT instances. If I'm not wrong, clasp is using a stable model version of the CDCL algorithm, so my question is which CDCL SAT solver is similar to clasp in terms of solving techniques? In other words, the SAT solver has certain techniques on CNF and clasp has adapted the corresponding technique to normal logic programs. Chaff/Zchaff/Minisat/Cadical?

@BenKaufmann
Copy link
Contributor

so my question is which CDCL SAT solver is similar to clasp in terms of solving techniques? In other words, the SAT solver has certain techniques on CNF and clasp has adapted the corresponding technique to normal logic programs. Chaff/Zchaff/Minisat/Cadical?

clasp contains adaptations of various techniques from various SAT solvers, including MiniSat, SatELite, glucose, RSat, PicoSat, Lingeling, Berkmin, Siege and (z)Chaff.

However, it currently lacks certain inprocessing techniques and heuristics that are e.g. implemented in kissat. Furthermore, clasp is not as highly trained/tuned for typical (competition) SAT problems as most SAT solvers. For example, various (SAT) pre-/in-processing techniques are not enabled by default.

Typically, performance on particular problems can be improved by adjusting some of the many provided options (see clasp --help=3) - either manually or automatically with tools like SMAC. Alternatively, clasp offers a set prefabricated configurations that have shown to be effective in different settings. You can select a specific configuration via option --configuration, e.g. clasp --configuration=trendy.

@hharryyf hharryyf closed this as completed Jan 6, 2025
@hharryyf
Copy link
Author

May I also ask if clasp has adapted any QBF-solving techniques for those sigma-2-p complete disjunctive programs? If yes, what are the referenced QBF solvers?

@hharryyf hharryyf reopened this Jan 31, 2025
@BenKaufmann
Copy link
Contributor

No, clasp does not reference any particular QBF-solving techniques or solvers. Our strategy for solving disjunctive programs is detailed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants