Class BmdaModel
java.lang.Object
com.knezevic.edaf.v3.models.discrete.BmdaModel
Bivariate Marginal Distribution Algorithm (BMDA) model.
Pipeline:
- estimate marginals
p(x_i = 1) - estimate pairwise mutual information
I(X_i; X_j) - build maximum spanning dependency tree
- sample via factorization
p(x) = p(x_root) * Π_i p(x_i | x_parent(i))
This captures first-order dependencies while keeping model fitting/sampling linear in dimension once the tree is known.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExposes diagnostics (entropy, covariance condition number, etc.).voidfit(List<Individual<BitString>> selected, Representation<BitString> representation, RngStream rng) Fits model parameters from selected individuals.name()Model identifier used in configuration and listing commands.sample(int count, Representation<BitString> representation, Problem<BitString> problem, ConstraintHandling<BitString> constraintHandling, RngStream rng) Samples new genotypes from model.
-
Constructor Details
-
BmdaModel
public BmdaModel(double smoothing) - Parameters:
smoothing- Laplace smoothing added to Bernoulli and conditional counts.
-
-
Method Details
-
name
-
fit
public void fit(List<Individual<BitString>> selected, Representation<BitString> representation, RngStream rng) Description copied from interface:ModelFits model parameters from selected individuals. -
sample
public List<BitString> sample(int count, Representation<BitString> representation, Problem<BitString> problem, ConstraintHandling<BitString> constraintHandling, RngStream rng) Description copied from interface:ModelSamples new genotypes from model. -
diagnostics
Description copied from interface:ModelExposes diagnostics (entropy, covariance condition number, etc.).- Specified by:
diagnosticsin interfaceModel<BitString>
-