feat(algorithms): add Umda Univariate Marginal Distribution EDA for binary problems
Mühlenbein 1997 UMDA: simplest Estimation-of-Distribution Algorithm for `Vec<bool>` problems. Each generation: - Evaluate the current population - Select the top μ members by fitness - Estimate per-bit marginal probability p_i = (count of 1s at bit i in the μ-best) / μ - Sample population_size new individuals from the resulting product-of- Bernoullis distribution Single-objective only. Bit-wise probabilities are clamped to `[1 / (2 · μ), 1 - 1 / (2 · μ)]` to keep the population from collapsing to a deterministic single string before convergence is meaningful (standard Laplace-style smoothing for UMDA). Tests: solves OneMax (maximize Σ bits) on a 20-bit instance, deterministic reruns, panic on multi-objective.
This commit is contained in:
@@ -17,6 +17,7 @@ pub mod random_search;
|
||||
pub mod simulated_annealing;
|
||||
pub mod spea2;
|
||||
pub mod tabu_search;
|
||||
pub mod umda;
|
||||
|
||||
pub use ant_colony_tsp::*;
|
||||
pub use cma_es::*;
|
||||
@@ -34,3 +35,4 @@ pub use random_search::*;
|
||||
pub use simulated_annealing::*;
|
||||
pub use spea2::*;
|
||||
pub use tabu_search::*;
|
||||
pub use umda::*;
|
||||
|
||||
Reference in New Issue
Block a user