Interface Planner

  • All Implemented Interfaces:

    
    public interface Planner<S extends PlanningSystem, W extends WorldState, P extends Plan>
    
                        

    A planner is a system that can plan from a set of actions to a set of goals. A planner should have a way of determining present state, such as the GOAP WorldStateDeterminer. The representation of state can differ between planners.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract W worldState() Current world state
      abstract P planToGoal(Collection<Action> actions, Goal goal) Plan from here to the given goal
      List<P> plansToGoals(PlanningSystem system) Return the best plan to each goal from the present world state.
      P bestValuePlanToAnyGoal(PlanningSystem system) Return the best plan to any goal
      abstract S prune(S planningSystem) Return a PlanningSystem that excludes all actions that cannot help achieve one of the goals from the present world state.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • worldState

         abstract W worldState()

        Current world state

      • plansToGoals

         List<P> plansToGoals(PlanningSystem system)

        Return the best plan to each goal from the present world state. The plans (one for each goal) are sorted by net value, descending.

      • prune

         abstract S prune(S planningSystem)

        Return a PlanningSystem that excludes all actions that cannot help achieve one of the goals from the present world state.