Class MalikAllardFHeuristic

java.lang.Object
org.drip.graph.astar.MalikAllardFHeuristic
All Implemented Interfaces:
VertexFunction

public class MalikAllardFHeuristic
extends java.lang.Object
implements VertexFunction
MalikAllardFHeuristic implements the Statically Weighted Primary/Backtracking 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 Summary

    Constructors
    Constructor Description
    MalikAllardFHeuristic​(FHeuristic foundationFHeuristic, VertexFunction nearAdmissibleHFHeuristic, double foundationFLoading, double nearAdmissibleHFLoading)
    MalikAllardFHeuristic Constructor
  • Method Summary

    Modifier and Type Method Description
    double evaluate​(Vertex<?> vertex)
    Compute the Value at the Vertex
    FHeuristic foundationFHeuristic()
    Retrieve the Foundation F Heuristic
    double foundationFLoading()
    Retrieve the Loading for the Foundation F Heuristic
    VertexFunction nearAdmissibleHFHeuristic()
    Retrieve the Near-admissible HF Heuristic
    double nearAdmissibleHFLoading()
    Retrieve the Loading for the Near-Admissible HF Heuristic

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MalikAllardFHeuristic

      public MalikAllardFHeuristic​(FHeuristic foundationFHeuristic, VertexFunction nearAdmissibleHFHeuristic, double foundationFLoading, double nearAdmissibleHFLoading) throws java.lang.Exception
      MalikAllardFHeuristic Constructor
      Parameters:
      foundationFHeuristic - Foundation F Heuristic
      nearAdmissibleHFHeuristic - Near-admissible HF Heuristic
      foundationFLoading - Loading for the Foundation F Heuristic
      nearAdmissibleHFLoading - Loading for the Near-Admissible HF Heuristic
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • foundationFHeuristic

      public FHeuristic foundationFHeuristic()
      Retrieve the Foundation F Heuristic
      Returns:
      The Foundation F Heuristic
    • nearAdmissibleHFHeuristic

      public VertexFunction nearAdmissibleHFHeuristic()
      Retrieve the Near-admissible HF Heuristic
      Returns:
      The Near-admissible HF Heuristic
    • foundationFLoading

      public double foundationFLoading()
      Retrieve the Loading for the Foundation F Heuristic
      Returns:
      The Loading for the Foundation F Heuristic
    • nearAdmissibleHFLoading

      public double nearAdmissibleHFLoading()
      Retrieve the Loading for the Near-Admissible HF Heuristic
      Returns:
      The Loading for the Near-Admissible HF 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
      Parameters:
      vertex - The Vertex
      Returns:
      The Value
      Throws:
      java.lang.Exception - Thrown if the Input are Invalid