From 67ace66f66ffaa00e1bd1495c0d406c801e59c5c Mon Sep 17 00:00:00 2001 From: Eduardo Pedroni Date: Mon, 7 Apr 2014 10:04:05 +0100 Subject: Refactored problem types --- .../fitness/testcase/TestCaseEvaluator.java | 87 ---------------------- 1 file changed, 87 deletions(-) delete mode 100644 src/jcgp/backend/modules/fitness/testcase/TestCaseEvaluator.java (limited to 'src/jcgp/backend/modules/fitness/testcase/TestCaseEvaluator.java') diff --git a/src/jcgp/backend/modules/fitness/testcase/TestCaseEvaluator.java b/src/jcgp/backend/modules/fitness/testcase/TestCaseEvaluator.java deleted file mode 100644 index 4b0654c..0000000 --- a/src/jcgp/backend/modules/fitness/testcase/TestCaseEvaluator.java +++ /dev/null @@ -1,87 +0,0 @@ -package jcgp.backend.modules.fitness.testcase; - -import java.util.ArrayList; -import java.util.Collections; - -import jcgp.backend.modules.fitness.FitnessFunction; -import jcgp.backend.population.Population; -import jcgp.backend.resources.Resources; - -/** - * - * This fitness function module implements a simple test case evaluator. - * - * A TestCase object is a - * - * - * @author Eduardo Pedroni - * - */ -public abstract class TestCaseEvaluator implements FitnessFunction { - - public static class TestCase { - - private T[] inputs; - private T[] outputs; - - public TestCase(T[] inputs, T[] outputs) { - this.inputs = inputs; - this.outputs = outputs; - } - - public T getInput(int index) { - return inputs[index]; - } - - public T getOutput(int index) { - return outputs[index]; - } - - public T[] getInputs() { - return inputs; - } - - public T[] getOutputs() { - return outputs; - } - } - - protected ArrayList> testCases; - - @Override - public void evaluate(Population population, Resources resources) { - // for every chromosome in the population - for (int i = 0; i < resources.getInt("popSize"); i++) { - // assume an initial fitness of 0 - int fitness = 0; - // for each test case - for (int t = 0; t < testCases.size(); t++) { - population.getChromosome(i).setInputs(testCases.get(t).getInputs()); - // check each output - for (int o = 0; o < resources.getInt("outputs"); o++) { - if (population.getChromosome(i).getOutput(o).calculate() == testCases.get(t).getOutput(o)) { - fitness++; - } - } - } - // assign the resulting fitness to the respective individual - population.getChromosome(i).setFitness(fitness); - } - } - - public int getMaxFitness() { - int fitness = 0; - - for (TestCase tc : testCases) { - fitness += tc.getOutputs().length; - } - - return fitness; - } - - public void setTestCases(TestCase... testCases) { - this.testCases = new ArrayList>(); - Collections.addAll(this.testCases, testCases); - } -} - -- cgit v1.2.3