public class BFS extends DeterministicPlanner
If a terminal function is provided via the setter method defined for OO-MDPs, then the search algorithm will not expand any nodes that are terminal states, as if there were no actions that could be executed from that state. Note that terminal states are not necessarily the same as goal states, since there could be a fail condition from which the agent cannot act, but that is not explicitly represented in the transition dynamics.
|Constructor and Description|
BFS only needs reference to the domain, goal conditions, and hashing factory.
|Modifier and Type||Method and Description|
Plans and returns a
deterministicPlannerInit, encodePlanIntoPolicy, hasCachedPlanForState, planContainsOption, planHasDupilicateStates, querySelectedActionForState, resetSolver
addActionType, applicableActions, getActionTypes, getDebugCode, getDomain, getGamma, getHashingFactory, getModel, setActionTypes, setDebugCode, setDomain, setGamma, setHashingFactory, setModel, solverInit, stateHash, toggleDebugPrinting
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public BFS(SADomain domain, StateConditionTest gc, HashableStateFactory hashingFactory)
domain- the domain in which to plan
gc- the test for goal states
hashingFactory- the state hashing factory to use.
public SDPlannerPolicy planFromState(State initialState)
SDPlannerPolicy. If a
Stateis not in the solution path of this planner, then the
SDPlannerPolicywill throw a runtime exception. If you want a policy that will dynamically replan for unknown states, you should create your own
initialState- the initial state of the planning problem