aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/backend/modules/mutator/ProbabilisticMutator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/backend/modules/mutator/ProbabilisticMutator.java')
-rw-r--r--src/jcgp/backend/modules/mutator/ProbabilisticMutator.java33
1 files changed, 11 insertions, 22 deletions
diff --git a/src/jcgp/backend/modules/mutator/ProbabilisticMutator.java b/src/jcgp/backend/modules/mutator/ProbabilisticMutator.java
index cacb451..c65fc22 100644
--- a/src/jcgp/backend/modules/mutator/ProbabilisticMutator.java
+++ b/src/jcgp/backend/modules/mutator/ProbabilisticMutator.java
@@ -1,13 +1,12 @@
package jcgp.backend.modules.mutator;
+import jcgp.backend.parameters.BooleanParameter;
+import jcgp.backend.parameters.DoubleParameter;
+import jcgp.backend.parameters.ParameterStatus;
import jcgp.backend.population.Chromosome;
import jcgp.backend.population.Node;
import jcgp.backend.population.Output;
import jcgp.backend.resources.Resources;
-import jcgp.backend.resources.parameters.BooleanParameter;
-import jcgp.backend.resources.parameters.DoubleParameter;
-import jcgp.backend.resources.parameters.Parameter;
-import jcgp.backend.resources.parameters.ParameterStatus;
/**
* Probabilistic mutator
@@ -22,7 +21,7 @@ import jcgp.backend.resources.parameters.ParameterStatus;
* @author Eduardo Pedroni
*
*/
-public class ProbabilisticMutator implements Mutator {
+public class ProbabilisticMutator extends Mutator {
private DoubleParameter mutationProbability;
private BooleanParameter report;
@@ -35,6 +34,7 @@ public class ProbabilisticMutator implements Mutator {
* @param resources a reference to the experiment's resources.
*/
public ProbabilisticMutator(Resources resources) {
+ super();
this.resources = resources;
mutationProbability = new DoubleParameter(10, "Mutation probability", false, false) {
@@ -48,17 +48,11 @@ public class ProbabilisticMutator implements Mutator {
}
}
};
- report = new BooleanParameter(false, "Report") {
- @Override
- public void validate(Boolean newValue) {
- // blank
- }
- };
- }
-
- @Override
- public Parameter<?>[] getLocalParameters() {
- return new Parameter<?>[] {mutationProbability, report};
+
+ report = new BooleanParameter(false, "Report");
+
+ setName("Probabilisic mutation");
+ registerParameters(mutationProbability, report);
}
@Override
@@ -113,7 +107,7 @@ public class ProbabilisticMutator implements Mutator {
}
/**
- * This method offers a shorthand to decide whether a mutation should occur or not.
+ * This method provides a shorthand to decide whether a mutation should occur or not.
* A random double is generated in the range 0 <= x < 100 and compared with the
* mutation probability parameter. If the generated number is less than the mutation
* probability, this returns true meaning a mutation should occur.
@@ -123,9 +117,4 @@ public class ProbabilisticMutator implements Mutator {
private boolean mutateGene() {
return resources.getRandomDouble(100) < mutationProbability.get();
}
-
- @Override
- public String toString() {
- return "Probabilistic mutation";
- }
}