[−][src]Struct rsrl_domains::MountainCar
Classic mountain car testing domain.
This problem involves an under-powered car which must ascend a steep hill. Since gravity is stronger than the car's engine, even at full throttle, the car cannot simply accelerate up the steep slope. The car is situated in a valley and must learn to leverage potential energy by driving up the opposite hill before the car is able to make it to the goal at the top of the rightmost hill.1
Technical details
The state is represented by a Vec
with components:
Index | Name | Min | Max |
---|---|---|---|
0 | Position | -1.2 | 0.6 |
1 | Velocity | -0.07 | 0.07 |
References
- Moore, A. W. (1990). Efficient memory-based learning for robot control.
- Singh, S. P., & Sutton, R. S. (1996). Reinforcement learning with replacing eligibility traces. Recent Advances in Reinforcement Learning, 123-158. - Sutton, R. S., & Barto, A. G. (1998). Reinforcement learning: An introduction (Vol. 1, No. 1). Cambridge: MIT press.
Implementations
impl MountainCar
[src]
pub fn new(x: f64, v: f64) -> MountainCar
[src]
Trait Implementations
impl Default for MountainCar
[src]
fn default() -> MountainCar
[src]
impl Domain for MountainCar
[src]
type StateSpace = ProductSpace<Interval>
State space representation type class.
type ActionSpace = Ordinal
Action space representation type class.
fn emit(&self) -> Observation<Vec<f64>>
[src]
fn step(&mut self, action: &usize) -> (Observation<Vec<f64>>, Reward)
[src]
fn state_space(&self) -> Self::StateSpace
[src]
fn action_space(&self) -> Ordinal
[src]
fn transition(
&mut self,
a: Action<Self>
) -> Transition<State<Self>, Action<Self>>
[src]
&mut self,
a: Action<Self>
) -> Transition<State<Self>, Action<Self>>
fn rollout<F>(
self,
pi: F,
step_limit: Option<usize>
) -> Trajectory<State<Self>, Action<Self>> where
F: FnMut(&State<Self>) -> Action<Self>,
Self: Sized,
[src]
self,
pi: F,
step_limit: Option<usize>
) -> Trajectory<State<Self>, Action<Self>> where
F: FnMut(&State<Self>) -> Action<Self>,
Self: Sized,
Auto Trait Implementations
impl RefUnwindSafe for MountainCar
impl Send for MountainCar
impl Sync for MountainCar
impl Unpin for MountainCar
impl UnwindSafe for MountainCar
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,