Class AdaptiveRatioEdaAlgorithm<G>

java.lang.Object
com.knezevic.edaf.v3.core.api.AbstractEdaAlgorithm<G>
com.knezevic.edaf.v3.algorithms.dynamic.AdaptiveRatioEdaAlgorithm<G>
All Implemented Interfaces:
Algorithm<G>
Direct Known Subclasses:
MemoryEdaAlgorithm, NoisyResamplingEdaAlgorithm, RandomImmigrantsEdaAlgorithm, SlidingWindowEdaAlgorithm

public abstract class AdaptiveRatioEdaAlgorithm<G> extends AbstractEdaAlgorithm<G>
Shared adaptive-ratio EDA driver used by dynamic and noisy aliases.
  • Constructor Details

    • AdaptiveRatioEdaAlgorithm

      protected AdaptiveRatioEdaAlgorithm(String id, double selectionRatio, double minRatio, double maxRatio)
  • Method Details

    • id

      public String id()
      Description copied from interface: Algorithm
      Algorithm identifier (e.g. umda, gaussian-diag-eda, ehm-eda).
    • selectionSize

      protected int selectionSize(AlgorithmContext<G> context, Population<G> population)
      Description copied from class: AbstractEdaAlgorithm
      Returns how many individuals are used for model fitting.
      Specified by:
      selectionSize in class AbstractEdaAlgorithm<G>
    • afterIteration

      protected void afterIteration(AlgorithmContext<G> context, Population<G> previous, Population<G> next)
      Description copied from class: AbstractEdaAlgorithm
      Optional hook for algorithm-specific per-iteration behavior.
      Overrides:
      afterIteration in class AbstractEdaAlgorithm<G>
    • adaptRatio

      protected abstract void adaptRatio(double normalizedImprovement)
    • ratio

      protected final double ratio()
    • setRatio

      protected final void setRatio(double value)
    • clamp

      protected static double clamp(double value, double min, double max)