From ef7a850a8f2f81ccaa07f25d9b7ad602e84d88c9 Mon Sep 17 00:00:00 2001 From: Eduardo Pedroni Date: Sun, 16 Feb 2014 22:41:46 +0000 Subject: Light refactoring, a good amount of testing done, added some new functions. --- src/jcgp/CGP.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/jcgp/CGP.java') 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})); -- cgit v1.2.3