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




Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • DynamicWeightFHeuristic

      public DynamicWeightFHeuristic​(VertexFunction gHeuristic, VertexFunction hHeuristic, VertexFunction wHeuristic, double epsilon) throws java.lang.Exception
      DynamicWeightFHeuristic Constructor
      Parameters:
      gHeuristic - The G Heuristic
      hHeuristic - The H Heuristic
      wHeuristic - The W Heuristic
      epsilon - 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 Heuristic
      hHeuristic - The H Heuristic
      depthFunction - The Depth Function
      epsilon - Epsilon
      anticipatedSolutionLength - 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

      public VertexFunction wHeuristic()
      Retrieve the W Heuristic
      Returns:
      The W Heuristic
    • evaluate

      public double evaluate​(Vertex vertex) throws java.lang.Exception
      Description copied from interface: VertexFunction
      Compute the Value at the Vertex
      Specified by:
      evaluate in interface VertexFunction
      Overrides:
      evaluate in class FHeuristic
      Parameters:
      vertex - The Vertex
      Returns:
      The Value
      Throws:
      java.lang.Exception - Thrown if the Input are Invalid