pub struct UMDAConfig {
pub population_size: usize,
pub selection_ratio: f64,
pub min_variance: f64,
pub prob_bounds: (f64, f64),
pub learning_rate: f64,
}Expand description
Configuration for UMDA.
The builder (UMDABuilder) validates these fields in build() and returns
an error for out-of-range values (EV-79) — it no longer silently clamps them.
All fields are public, so constructing UMDAConfig directly is a deliberate
escape hatch that bypasses that validation; if you build the struct by
hand, keep the documented ranges yourself.
Fields§
§population_size: usizePopulation size (must be >= 1).
selection_ratio: f64Selection ratio: the top proportion selected for model learning. Must lie
in the open-closed interval (0.0, 1.0].
min_variance: f64Minimum variance to prevent collapse (continuous). Must be >= 0.0.
prob_bounds: (f64, f64)Probability bounds (min, max) for binary UMDA (to prevent determinism).
Must satisfy 0.0 < min <= max < 1.0.
learning_rate: f64Learning rate for the model update (1.0 = replace, <1.0 = blend with
the previous model). Must lie in (0.0, 1.0]; 0.0 is rejected because it
makes the update a no-op (the model never learns).
Implementations§
Source§impl UMDAConfig
impl UMDAConfig
Sourcepub fn validate(&self) -> Result<(), EvolutionError>
pub fn validate(&self) -> Result<(), EvolutionError>
Validate the configuration ranges (EV-79). Called by build(); returns a
EvolutionError::Configuration describing the first out-of-range field.
Trait Implementations§
Source§impl Clone for UMDAConfig
impl Clone for UMDAConfig
Source§fn clone(&self) -> UMDAConfig
fn clone(&self) -> UMDAConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UMDAConfig
impl Debug for UMDAConfig
Auto Trait Implementations§
impl Freeze for UMDAConfig
impl RefUnwindSafe for UMDAConfig
impl Send for UMDAConfig
impl Sync for UMDAConfig
impl Unpin for UMDAConfig
impl UnsafeUnpin for UMDAConfig
impl UnwindSafe for UMDAConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.