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)
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)
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)
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)
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)]
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)]
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)]
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)
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)]