public abstract class SARSCollector
extends java.lang.Object
SARSData (state-action-reard-state tuples) that can then be used by algorithms like LSPI for learning.| Modifier and Type | Class and Description |
|---|---|
static class |
SARSCollector.UniformRandomSARSCollector
Collects SARS data from source states generated by a
StateGenerator by choosing actions uniformly at random. |
| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<ActionType> |
actionTypes
The actions used for collecting data.
|
| Constructor and Description |
|---|
SARSCollector(java.util.List<ActionType> actionTypes)
Initializes this collector's action set to use for collecting data.
|
SARSCollector(SADomain domain)
Initializes the collector's action set using the actions that are part of the domain.
|
| Modifier and Type | Method and Description |
|---|---|
abstract SARSData |
collectDataFrom(Environment env,
int maxSteps,
SARSData intoDataset)
Collects data from an
Environment's current state until either the maximum
number of steps is taken or a terminal state is reached. |
abstract SARSData |
collectDataFrom(State s,
SampleModel model,
int maxSteps,
SARSData intoDataset)
Collects data from an initial state until either a terminal state is reached or until the maximum number of steps is taken.
|
SARSData |
collectNInstances(Environment env,
int nSamples,
int maxEpisodeSteps,
SARSData intoDataset)
Collects nSamples of SARS tuples from an
Environment and returns it in a SARSData object. |
SARSData |
collectNInstances(StateGenerator sg,
SampleModel model,
int nSamples,
int maxEpisodeSteps,
SARSData intoDataset)
Collects nSamples of SARS tuples and returns it in a
SARSData object. |
protected java.util.List<ActionType> actionTypes
public SARSCollector(SADomain domain)
domain - the domain containing the actions to usepublic SARSCollector(java.util.List<ActionType> actionTypes)
actionTypes - the action set to use for collecting data.public abstract SARSData collectDataFrom(State s, SampleModel model, int maxSteps, SARSData intoDataset)
s - the initial state from which data should be collected.model - the model of the world to usemaxSteps - the maximum number of steps that can be taken.intoDataset - the dataset into which data will be stored. If null, a dataset is created.public abstract SARSData collectDataFrom(Environment env, int maxSteps, SARSData intoDataset)
Environment's current state until either the maximum
number of steps is taken or a terminal state is reached.
Data is stored into the dataset intoDataset and returned. If intoDataset is null, then it is first created.env - the Environment from which data will be collected.maxSteps - the maximum number of steps to take in the environment.intoDataset - the dataset into which data will be stored. If null, a dataset is created.public SARSData collectNInstances(StateGenerator sg, SampleModel model, int nSamples, int maxEpisodeSteps, SARSData intoDataset)
SARSData object.sg - a state generator for finding initial state from which data can be collected.model - the model of the world to usenSamples - the number of SARS samples to collect.maxEpisodeSteps - the maximum number of steps that can be taken when rolling out from a state generated by StateGenerator sg, before a new rollout is started.intoDataset - the dataset into which the results will be collected. If null, a new dataset is created.public SARSData collectNInstances(Environment env, int nSamples, int maxEpisodeSteps, SARSData intoDataset)
Environment and returns it in a SARSData object.
Each sequence of samples is no longer than maxEpisodeSteps and samples are collected using this object's collectDataFrom(burlap.mdp.singleagent.environment.Environment, int, SARSData)
method. After each call to collectDataFrom(burlap.mdp.singleagent.environment.Environment, int, SARSData), the provided Environment
is sent the Environment.resetEnvironment() message.env - The Environment from which samples should be collected.nSamples - The number of samples to generate.maxEpisodeSteps - the maximum number of steps to take from any initial state of the Environment.intoDataset - the dataset into which the results will be collected. If null, a new dataset is created.