Conflicts
A conflict is a partial assignment that is guaranteed to be infeasible
- any assignment that contains (or is subsumed by) a conflict is infeasible
- [Davis 84; Genesereth 84; de Kleer & Williams 87]
- e.g., if the partial assignment {v3=a3 , v2=a2} is a conflict, then the assignment {v3=a3 , v2=a2 , v1=b1} is infeasible
Requirement: whenever f determines that an assignment is infeasible, it returns a conflict
- if assignment A is infeasible, then A itself is trivially a conflict
- ideally, f returns a minimal infeasible subset of A as a conflict
- conflicts can be generated using dependency tracking in a truth maintenance system