Package org.drip.graph.astar
Class DynamicWeightFHeuristic
java.lang.Object
org.drip.graph.astar.FHeuristic
org.drip.graph.astar.DynamicWeightFHeuristic
- All Implemented Interfaces:
VertexFunction
public class DynamicWeightFHeuristic extends FHeuristic
DynamicWeightFHeuristic implements the Dynamically Weighted 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 DynamicWeightFHeuristic(VertexFunction gHeuristic, VertexFunction hHeuristic, VertexFunction wHeuristic, double epsilon)
DynamicWeightFHeuristic Constructor -
Method Summary
Modifier and Type Method Description double
epsilon()
Retrieve the "Epsilon" Weightdouble
evaluate(Vertex vertex)
Compute the Value at the Vertexstatic DynamicWeightFHeuristic
Pohl1970(VertexFunction gHeuristic, VertexFunction hHeuristic, VertexFunction depthFunction, double epsilon, double anticipatedSolutionLength)
Construct the Pohl (1970) Version of the DynamicWeightFHeuristicVertexFunction
wHeuristic()
Retrieve the W HeuristicMethods inherited from class org.drip.graph.astar.FHeuristic
gHeuristic, hHeuristic, isConsistent, isMonotone, reducedWeight
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
DynamicWeightFHeuristic
public DynamicWeightFHeuristic(VertexFunction gHeuristic, VertexFunction hHeuristic, VertexFunction wHeuristic, double epsilon) throws java.lang.ExceptionDynamicWeightFHeuristic Constructor- Parameters:
gHeuristic
- The G HeuristichHeuristic
- The H HeuristicwHeuristic
- The W Heuristicepsilon
- Epsilon- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
Pohl1970
public static final DynamicWeightFHeuristic Pohl1970(VertexFunction gHeuristic, VertexFunction hHeuristic, VertexFunction depthFunction, double epsilon, double anticipatedSolutionLength)Construct the Pohl (1970) Version of the DynamicWeightFHeuristic- Parameters:
gHeuristic
- The G HeuristichHeuristic
- The H HeuristicdepthFunction
- The Depth Functionepsilon
- EpsilonanticipatedSolutionLength
- Length of the Anticipated Solution- Returns:
- Pohl (1970) Version of the DynamicWeightFHeuristic
-
epsilon
public double epsilon()Retrieve the "Epsilon" Weight- Returns:
- The "Epsilon" Weight
-
wHeuristic
Retrieve the W Heuristic- Returns:
- The W Heuristic
-
evaluate
Description copied from interface:VertexFunction
Compute the Value at the Vertex- Specified by:
evaluate
in interfaceVertexFunction
- Overrides:
evaluate
in classFHeuristic
- Parameters:
vertex
- The Vertex- Returns:
- The Value
- Throws:
java.lang.Exception
- Thrown if the Input are Invalid
-