View Javadoc

1   package cz.cuni.amis.utils.astar;
2   
3   /**
4    * This is an interface containing a method for computing the {@link AStar} heuristic. That means the estimation
5    * how far the goal is from some node that is currently being visited by {@link AStar}.
6    * 
7    * @author Jimmy
8    */
9   public interface AStarHeuristic<NODE> {
10  
11  	/**
12  	 * This is heuristic function.
13  	 * <p><p>
14  	 * <b>WARNING:</b>
15  	 * <p><p>
16  	 * This heuristic must be correct for A* to work correctly, that means
17  	 * the returned distance must be smaller or equal to the real distance
18  	 * and must be monotonic. (In 2D, 3D an euclidean metric will do the job).
19  	 * 
20  	 * @return how far is to the goal from the node
21  	 */
22  	 public int getEstimatedDistanceToGoal(NODE node);
23  	
24  }