Class Combo

All Implemented Interfaces:
Heuristic, PlanningGraphHeuristic, StateHeuristic, Serializable

public final class Combo extends RelaxedGraphHeuristic
This class implement the combo heuristic. This heuristic improves the adjusted sum heuristic by replacing the computation of the interaction degree of the adjusted sum heuristic. Now, we have the following heuristic:
 combo(S) := hsum(S) + hlvel(S)
 
where
  • hsum(S) is the sum heuristic value and
  • hlev(S) the set-level heuristic value.
Warning: The combo heuristic is not admissible.
See Also:
AdjustedSum, Sum, SetLevel, Serialized Form
  • Constructor Details

    • Combo

      public Combo(Problem problem)
      Creates a new COMBO heuristic for a specified planning problem.
      Parameters:
      problem - the planning problem.
      Throws:
      NullPointerException - if problem == null.
  • Method Details

    • estimate

      public int estimate(State state, Condition goal)
      Return the estimated distance to the goal to reach the specified state. If the return value is Integer.MAX_VALUE, it means that the goal is unreachable from the specified state.
      Parameters:
      state - the state from which the distance to the goal must be estimated.
      goal - the goal expression.
      Returns:
      the distance to the goal state from the specified state.
    • estimate

      public double estimate(Node node, Condition goal)
      Return the estimated distance to the goal to reach the specified state. If the return value is DOUBLE.MAX_VALUE, it means that the goal is unreachable from the specified state.
      Parameters:
      node - the state from which the distance to the goal must be estimated.
      goal - the goal expression.
      Returns:
      the distance to the goal state from the specified state.