sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.3k stars 447 forks source link

SAT Solver Interface #11479

Closed 75e7fb91-3597-4c8d-83a5-ad18747e8640 closed 10 years ago

75e7fb91-3597-4c8d-83a5-ad18747e8640 commented 13 years ago

Since sage does not have any boolean satisfiablity support, we should change this :-)

Implement a simple interface to SAT solvers:

Ideas: 1) Data structures

Further ideas: 5) direct C++ Interface (suggested by Martin)

Some ideas are attached:

CC: @malb @nathanncohen @haraldschilly @sagetrac-tmonteil

Component: misc

Author: Johannes Fichte

Issue created by migration from https://trac.sagemath.org/ticket/11479

75e7fb91-3597-4c8d-83a5-ad18747e8640 commented 13 years ago

Attachment: backend.py.gz

Basic backend

75e7fb91-3597-4c8d-83a5-ad18747e8640 commented 13 years ago

Clause, CNFFormula

75e7fb91-3597-4c8d-83a5-ad18747e8640 commented 13 years ago

Attachment: sat.py.gz

String Processing for MiniSAT

edd8e884-f507-429a-b577-5d554626c0fe commented 13 years ago
comment:1

Attachment: minisat.py.gz

williamstein commented 12 years ago
comment:2

See also #418.

kcrisman commented 12 years ago
comment:3

See also #418.

Given recent activity there, is this a dup? Of course, there is code here (and #11479) which could be useful, so I won't make that call.

75e7fb91-3597-4c8d-83a5-ad18747e8640 commented 12 years ago
comment:4

418 interacts only with cryptominisat. #5671 gives a wrapper for miniSAT. RSat and others are still interesting. I suggested here to create a common wrapper for many solvers, but also to create a string-based interface (create DIMACS and parse output) for solvers that are neither open source nor provide a wrapper. I think we should merge the work.

malb commented 12 years ago
comment:5

Agreed! I started from scratch because it was simpler for me but we should merge. Perhaps you could add a "DIMACS" solver to sage.sat.solvers which would understand the same commands as my cryptominisat solver interface (which we can change to suite your needs as well). This way my higher level code would still be applicable, e.g., the ANF to CNF conversion and the solve() function?

malb commented 12 years ago
comment:6

I added DIMACS solvers to !#418.

malb commented 11 years ago
comment:7

What are we going to do with this ticket? There hasn't been any movement in months and there's #418? Close it?

mezzarobba commented 10 years ago
comment:10

Most of the suggested features now seem to be available in sage.sat, but some ideas may still be relevant. What do people think?

malb commented 10 years ago
comment:11

Wouldn't it be better to open a new ticket for (each of) the features that you consider missing from sage.sat?

kcrisman commented 10 years ago
comment:12

Wouldn't it be better to open a new ticket for (each of) the features that you consider missing from sage.sat?

I agree. With that in mind, let's also close #5671 and open new tickets for new features. mmezzarobba, is that okay?

mezzarobba commented 10 years ago
comment:13

Replying to @kcrisman:

Wouldn't it be better to open a new ticket for (each of) the features that you consider missing from sage.sat?

I agree. With that in mind, let's also close #5671 and open new tickets for new features. mmezzarobba, is that okay?

Sorry, apparently I wasn't clear: I was actually suggesting to close this ticket (hence the change to the milestone field), and I don't feel a need for new tickets about the ideas listed here, but I thought some of the ticket's participants might.

6bdad4c1-1e26-4f2f-a442-a01a2292c181 commented 10 years ago
comment:14

Oh. PLease add me in CC of any sat-related ticket you might create :-)

Nathann