Constraint Propagation: Domain Reduction by Inference
Shrink a CSP before search by removing domain values that cannot satisfy a constraint. Covers support-based pruning, arc consistency, and propagation to a fixed point.
Tutorial
Pruning Unsupported Values
A constraint satisfaction problem assigns each variable a value from its domain so that all constraints hold. Before searching for a solution, we can shrink the problem by removing values that cannot participate in any solution.
Given a binary constraint , a value has support in if there exists some such that is true. A value with no support cannot appear in any solution, so we may safely remove it from . This pruning step is called domain reduction by inference.
To illustrate, let and , with constraint . For each candidate , we check whether some satisfies :
After pruning, .