0.02
No release in over 3 years
Low commit activity in last 3 years
ruby binding for MiniSat, an open-source SAT solver
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

 Project Readme

Minisat

ruby-minisat is ruby binding for MiniSat, an open-source SAT solver.

Installation

$ gem install ruby-minisat

Usage

A brief example that solves a simple SAT problem:

# solve (a or b) and (not a or b) and (a or not b)

require "minisat"
solver = MiniSat::Solver.new

a = solver.new_var
b = solver.new_var

solver << [a, b] << [-a, b] << [a, -b]

p solver.solve  #=> true (satisfiable)

p solver[a]  #=> true
p solver[b]  #=> true

For more examples, see the examples directory in the distribution.

Copyright

ruby-minisat is covered under the MIT License. This package includes MiniSat in the directory minisat which is also distributed under the MIT License. See minisat/minisat/LICENSE.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request