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
-