Class SumMutex

All Implemented Interfaces:
Heuristic, PlanningGraphHeuristic, StateHeuristic, Serializable

public final class SumMutex extends GraphHeuristic
This class implements the SUM_ID mutex heuristic is an adaptation of the sum heuristic where mutual exclusion are computed. For more details on the sum heuristic see Blai Bonet and Hector Geffner, Planning as Heuristic Search, Artificial Intelligence 129, 2001, Elsevier. Warning: The sum heuristic is not admissible.
See Also:
GraphHeuristic, Sum, Serialized Form
  • Constructor Details

    • SumMutex

      public SumMutex(Problem problem)
      Creates a new SUM_MUTEX 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 distance to the goal state from the specified state. If the return value is Integer.MAX_VALUE, it means that the goal is unreachable from the specified state. More precisely, this method returns the level of the planning graph where all the propositions of the goal are reached without any mutex or Integer.MAX_VALUE otherwise.
      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 or Integer.MAX_VALUE if the goal is unreachable 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.