public class PODomain extends SADomain
SADomain
definition
an ObservationFunction
. It also adds an optional StateEnumerator
since many POMDP algorithms require knowing in advance the full underlying MDP state space. However, not all domains
can enumerate all the states, and therefore this field is not required to be set. If a POMDP algorithm requires
a StateEnumerator
, then it should first check the providesStateEnumerator()
method first. Querying the getStateEnumerator()
when it is unset will result in a Runtime exception.Modifier and Type | Field and Description |
---|---|
protected ObservationFunction |
obsevationFunction
The observation function
|
protected StateEnumerator |
stateEnumerator
The underlying MDP state enumerator
|
actionMap, actionTypes, model
Constructor and Description |
---|
PODomain() |
Modifier and Type | Method and Description |
---|---|
ObservationFunction |
getObservationFunction()
Returns the
ObservationFunction used by this domain. |
StateEnumerator |
getStateEnumerator()
Gets the
StateEnumerator used by this domain to enumerate all underlying MDP states. |
boolean |
providesStateEnumerator()
Indicates whether this domain has a
StateEnumerator defined for it. |
void |
setObservationFunction(ObservationFunction observationFunction)
Sets the
ObservationFunction used by the domain. |
void |
setStateEnumerator(StateEnumerator stateEnumerator)
Sets the
StateEnumerator used by this domain to enumerate all underlying MDP states. |
addActionType, addActionTypes, clearActionTypes, getAction, getActionTypes, getModel, setActionTypes, setActionTypes, setModel
protected ObservationFunction obsevationFunction
protected StateEnumerator stateEnumerator
public void setObservationFunction(ObservationFunction observationFunction)
ObservationFunction
used by the domain.observationFunction
- the ObservationFunction
to be used by the domain.public ObservationFunction getObservationFunction()
ObservationFunction
used by this domain.ObservationFunction
used by this domain.public boolean providesStateEnumerator()
StateEnumerator
defined for it.
If true, then it does provide a StateEnumerator
, if false, then
it does not. POMDP algorithms that require access to a StateEnumerator
should always query this method to check, because querying the getStateEnumerator()
when one is not provided
by this domain will result in a runtime exception.StateEnumerator
, false otherwise.public StateEnumerator getStateEnumerator()
StateEnumerator
used by this domain to enumerate all underlying MDP states.
If no StateEnumerator
is provided by this domain, then a runtime exception
will be thrown. To check if a StateEnumerator
is provided, use the
providesStateEnumerator()
method.StateEnumerator
used by this domain to enumerate all underlying MDP states.public void setStateEnumerator(StateEnumerator stateEnumerator)
StateEnumerator
used by this domain to enumerate all underlying MDP states.stateEnumerator
- the StateEnumerator
used by this domain to enumerate all underlying MDP states.