 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
• |
Looking
forward:
|
|
|
|
– |
Consistency
preprocessing:
|
|
|
|
– |
Constraint
propagation: As variables are
|
|
|
instantiated,
compute some level of impact on
|
|
|
future
variable assignments
|
|
|
• |
Looking
backward: intelligent backtracking
|
|
|
Rather
than doing simple DFS backtracking,
|
|
|
backtrack
to the cause of the constraint
|
|
|
violation.
|
|