Skip to content

domoritz/SoSAT

Repository files navigation

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

Releases

No releases published

Packages

No packages published