One of the benefits of having first-class search in the language is that you can customize the search strategy independently of the problem. So yeah, you could easily roll your own BFS, but you could just as easily e.g. roll your own A* with a heuristic customized to your problem domain. (I think it would be possible to "train" neural networks by non-deterministically assigning weights, and a search heuristic based off of training set error (vs. error deltas). On small networks, this might yield better solutions than back-propagation for problem spaces that have lots of local minima.)

In other words, good thinking on looking for a new solver, and keep exploring in that direction.

-Max Wilson

On 3/31/06, Chris Rathman <[EMAIL PROTECTED]> wrote:
The Solve function given in CTM is Depth-First.  I was wondering if
there is a BFSolve function that does a Breadth-First search?  So if I
have the following:

{Browse
   {BFSolveAll
      fun {$}
         choice
            choice 1 [] 3 end
         [] choice 2 [] 4 end
         end
      end}}

Depth first gives the results of [1 3 2 4] whereas a Breadth-First would
give the results of [1 2 3 4].

Probably wouldn't be difficult to modify Solve to change the search
strategy, but then it's even easier just to ask on the Oz mailing list.  :-)

Thanks,
Chris Rathman


--
Be pretty if you are,
Be witty if you can,
But be cheerful if it kills you.
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to