This thesis explores three new techniques for increasing the
efficiency of constraint propagation: support for incremental
propagation, improved representation of constraints, and abstractions
to simplify propagation.
Support for incremental propagation is added to a propagator-centered
propagation system by adding a new intermediate layer of abstraction,
advisors, that capture the essential aspects of a variable-centered
system. Advisors are used to give propagators a detailed view of the
dynamic changes between propagator runs. Advisors enable the
implementation of optimal algorithms for important constraints such as
extensional constraints and Boolean linear in-equations, which is not
possible in a propagator-centered system lacking advisors.
Using Multivalued Decision Diagrams (MDD) as the representation for
extensional constraints is shown to be useful for several
reasons. Classical operations on MDDs can be used to optimize the
representation, and thus speeding up the propagation. In particular,
the reduction operation is stronger than the use of DFA minimization
for the regular constraint. The use of MDDs is contrasted and compared
to a recent proposal where tables are compressed.
Abstractions for constraint programs try to capture small and
essential features of a model. These features may be much cheaper to
propagate than the unabstracted program. The potential for abstraction
is explored using several examples.
These three techniques work on different levels. Support for
incremental propagation is essential for the efficient implementation
of some constraints, so that the algorithms have the right
complexity. On a higher level, the question of representation looks at
what a propagator should use for propagation. Finally, the question of
abstraction can potentially look at several propagators, to find cases
where abstractions might be fruitful.
An essential feature of this thesis is an novel model for general
placement constraints that uses regular expressions. The model is very
versatile and can be used for several different kinds of placement
problems. The model applied to the classic pentominoes puzzle will be
used through-out the thesis as an example and for experiments.