// 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) { }
public GraphSearch(AbstractProblem <E, A, C> problem, Stack <E> stack) { }
public GraphSearch(AbstractProblem <E, A, C> problem, Queue <E> queue) { }