Expand description
Estimation-of-distribution algorithms (EDAs).
An EDA replaces the crossover and mutation operators of a classical GA
with an explicit probabilistic model of the promising region of search
space. Each generation runs a fit → sample loop:
- Evaluate the current population (done externally by the harness).
- Truncation-select the best fraction of the population.
fitthe model to those survivors.samplea fresh population.
The model is supplied as a ProbabilityModel; the generic
EdaStrategy driver is model-agnostic. Five reference models ship here:
UnivariateGaussian— UMDA, a per-dimension Gaussian (unweighted MLE,÷kvariance,min_variancefloor; fitness is accepted but ignored).UnivariateBernoulli— PBIL, a per-bit probability vector (no classic probability-mutation step; fitness is used only to identify the best/worst individual).CompactGenetic— cGA, a virtual-population probability vector (winner/loser come from the truncation-selected subset, not a fresh pairwise draw as in classic cGA).DependencyChain— a continuous-Gaussian MIMIC chain capturing pairwise dependencies (fitness accepted but ignored).BayesianNetwork— BOA, a BIC-scored Bayesian network (bounded-in-degree DAG over binary genes; non-incremental, unweighted fit; Pelikan, Goldberg & Cantú-Paz 1999).
The three binary models (UnivariateBernoulli, CompactGenetic, and
BayesianNetwork) emit raw {0, 1} genes; the EdaParams::bounds clamp
is therefore a no-op for them.
§References
- Mühlenbein & Paaß (1996), From recombination of genes to the estimation of distributions I. Binary parameters.
- Baluja (1994), Population-based incremental learning: a method for integrating genetic search based function optimization and competitive learning.
- Harik, Lobo & Goldberg (1999), The compact genetic algorithm.
- De Bonet, Isbell & Viola (1997), MIMIC: Finding optima by estimating probability densities.
- Pelikan, Goldberg & Cantú-Paz (1999), BOA: The Bayesian optimization algorithm.
Re-exports§
pub use bayesian_network::BayesianNetwork;pub use bayesian_network::BayesianNetworkParams;pub use bayesian_network::BayesianNetworkState;pub use compact_genetic::CompactGenetic;pub use compact_genetic::CompactGeneticParams;pub use compact_genetic::CompactGeneticState;pub use dependency_chain::DependencyChain;pub use dependency_chain::DependencyChainParams;pub use dependency_chain::DependencyChainState;pub use univariate_bernoulli::UnivariateBernoulli;pub use univariate_bernoulli::UnivariateBernoulliParams;pub use univariate_bernoulli::UnivariateBernoulliState;pub use univariate_gaussian::UnivariateGaussian;pub use univariate_gaussian::UnivariateGaussianParams;pub use univariate_gaussian::UnivariateGaussianState;
Modules§
- bayesian_
network - Bayesian-network model (BOA — Bayesian Optimization Algorithm) for binary search spaces.
- compact_
genetic - Compact Genetic Algorithm (cGA) model for binary search spaces.
- dependency_
chain - Continuous-Gaussian dependency-chain model (MIMIC-style EDA) for continuous search spaces.
- univariate_
bernoulli - Univariate Bernoulli model (PBIL — Population-Based Incremental Learning) for binary search spaces.
- univariate_
gaussian - Univariate Gaussian model (UMDA — Univariate Marginal Distribution Algorithm) for continuous search spaces.
Structs§
- EdaParams
- Static configuration for an
EdaStrategyrun. - EdaState
- Generation-to-generation state carried by
EdaStrategy. - EdaStrategy
- Generic estimation-of-distribution strategy.