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.
DeterministicPlanner.PlanningFailedExceptiongc, internalPolicyactionTypes, debugCode, domain, gamma, hashingFactory, model, usingOptionModel| Constructor and Description |
|---|
BFS(SADomain domain,
StateConditionTest gc,
HashableStateFactory hashingFactory)
BFS only needs reference to the domain, goal conditions, and hashing factory.
|
| Modifier and Type | Method and Description |
|---|---|
SDPlannerPolicy |
planFromState(State initialState)
Plans and returns a
SDPlannerPolicy. |
deterministicPlannerInit, encodePlanIntoPolicy, hasCachedPlanForState, planContainsOption, planHasDupilicateStates, querySelectedActionForState, resetSolveraddActionType, applicableActions, getActionTypes, getDebugCode, getDomain, getGamma, getHashingFactory, getModel, setActionTypes, setDebugCode, setDomain, setGamma, setHashingFactory, setModel, solverInit, stateHash, toggleDebugPrintingclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddActionType, getActionTypes, getDebugCode, getDomain, getGamma, getHashingFactory, getModel, setActionTypes, setDebugCode, setDomain, setGamma, setHashingFactory, setModel, solverInit, toggleDebugPrintingpublic BFS(SADomain domain, StateConditionTest gc, HashableStateFactory hashingFactory)
domain - the domain in which to plangc - the test for goal stateshashingFactory - the state hashing factory to use.public SDPlannerPolicy planFromState(State initialState)
SDPlannerPolicy. If
a State is not in the solution path of this planner, then
the SDPlannerPolicy will throw
a runtime exception. If you want a policy that will dynamically replan for unknown states,
you should create your own DDPlannerPolicy.initialState - the initial state of the planning problemSDPlannerPolicy.