Constraint learning
In constraint satisfaction backtracking algorithms, constraint learning is a techinque for imporoving efficiency. It works by recording new constraints whenever an inconsistency is found. This new constraint may reduce the search space, as future partial evaluations may be found inconsistent without further search. Clause learning is the name of this technique when applied to propositional satisfiability.
Definition
Backtracking algorithms work by choosing an unassinged variable and recursively solve the problems obtained by assigning a value to this variable. Whenever the current partial solution is found inconsistent, the algorithm goes back to the previously assigned variable, as expected by recursion. A constraint learning algorithm differs because it tries to record some information, before backtracking, in form of a new constraint. This can reduce the further search because the subsequent search may encounter another partial solution that is inconsistent with this new constraint. If the algorithm has learned the new constraint, it will backtrack from this solution, while the original backtracking algorithm would do a subsequent search.
If the partial solution is inconsistent, the problem instance implies the constraint stating that cannot be be true for all at the same time. However, recording this constraint is not useful, as this partial solution will not be encountered again due to the way backtracking proceed. On the other hand, if a subset of this evaluation is inconsistent, the corresponding constraint may be useful in the subsequent search, as the same subset of the partial evaluation may occur again in the search.
See also
Reference
- http://www.ics.uci.edu/~dechter/books/index.html.
{{cite book}}
: Missing or empty|title=
(help); Unknown parameter|First=
ignored (|first=
suggested) (help); Unknown parameter|Last=
ignored (|last=
suggested) (help); Unknown parameter|Publisher=
ignored (|publisher=
suggested) (help); Unknown parameter|Title=
ignored (|title=
suggested) (help); Unknown parameter|Year=
ignored (|year=
suggested) (help) ISBN 1-55860-890-7