Class PbilFrequencyModel
java.lang.Object
com.knezevic.edaf.v3.models.discrete.PbilFrequencyModel
Population-Based Incremental Learning (PBIL) probability-vector model.
After each elite selection step, bit probabilities are updated by an exponential moving average:
p_i(t+1) = (1 - η) p_i(t) + η * mean_elite(x_i)where
η is learningRate.
The model clamps each p_i to [1e-6, 1-1e-6] to preserve
exploration and avoid numerical degeneracy in long runs.
-
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
-
PbilFrequencyModel
public PbilFrequencyModel(double learningRate) - Parameters:
learningRate- EMA step size (η) in[0.01, 1.0]
-
-
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>
-