Beispiel #1
0
        // private Heuristics.Heurfun<C, Node<E,A,C>> hf;
        // private PriorityQueue<C, Node<E,A,C>> frontier;
        //
        //! TODO: Is there a better way to include the use
        //! of a heuristic function for AStar graph searches?
        //! Generally, it seems like it would be preferable
        //! to pass in a heuristic function, and add the
        //! result of the heuristic function to the
        //! pathCost of reaching the node from the root
        //! node, like:
        //
        //! delegate (Node<E,A,C> node)
        //! {
        //!     return node.pathCost + hf(node);
        //! }
        //
        //! Problem is, the compiler throws an error because
        //! both values are of type C, and there is no way
        //! to add such values at this point in time. Generally
        //! C should represent a numerical value of some kind
        //! , and hence the addition operator should work.
        //! But the compiler doesn't know this. So what type
        //! restriction can we impose on C?
        //
        //! For now, simply

        /*!
         *
         *
         * @param {Heuristics.Heurfun<Cost, Node<State, Action, Cost>>} hf - a heuristic function which
         */
        public AStarGraphSearch(AbstractProblem <E, A, C> p, Heuristics.Heurfun <C, Node <E, A, C> > hf) : base(p, hf)
        {
        }
Beispiel #2
0
 public GraphSearch(AbstractProblem <E, A, C> problem, Stack <E> stack)
 {
 }
Beispiel #3
0
 public GraphSearch(AbstractProblem <E, A, C> problem, Queue <E> queue)
 {
 }