Class Planner<S extends Search>

java.lang.Object
edu.uky.ai.planning.Planner<S>
Type Parameters:
S - the kind of search done by this planner
Direct Known Subclasses:
PlanGraphPlanner, PlanSpacePlanner, StateSpacePlanner

public abstract class Planner<S extends Search> extends Object
A planner is an algorithm which solves a planning problem by finding a plan.
Author:
Stephen G. Ware
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final String
    The name of the planner
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new planner with a given name.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract S
    makeSearch(Problem problem, SearchBudget budget)
    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.
    final Result
    solve(Problem problem, int maxNodes, long maxTime)
    Returns a solution to the given problem.
    final Result
    solve(Problem problem, SearchBudget budget)
    Returns a solution to the given problem.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • name

      public final String name
      The name of the planner
  • Constructor Details

    • Planner

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

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • solve

      public final Result solve(Problem problem, int maxNodes, long maxTime)
      Returns a solution to the given problem.
      Parameters:
      problem - the problem for which to find a solution
      maxNodes - the maximum number of nodes the planner may visit during search
      maxTime - the maximum number of milliseconds the planner may search
      Returns:
      a result object describing the result of the search
    • solve

      public final Result solve(Problem problem, SearchBudget budget)
      Returns a solution to the given problem.
      Parameters:
      problem - the problem for which to find a solution
      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 result object describing the result of the search
    • makeSearch

      protected abstract S makeSearch(Problem problem, SearchBudget budget)
      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.
      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