pub struct ReplicatorDynamicsMetaSolver { /* private fields */ }Expand description
Replicator-dynamics meta-solver.
Projected replicator dynamics: iterate
x_i ← x_i * (1 + η * (f_i − x · f)) followed by a non-negative
renormalization, where f_i = Σ_j A[i][j] x_j is the expected row
payoff for pure strategy i against the current mixture, and η
is a step size. For symmetric zero-sum games this converges to a
symmetric Nash equilibrium (Hofbauer & Sigmund 2003) without needing
an LP solver. Slightly faster than fictitious play on
continuous-payoff matrices but less robust to ties.
Implementations§
Trait Implementations§
Source§impl Clone for ReplicatorDynamicsMetaSolver
impl Clone for ReplicatorDynamicsMetaSolver
Source§fn clone(&self) -> ReplicatorDynamicsMetaSolver
fn clone(&self) -> ReplicatorDynamicsMetaSolver
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 ReplicatorDynamicsMetaSolver
impl Debug for ReplicatorDynamicsMetaSolver
Auto Trait Implementations§
impl Freeze for ReplicatorDynamicsMetaSolver
impl RefUnwindSafe for ReplicatorDynamicsMetaSolver
impl Send for ReplicatorDynamicsMetaSolver
impl Sync for ReplicatorDynamicsMetaSolver
impl Unpin for ReplicatorDynamicsMetaSolver
impl UnsafeUnpin for ReplicatorDynamicsMetaSolver
impl UnwindSafe for ReplicatorDynamicsMetaSolver
Blanket Implementations§
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
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