pub struct FictitiousPlayMetaSolver { /* private fields */ }Expand description
Fictitious-play meta-solver.
Deterministic: each iteration, the row-player best-responds to the
column-player’s empirical mixture, the column-player best-responds
to the row-player’s empirical mixture, and both empirical mixtures
are updated. After iterations rounds the empirical row mixture
converges to the Nash on zero-sum games (Brown 1951, Robinson
1951). No external LP dependency.
§Tuning
The default iterations = 1000 is overkill for n ≤ 8 but cheap
(each step is O(n²)). For very small empirical games this is
equivalent to (and slightly more robust than)
ReplicatorDynamicsMetaSolver.
Implementations§
Trait Implementations§
Source§impl Clone for FictitiousPlayMetaSolver
impl Clone for FictitiousPlayMetaSolver
Source§fn clone(&self) -> FictitiousPlayMetaSolver
fn clone(&self) -> FictitiousPlayMetaSolver
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 FictitiousPlayMetaSolver
impl Debug for FictitiousPlayMetaSolver
Source§impl Default for FictitiousPlayMetaSolver
impl Default for FictitiousPlayMetaSolver
Auto Trait Implementations§
impl Freeze for FictitiousPlayMetaSolver
impl RefUnwindSafe for FictitiousPlayMetaSolver
impl Send for FictitiousPlayMetaSolver
impl Sync for FictitiousPlayMetaSolver
impl Unpin for FictitiousPlayMetaSolver
impl UnsafeUnpin for FictitiousPlayMetaSolver
impl UnwindSafe for FictitiousPlayMetaSolver
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