Skip to main content

Module dependency_chain

Module dependency_chain 

Source
Expand description

Continuous-Gaussian dependency-chain model (MIMIC-style EDA) for continuous search spaces.

Unlike super::univariate_gaussian, this model captures pairwise dependencies. fit estimates per-dimension Gaussians and builds a dimension ordering (chain c₀ → c₁ → … → c_{D-1}) that maximises captured mutual information, then represents the joint as a first-order chain: each dimension is conditionally Gaussian given its predecessor. sample walks the chain, drawing each gene from the conditional Gaussian of its parent’s sampled value.

The chain is built greedily à la MIMIC (De Bonet et al., 1997): the root is the dimension with the smallest marginal standard deviation (lowest marginal entropy), and each subsequent link is the unvisited dimension with the highest mutual information to the last chosen one.

The fitness tensor is accepted by the ProbabilityModel interface but always ignored; the fit is unweighted.

§Estimator regularisation

Sample Pearson correlations from k selected rows have a standard error of approximately 1/√k under the null hypothesis of independence. Treating those spurious correlations as real dependency injects noise into every conditional mean — a penalty the univariate model never pays. To suppress this effect, any Pearson |r| < 2/√k is zeroed before the chain is built, causing the affected link to degenerate to independent marginal sampling exactly where no statistically detectable dependency exists. Correlations that survive this threshold are clamped to [−0.9999, 0.9999] to keep conditional variances positive.

§Complexity

fit is O(k · D²): it forms the full D × D mutual-information matrix from the k selected rows and greedily orders the D dimensions. sample is O(D) per individual: one conditional Gaussian draw per chain link.

§References

  • De Bonet, Isbell & Viola (1997), MIMIC: Finding optima by estimating probability densities.

Structs§

DependencyChain
MIMIC-style dependency-chain model for continuous spaces.
DependencyChainParams
Per-run configuration for the DependencyChain model.
DependencyChainState
Fitted state for the DependencyChain model after one call to ProbabilityModel::fit.