FD.distribute never returns and manual constraining fails?
Torsten Anders
torstenanders at gmx.de
Sat Apr 21 18:28:02 CEST 2007
Dear Joshua,
On 20.04.2007, at 19:35, Joshua ben Jore wrote:
> I observed that the domain was getting partially solved already.
Constraint propagation reduces the variable domains even outside a
script. Propagation quasi performs some logical deduction, but never
conducts any decision which is potentially wrong. So, it reduces the
variable domains, but usually does not arrive at a solution where all
variables are determined.
Propagation is complemented by search, which is expressed by both the
distribution strategy (FD.distribute in your case) and the search
engine (e.g. Search.base.one). Propagation and distribution take turns
during the search process: whenever no more propagation can happen, the
distributor makes a decision. Therefore, it waits until all propagators
are finished. This is the waiting behaviour you observed. This is also
the reason why the distributor should be at the end of a script.
A particular advantage of the Oz constraint model is that both the
distribution strategy and the search engine are programmable by the
user. The distribution strategy defines quasi the shape of the search
tree and the search engine defines how this search tree is traversed
for finding a solution.
Best,
Torsten
--
Torsten Anders
Sonic Arts Research Centre • Queen's University Belfast
Frankstr. 49 • D-50996 Köln
Tel: +49-221-3980750
http://strasheela.sourceforge.net
http://www.torsten-anders.de
More information about the mozart-users
mailing list