示例#1
0
def solve(problem):
    "Return a satisfying assignment for problem, or None if impossible."
    variables = sat.problem_variables(problem)
    for env in gen_assignments(variables):
        if sat.seems_consistent(problem, env):
            return env
    return None
示例#2
0
def solve(problem):
    "Return a satisfying assignment for problem, or None if impossible."
    variables = sat.problem_variables(problem)
    for env in gen_assignments(variables):
        if sat.seems_consistent(problem, env):
            return env
    return None
示例#3
0
def solving(problem, env, variables):
    "Try to extend a consistent assignment for problem to a satisfying one."
    if not sat.seems_consistent(problem, env):
        return None
    if not variables:
        return env
    v, variables = variables[0], variables[1:]
    for value in (False, True):
        result = solving(problem, assign(v, value, env), variables)
        if result is not None:
            return result
    return None