pub enum RlAlgorithm {
QLearning {
alpha: f64,
gamma: f64,
epsilon: f64,
},
Sarsa {
alpha: f64,
gamma: f64,
epsilon: f64,
},
DoubleQLearning {
alpha: f64,
gamma: f64,
epsilon: f64,
},
}Expand description
Reinforcement learning algorithm variant.
Variants§
QLearning
Off-policy TD(0) with greedy target policy.
Fields
Sarsa
On-policy TD(0) — the target action is chosen by the current ε-greedy policy.
Fields
DoubleQLearning
Double Q-learning — maintains two independent Q-tables and randomly selects which to update at each step, reducing the maximisation bias present in standard Q-learning.
Implementations§
Source§impl RlAlgorithm
impl RlAlgorithm
Sourcepub fn hyperparams(&self) -> (f64, f64, f64)
pub fn hyperparams(&self) -> (f64, f64, f64)
Return the (alpha, gamma, epsilon) triple regardless of variant.
Trait Implementations§
Source§impl Clone for RlAlgorithm
impl Clone for RlAlgorithm
Source§fn clone(&self) -> RlAlgorithm
fn clone(&self) -> RlAlgorithm
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RlAlgorithm
impl Debug for RlAlgorithm
Source§impl PartialEq for RlAlgorithm
impl PartialEq for RlAlgorithm
Source§fn eq(&self, other: &RlAlgorithm) -> bool
fn eq(&self, other: &RlAlgorithm) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RlAlgorithm
Auto Trait Implementations§
impl Freeze for RlAlgorithm
impl RefUnwindSafe for RlAlgorithm
impl Send for RlAlgorithm
impl Sync for RlAlgorithm
impl Unpin for RlAlgorithm
impl UnsafeUnpin for RlAlgorithm
impl UnwindSafe for RlAlgorithm
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more