As Thorsten wrote, Mozart uses propagation, and each propagator implements one of the three algorithms you mentioned.

The basic requirement for a propagator is to be able to check the satisfaction of its constraint when all variables are determined. This roughly correspond to the "backtracking" technique.

But in reality most propagators do "forward checking" or "look ahead" by pruning the domains of non yet instanciated variables. What is done is often between the two, because propagators are a compromise between speed and amount of pruning. This is because maximal pruning is sometimes too costly in terms of time complexity.

You can see this in the FD library, for instance. Both propagators FD.distinct and FD.distinctD implement the same constraint. The former only performs forward checking, while the latter performs look ahead. Which one you use depends on the problem.

Cheers,
raph

David López wrote:
Which algorithm occupies mozart - oz, for the problems of type CSP?

Backtracking?

Look-Back?

Forward Checking?


_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to