concepts.dm.pdsketch.csp_solvers.dpll_sampling.dpll_filter_deterministic_clauses#
- dpll_filter_deterministic_clauses(executor, constraints, assignments)[source]#
- Filter out Boolean constraints that have been determined. For example, AND(x, y, z) == true, then
x == true, y == true, z == true. This function will remove the AND(x, y, z) constraint.
There is another case that this function handles: for Boolean constraints, if everything on the LHS is determined, then we can determine the RHS.
- Parameters:
executor (PDSketchExecutor) – the executor.
constraints (List[Constraint | GroupConstraint | None]) – the list of constraints.
assignments (Dict[int, Assignment]) – the dictionary of assignments.
- Returns:
a tuple of (whether we have made progress, the list of constraints that have not been satisfied).
- Return type:
Tuple[bool, List[Constraint | GroupConstraint | None]]