public class MacroAction extends Option
Modifier and Type | Field and Description |
---|---|
protected java.util.List<GroundedAction> |
actionSequence
The list of actions that will be executed in order when this macro-action is called.
|
protected int |
curIndex
the current execution index of the macro-action sequence.
|
cachedExpectations, cachedExpectedRewards, cumulativeDiscount, discountFactor, expectationSearchCutoffProb, expectationStateHashingFactory, externalTerminalFunction, keepTrackOfReward, lastCumulativeReward, lastNumSteps, lastOptionExecutionResults, rand, rf, shouldAnnotateExecution, shouldRecordResults, stateMapping, terminateMapper
actionObservers, domain, name, parameterClasses, parameterOrderGroup
Constructor and Description |
---|
MacroAction(java.lang.String name,
java.util.List<GroundedAction> actionSequence)
Instantiates a macro action with a given name and action sequence.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<Policy.ActionProb> |
getActionDistributionForState(State s,
java.lang.String[] params)
Returns the option's policy distribution for a given state.
|
void |
initiateInStateHelper(State s,
java.lang.String[] params)
This method is always called when an option is initated and begins execution.
|
boolean |
isMarkov()
Returns whether this option is Markov or not; that is, whether action selection and termination only depends on the current state.
|
GroundedAction |
oneStepActionSelection(State s,
java.lang.String[] params)
This method causes the option to take a single step in the given state, when the option was initiated with the provided parameters.
|
double |
probabilityOfTermination(State s,
java.lang.String[] params)
Returns the probability that this option (executed with the given parameters) will terminate in the given state
|
boolean |
usesDeterministicPolicy()
Returns whether this option's policy is deterministic or stochastic
|
boolean |
usesDeterministicTermination()
Returns whether this option's termination conditions are deterministic or stochastic
|
accumulateDiscountedProb, continueFromState, getDeterministicPolicy, getExpectedRewards, getLastCumulativeReward, getLastExecutionResults, getLastNumSteps, getTransitions, init, initiateInState, isAnnotatingExecutionResults, isPrimitive, isRecordingExecutionResults, iterateExpectationScan, keepTrackOfRewardWith, map, oneStep, performActionHelper, setExernalTermination, setExpectationCalculationProbabilityCutoff, setExpectationHashingFactory, setStateMapping, setTerminateMapper, toggleShouldAnnotateResults, toggleShouldRecordResults
addActionObserver, applicableInState, applicableInState, clearAllActionsObservers, deterministicTransition, equals, getAllApplicableGroundedActions, getAllApplicableGroundedActionsFromActionList, getDomain, getName, getParameterClasses, getParameterOrderGroups, getTransitions, hashCode, parametersAreObjects, performAction, performAction
protected java.util.List<GroundedAction> actionSequence
protected int curIndex
public MacroAction(java.lang.String name, java.util.List<GroundedAction> actionSequence)
name
- the name of the macro action.actionSequence
- the sequence of actions the macro action will execute.public boolean isMarkov()
Option
public boolean usesDeterministicTermination()
Option
usesDeterministicTermination
in class Option
public boolean usesDeterministicPolicy()
Option
usesDeterministicPolicy
in class Option
public double probabilityOfTermination(State s, java.lang.String[] params)
Option
probabilityOfTermination
in class Option
s
- the state to test for terminationparams
- any parameters that were applied to this option when it was initiatedpublic void initiateInStateHelper(State s, java.lang.String[] params)
Option
Option.performActionHelper(State, String [])
For Markov options, this method probably does not need to do anything, but for non-Markov options, like Macro actions, it may need
to initialize some structures for determining termination and action selection.initiateInStateHelper
in class Option
s
- the state in which the option was initiatedparams
- the parameters that were passed to the option for executionpublic GroundedAction oneStepActionSelection(State s, java.lang.String[] params)
Option
Option.performActionHelper(State, String [])
method until it is determined that the option terminates.oneStepActionSelection
in class Option
s
- the state in which an action should be selected.params
- the parameters that were passed to the option when it was initiateds
public java.util.List<Policy.ActionProb> getActionDistributionForState(State s, java.lang.String[] params)
Option
getActionDistributionForState
in class Option
s
- the state for which this option's policy distribution should be returnedparams
- the parameters that were passed to the option when it was initiated