aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/CGP.java
diff options
context:
space:
mode:
authorEduardo Pedroni <ep625@york.ac.uk>2014-02-16 22:41:46 +0000
committerEduardo Pedroni <ep625@york.ac.uk>2014-02-16 22:41:46 +0000
commitef7a850a8f2f81ccaa07f25d9b7ad602e84d88c9 (patch)
tree9f9c6206a140bdfad4bb1b44354e6c7314d8b605 /src/jcgp/CGP.java
parente9290a500b228e2561a8537adbc13e86f1356747 (diff)
Light refactoring, a good amount of testing done, added some new functions.
Diffstat (limited to 'src/jcgp/CGP.java')
-rw-r--r--src/jcgp/CGP.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/jcgp/CGP.java b/src/jcgp/CGP.java
index 0ccd74e..48273e9 100644
--- a/src/jcgp/CGP.java
+++ b/src/jcgp/CGP.java
@@ -9,10 +9,8 @@ import jcgp.ea.StandardMutator;
import jcgp.fitness.FitnessFunction;
import jcgp.fitness.TestCase;
import jcgp.fitness.TruthTableEvaluator;
-import jcgp.function.Addition;
+import jcgp.function.Arithmetic;
import jcgp.function.FunctionSet;
-import jcgp.function.Multiplication;
-import jcgp.function.Subtraction;
import jcgp.population.Population;
public final class CGP {
@@ -30,7 +28,10 @@ public final class CGP {
Parameters.setCurrentGeneration(i);
fitnessFunction.evaluate(population);
ea.evolve(population, mutator);
- if (ea.getBestFitness() >= 3) {
+ if (ea.getFittestChromosome().getFitness() >= 3) {
+ if (Parameters.getDebug()) {
+ ea.getFittestChromosome().printNodes();
+ }
break;
}
}
@@ -41,7 +42,7 @@ public final class CGP {
*/
private void initialise() {
// initialise function set
- FunctionSet functionSet = new FunctionSet(new Addition(), new Subtraction(), new Multiplication());
+ FunctionSet functionSet = new FunctionSet(new Arithmetic.Addition(), new Arithmetic.Subtraction(), new Arithmetic.Multiplication());
// initialise utilities
Utilities.setResources(new Random(1234), functionSet);
@@ -57,6 +58,7 @@ public final class CGP {
Parameters.setTotalGenerations(5000);
Parameters.setTotalRuns(5);
Parameters.setMaxArity(functionSet.getMaxArity());
+ Parameters.setDebug(false);
// initialise fitness function and truth table
TruthTable.setTestCases(new TestCase(new Object[] {2, 5, 4}, new Object[] {1, 10, 15}));