Arc Consistency and Bound Consistency
Two of the most important local consistencies used by constraint solvers: arc consistency (which removes any value that lacks a supporting value in a neighbor's domain) and bound consistency (a cheaper relaxation that only tightens the min and max of each domain). This lesson defines both, shows how to enforce them on a single constraint, and walks through the propagation that occurs when several constraints interact.
Tutorial
Arc Consistency
A binary constraint links two variables and with current domains and A value is said to have support in if there exists some such that the pair satisfies
The constraint is arc consistent if:
- Every has a support in and
- Every has a support in
To enforce arc consistency, we remove every value from and that lacks a support.
Illustration. Take and the constraint
Check :
Remove from
Check against the updated :
No removals. The constraint is now arc consistent: