Class RepeatedMutation

java.lang.Object
net.bmahe.genetics4j.core.spec.mutation.RepeatedMutation
All Implemented Interfaces:
MutationPolicy
Direct Known Subclasses:
ImmutableRepeatedMutation

@Immutable public abstract class RepeatedMutation extends Object implements MutationPolicy
Applies another mutation policy repeatedly.

The number of repetitions is selected uniformly between minRepetitions() and maxRepetitions(), inclusive, for each genotype. Equal bounds define a fixed number of repetitions.

  • Constructor Details

    • RepeatedMutation

      public RepeatedMutation()
  • Method Details

    • minRepetitions

      @Parameter public abstract int minRepetitions()
    • maxRepetitions

      @Parameter public abstract int maxRepetitions()
    • mutationPolicy

      @Parameter public abstract MutationPolicy mutationPolicy()
    • check

      @Check protected void check()
    • builder

      public static RepeatedMutation.Builder builder()
    • ofExactly

      public static RepeatedMutation ofExactly(int repetitions, MutationPolicy mutationPolicy)
      Creates a mutation policy with a fixed number of repetitions.
      Parameters:
      repetitions - number of times to apply the mutation policy
      mutationPolicy - mutation policy to repeat
      Returns:
      a repeated mutation policy
    • ofUpTo

      public static RepeatedMutation ofUpTo(int maxRepetitions, MutationPolicy mutationPolicy)
      Creates a mutation policy with a number of repetitions selected uniformly between one and the specified maximum, inclusive.
      Parameters:
      maxRepetitions - maximum number of repetitions, inclusive
      mutationPolicy - mutation policy to repeat
      Returns:
      a repeated mutation policy
    • of

      public static RepeatedMutation of(int minRepetitions, int maxRepetitions, MutationPolicy mutationPolicy)
      Creates a mutation policy with a variable number of repetitions.
      Parameters:
      minRepetitions - minimum number of repetitions, inclusive
      maxRepetitions - maximum number of repetitions, inclusive
      mutationPolicy - mutation policy to repeat
      Returns:
      a repeated mutation policy