Search Tree

Raphael Collet raph at info.ucl.ac.be
Thu Jan 8 10:57:43 CET 2004


Hi Tilo,

> i have a questions to the Search Tree in Mozart. I have write a Script
> like this (see attached File).
> My question is the Scipt has some solutions but the best solution
> (farthest left) is show in the explorer as light green Node
> (suspended) i cant understand why.
> Can anybody explain that pleas.

Well, I had a very quick look at your program, but did not found what's
going on.  I did not really spend time to understand your stuff.

However, here are some general facts that could guide you.  A "normal"
green node means that the search has succeded, and all the threads and
propagators created by the script are terminated.  The light green node
means that the search has succeded, but there remains at least one
suspended thread or propagator (the computation is said to be "stuck").

The remaining suspension (thread or propagator) could be
 - a propagator blocking on a variable that has not been determined by
   propagation and distribution;
 - a thread blocking on a free variable, *even* if the variable has
   become out of lexical scope.
The latter case comes from a limitation of the implementation of
computation spaces.  The blocked thread is still considered a being part
of the computation, regardless of lexical scope.

I ran your program once, and noticed that whether the solution is stuck
or not (light or normal green) depends on the value of the solution.  My
advice is
 - check that all FD variables in the script are determined (are they
   all distributed?);
 - check that none of your threads blocks on a variable that is never
   determined.


I hope this may help you...

Cheers,

raph
-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
Please send bug reports to bugs at mozart-oz.org.





More information about the mozart-users mailing list