SAT solver
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmark_instances
benchmarks
data
instances
plots
scripts
sosat
tests
.gitignore
.travis.yml
LICENSE.txt
README.md
benchmark-ant-ksat_0_5_11.txt
benchmark.py
benchmark.sh
main.py
paper.pdf
requirements-test.txt
requirements.txt
setup.py

README.md

SoSAT

Build Status

A SAT solver that uses different statistical optimization algorithms to solve SAT problems encoded in the DIMACS format. This solver is written in Python and uses Numpy to speed up calculations. The three main algorithms in this solver are a ant colony optimization algorithm, a genetic algorithm, and walkSAT. To support these algorithms, there are some preprocessing algorithms.

Features

  • 3 optimization algorithms
    • ant colony optimization algorithm
    • genetic algorithm
    • walkSAT
  • factorization, reduction and simulated annealing for preprocessing
  • parallel evaluation from different starting points
  • configurable profiles to parameterize the solver

See paper.pdf for more details about implementation details and an evaluation of the algorithms.

Installation

Create a virtual environment

virtualenv venv

Activate the virtual env

source venv/bin/activate

Install the solver

python setup.py install

Run it

sosat --help