public class InvertedPendulum extends java.lang.Object implements DomainGenerator
CartPoleDomain
in which the movement of the pole depends only on gravity and the force applied, and not the velocity of the
underlying cart. The track is also always assumed to be infinite. Therefore, the state space for this domain is fully described by two variables:
the angle and angular velocity of the pole. However, there is also noise included in the actions
of this domain as well a noop action. This version of the inverted pendulum is the version used in the original
Least-Squares Policy Iteration paper [1].
1. Lagoudakis, Michail G., and Ronald Parr. "Least-squares policy iteration." The Journal of Machine Learning Research 4 (2003): 1107-1149.
Modifier and Type | Class and Description |
---|---|
static class |
InvertedPendulum.InvertedPendulumRewardFunction
A default reward function for this domain.
|
static class |
InvertedPendulum.InvertedPendulumTerminalFunction
A default terminal function for this domain.
|
static class |
InvertedPendulum.IPPhysicsParams |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACTION_NO_FORCE
A constant for the name of the no force action (which due to stochasticity may include a small force)
|
InvertedPendulum.IPPhysicsParams |
physParams |
protected RewardFunction |
rf |
protected TerminalFunction |
tf |
Constructor and Description |
---|
InvertedPendulum() |
Modifier and Type | Method and Description |
---|---|
SADomain |
generateDomain()
Returns a newly instanced Domain object
|
RewardFunction |
getRf() |
TerminalFunction |
getTf() |
static void |
main(java.lang.String[] args) |
void |
setRf(RewardFunction rf) |
void |
setTf(TerminalFunction tf) |
public static final java.lang.String ACTION_NO_FORCE
public InvertedPendulum.IPPhysicsParams physParams
protected RewardFunction rf
protected TerminalFunction tf
public RewardFunction getRf()
public void setRf(RewardFunction rf)
public TerminalFunction getTf()
public void setTf(TerminalFunction tf)
public SADomain generateDomain()
DomainGenerator
generateDomain
in interface DomainGenerator
public static void main(java.lang.String[] args)
args
- none expected