Ejemplo n.º 1
0
Archivo: expr.py Proyecto: ioram7/cfas
 def satisfy_one(self, assumptions=None):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     return picosat.satisfy_one(self.nvars, self.clauses,
                                assumptions=assumptions)
Ejemplo n.º 2
0
 def satisfy_one(self, assumptions=None):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     return picosat.satisfy_one(self.nvars,
                                self.clauses,
                                assumptions=assumptions)
Ejemplo n.º 3
0
 def satisfy_one(self, assumptions=None, **params):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     verbosity = params.get('verbosity', 0)
     default_phase = params.get('default_phase', 2)
     propagation_limit = params.get('propagation_limit', -1)
     decision_limit = params.get('decision_limit', -1)
     seed = params.get('seed', 1)
     return picosat.satisfy_one(self.nvars, self.clauses, assumptions,
                                verbosity, default_phase, propagation_limit,
                                decision_limit, seed)
Ejemplo n.º 4
0
 def satisfy_one(self, assumptions=None, **params):
     """
     If the input CNF is satisfiable, return a satisfying input point.
     A contradiction will return None.
     """
     verbosity = params.get('verbosity', 0)
     default_phase = params.get('default_phase', 2)
     propagation_limit = params.get('propagation_limit', -1)
     decision_limit = params.get('decision_limit', -1)
     seed = params.get('seed', 1)
     return picosat.satisfy_one(self.nvars, self.clauses, assumptions,
                                verbosity, default_phase, propagation_limit,
                                decision_limit, seed)
Ejemplo n.º 5
0
def test_satisfy_one():
    a, b, c = map(expr, 'abc')
    _, cnf = expr2dimacscnf(a & b & c)
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
Ejemplo n.º 6
0
def test_satisfy_one():
    _, cnf = expr2dimacscnf(expr("And(a, b, c)"))
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
Ejemplo n.º 7
0
def test_satisfy_one():
    a, b, c = map(expr, 'abc')
    _, cnf = expr2dimacscnf(a & b & c)
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]
Ejemplo n.º 8
0
 def solve(self, grid):
     """Return a solution point for a Sudoku grid."""
     soln = satisfy_one(self.S.nvars, self.S.clauses,
                        assumptions=self._parse_grid(grid))
     return self.S.soln2point(soln)
Ejemplo n.º 9
0
def test_satisfy_one():
    _, cnf = expr2dimacscnf(expr("And(a, b, c)"))
    assert picosat.satisfy_one(cnf.nvars, cnf.clauses) == (1, 1, 1)
    assert list(picosat.satisfy_all(cnf.nvars, cnf.clauses)) == [(1, 1, 1)]