Class PlanGraphPlanner

java.lang.Object
edu.uky.ai.planning.Planner<PlanGraphSearch>
edu.uky.ai.planning.pg.PlanGraphPlanner

public abstract class PlanGraphPlanner extends Planner<PlanGraphSearch>
A planner which searches a PlanGraph for a subgraph that represents a solution to a planning problem. All such planners share a two-phase search process: First, the plan graph is extended, then it is searched for a solution. If no solution is found, the graph is extended farther and searched again, and so on, until a solution is found or the planner runs out of resources.
Author:
Stephen G. Ware
  • Constructor Details

    • PlanGraphPlanner

      public PlanGraphPlanner(String name)
      Constructs a new plan graph planner with the given name.
      Parameters:
      name - the name of the planner
  • Method Details

    • makeSearch

      protected PlanGraphSearch makeSearch(Problem problem, SearchBudget budget)
      Description copied from class: Planner
      Given some problem to be solved, and search budget in which to solve it, this method constructs the appropriate kind of Search to solve the problem based on this planner's technique.
      Specified by:
      makeSearch in class Planner<PlanGraphSearch>
      Parameters:
      problem - the problem to be solved
      budget - the search budget, which specifies the maximum number of nodes the planner may visit and maximum amount of time the search can take
      Returns:
      a search object for solving this problem
    • makeSearch

      protected abstract SubgraphSearch makeSearch(PlanGraph graph, SearchBudget budget)
      Creates a SubgraphSearch for the second phase of the planner's search process. By the time this method is called, the plan graph will already have been extended until all goals are non-mutex. This method may be called multiple times per problem, but each time the plan graph will have been extended farther.
      Parameters:
      graph - the plan graph to search for a solution
      budget - the search budget, which specifies the maximum number of nodes that may be visited and maximum amount of time that may be spent
      Returns:
      the second phase of the search process