Package org.drip.graph.astar
Class FHeuristic
java.lang.Object
org.drip.graph.astar.FHeuristic
- All Implemented Interfaces:
VertexFunction
- Direct Known Subclasses:
DynamicWeightFHeuristic
,StaticWeightFHeuristic
public class FHeuristic extends java.lang.Object implements VertexFunction
FHeuristic implements the A* F-Heuristic Value at a Vertex. The References are:
- Dechter, R., and J. Pearl (1985): Generalized Best-first Search Strategies and the Optimality of A* Journal of the ACM 32 (3) 505-536
- Hart, P. E., N. J. Nilsson, and B. Raphael (1968): A Formal Basis for the Heuristic Determination of the Minimum Cost Paths IEEE Transactions on Systems Sciences and Cybernetics 4 (2) 100-107
- Kagan, E., and I. Ben-Gal (2014): A Group Testing Algorithm with Online Informational Learning IIE Transactions 46 (2) 164-184
- Russell, S. J. and P. Norvig (2018): Artificial Intelligence: A Modern Approach 4th Edition Pearson
- Wikipedia (2020): A* Search Algorithm https://en.wikipedia.org/wiki/A*_search_algorithm
- Module = Computational Core Module
- Library = Graph Algorithm Library
- Project = Graph Optimization and Tree Construction Algorithms
- Package = A* Heuristic Shortest Path Family
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description FHeuristic(VertexFunction gHeuristic, VertexFunction hHeuristic)
FHeuristic Constructor -
Method Summary
Modifier and Type Method Description double
evaluate(Vertex<?> vertex)
Compute the Value at the VertexVertexFunction
gHeuristic()
Retrieve the G HeuristicVertexFunction
hHeuristic()
Retrieve the H Heuristicboolean
isConsistent(Network<?> graph, Edge edge)
Indicate if the Heuristic is Consistentboolean
isMonotone(Network<?> graph, Edge edge)
Indicate if the Heuristic is Monotonedouble
reducedWeight(Network<?> graph, Edge edge)
Compute the Reduced Weight of the EdgeMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
FHeuristic
FHeuristic Constructor- Parameters:
gHeuristic
- The G HeuristichHeuristic
- The H Heuristic- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
gHeuristic
Retrieve the G Heuristic- Returns:
- The G Heuristic
-
hHeuristic
Retrieve the H Heuristic- Returns:
- The H Heuristic
-
evaluate
Description copied from interface:VertexFunction
Compute the Value at the Vertex- Specified by:
evaluate
in interfaceVertexFunction
- Parameters:
vertex
- The Vertex- Returns:
- The Value
- Throws:
java.lang.Exception
- Thrown if the Input are Invalid
-
isMonotone
Indicate if the Heuristic is Monotone- Parameters:
graph
- The Graphedge
- The Edge- Returns:
- TRUE - The Heuristic is Monotone
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
isConsistent
Indicate if the Heuristic is Consistent- Parameters:
graph
- The Graphedge
- The Edge- Returns:
- TRUE - The Heuristic is Consistent
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
reducedWeight
Compute the Reduced Weight of the Edge- Parameters:
graph
- The Graphedge
- The Edge- Returns:
- The Reduced Weight of the Edge
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-