Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kraks/sat.rkt

A simple SAT solver based on DPLL written in Racket.
https://github.com/kraks/sat.rkt

racket sat-solver scheme

Last synced: 14 days ago
JSON representation

A simple SAT solver based on DPLL written in Racket.

Awesome Lists containing this project

README

        

# SAT.rkt

A simple SAT solver based on DPLL algorithm, written in Racket. Only less than 100 lines of code.

### Usages

Use `raco pkg install SAT` to install this package.

As a library, use `(require SAT)` to load the library,

* use `(solve filepath)` given a filepath of DIMACS file
* use `(get-model)` to get the assignment of variables
* use `(parse-dimacs-file filepath)` to transform content of a DIMACS file to S-Expressions
* use `(check-sat clauses)` to check satisfiability given clauses in S-Expression form

### TODO

* Improve performance, use Conflict-Driven Clause Learning