The two most popular algorithms for solving Constraint Satisfaction Problems are Forward Checking (
)  and Maintaining Arc Consistency (
)  M
maintains full arc consistency while
maintains a limited form of arc consistency during search. There is no single champion algorithm:
is more efficient on sparse problems which are tightly constrained but
has an increasing advantage as problems become dense and constraints loose. Ideally a good search algorithm should find the right balance —for any problem— between visiting fewer nodes in the search tree and reducing the work that is required to establish local consistency. In order to do so, we maintain
probabilistic arc consistency
during search. The idea is to assume that a support exists and skip the process of seeking a support if the probability of having some support for a value is at least equal to some, carefully chosen, stipulated threshold.
Arc consistency involves revisions of domains, which require support checks to remove unsupported values. In many revisions,
values find some support. If we can predict the existence of a support then a considerable amount of work can be saved. In order to do so, we propose the notions of a
Probabilistic Support Condition
Probabilistic Revision Condition
holds then the probability of having some support for a value is at least equal to the threshold and the process of seeking a support is skipped. If
holds then for each value the probability of having some support is at least equal to the threshold and the corresponding revision is skipped.