Implementation of Mountain Car task. More...
Classes | |
| class | State |
| Implementation of state of Mountain Car. More... | |
Public Types | |
| enum | Action { backward , stop , forward , size } |
| Implementation of action of Mountain Car. More... | |
Public Member Functions | |
| MountainCar (const double positionMin=-1.2, const double positionMax=0.6, const double positionGoal=0.5, const double velocityMin=-0.07, const double velocityMax=0.07, const double doneReward=0, const size_t maxSteps=0) | |
| Construct a Mountain Car instance using the given constant. More... | |
| State | InitialSample () |
| Initial position is randomly generated within [-0.6, -0.4]. More... | |
| bool | IsTerminal (const State &state) const |
| This function checks if the car has reached the terminal state. More... | |
| size_t | MaxSteps () const |
| Get the maximum number of steps allowed. More... | |
| size_t & | MaxSteps () |
| Set the maximum number of steps allowed. More... | |
| double | Sample (const State &state, const Action &action, State &nextState) |
| Dynamics of Mountain Car. More... | |
| double | Sample (const State &state, const Action &action) |
| Dynamics of Mountain Car. More... | |
| size_t | StepsPerformed () const |
| Get the number of steps performed. More... | |
Implementation of Mountain Car task.
Definition at line 27 of file mountain_car.hpp.
| enum Action |
Implementation of action of Mountain Car.
| Enumerator | |
|---|---|
| backward | |
| stop | |
| forward | |
| size | Track the size of the action space. |
Definition at line 78 of file mountain_car.hpp.
|
inline |
Construct a Mountain Car instance using the given constant.
| positionMin | Minimum legal position. |
| positionMax | Maximum legal position. |
| positionGoal | Final target position. |
| velocityMin | Minimum legal velocity. |
| velocityMax | Maximum legal velocity. |
| doneReward | The reward recieved by the agent on success. |
| maxSteps | The number of steps after which the episode terminates. If the value is 0, there is no limit. |
Definition at line 100 of file mountain_car.hpp.
|
inline |
Initial position is randomly generated within [-0.6, -0.4].
Initial velocity is 0.
Definition at line 180 of file mountain_car.hpp.
References MountainCar::State::Position(), and MountainCar::State::Velocity().
|
inline |
This function checks if the car has reached the terminal state.
| state | desired state. |
Definition at line 195 of file mountain_car.hpp.
References Log::Info, and MountainCar::State::Position().
Referenced by MountainCar::Sample().
|
inline |
Get the maximum number of steps allowed.
Definition at line 215 of file mountain_car.hpp.
|
inline |
Set the maximum number of steps allowed.
Definition at line 217 of file mountain_car.hpp.
Dynamics of Mountain Car.
Get reward and next state based on current state and current action.
| state | The current state. |
| action | The current action. |
| nextState | The next state. |
Definition at line 126 of file mountain_car.hpp.
References MountainCar::IsTerminal(), MountainCar::State::Position(), and MountainCar::State::Velocity().
Referenced by MountainCar::Sample().
Dynamics of Mountain Car.
Get reward based on current state and current action.
| state | The current state. |
| action | The current action. |
Definition at line 168 of file mountain_car.hpp.
References MountainCar::Sample().
|
inline |
Get the number of steps performed.
Definition at line 212 of file mountain_car.hpp.