Class ProgramRulesApplicatorMutator

java.lang.Object
net.bmahe.genetics4j.gp.mutation.ProgramRulesApplicatorMutator
All Implemented Interfaces:
Mutator

public class ProgramRulesApplicatorMutator extends Object implements Mutator
  • Field Details

    • logger

      public static final org.apache.logging.log4j.Logger logger
    • rules

      private final List<Rule> rules
    • eaConfiguration

      private final AbstractEAConfiguration eaConfiguration
  • Constructor Details

  • Method Details

    • duplicateAndApplyRule

      protected TreeNode<Operation<?>> duplicateAndApplyRule(Program program, TreeNode<Operation<?>> root)
    • mutate

      public Genotype mutate(Genotype original)
      Description copied from interface: Mutator
      Applies mutation to the given genotype and returns a new mutated genotype.

      The original genotype should not be modified; instead, a new genotype with the mutations applied should be returned. The specific mutation behavior depends on the implementation and the mutation policy being used.

      Mutation may affect:

      • Individual alleles within chromosomes (bit flips, value changes)
      • Chromosome structure (for variable-length representations)
      • Multiple chromosomes simultaneously
      Specified by:
      mutate in interface Mutator
      Parameters:
      original - the genotype to mutate, must not be null
      Returns:
      a new genotype with mutations applied, never null