aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/backend/modules/problem/DigitalCircuitProblem.java')
-rw-r--r--src/jcgp/backend/modules/problem/DigitalCircuitProblem.java20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java b/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java
index 3c30e4c..099f527 100644
--- a/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java
+++ b/src/jcgp/backend/modules/problem/DigitalCircuitProblem.java
@@ -1,6 +1,6 @@
package jcgp.backend.modules.problem;
-import jcgp.backend.function.BitwiseLogic;
+import jcgp.backend.function.DigitalCircuitFunctions;
import jcgp.backend.function.UnsignedInteger;
import jcgp.backend.population.Chromosome;
import jcgp.backend.population.Population;
@@ -10,14 +10,13 @@ public class DigitalCircuitProblem extends TestCaseProblem<UnsignedInteger> {
public DigitalCircuitProblem(Resources resources) {
super(resources);
- functionSet = new BitwiseLogic();
+ functionSet = new DigitalCircuitFunctions();
+ setProblemName("Symbolic regression");
+ setFileExtension(".plu");
}
@Override
public void evaluate(Population population, Resources resources) {
- // set fittest to 0, change it whenever a fitter one is found
- population.setFittest(0);
-
// for every chromosome in the population
for (int i = 0; i < resources.populationSize(); i++) {
// assume an initial fitness of 0
@@ -42,10 +41,10 @@ public class DigitalCircuitProblem extends TestCaseProblem<UnsignedInteger> {
// assign the resulting fitness to the respective individual
population.getChromosome(i).setFitness(fitness);
- if (fitness >= population.getFittest().getFitness()) {
- population.setFittest(i);
- }
}
+
+ // sort population
+ population.sortAscending();
}
@Override
@@ -77,9 +76,4 @@ public class DigitalCircuitProblem extends TestCaseProblem<UnsignedInteger> {
public boolean isPerfectSolution(Chromosome fittest) {
return fittest.getFitness() >= maxFitness.get();
}
-
- @Override
- public String getFileExtension() {
- return ".plu";
- }
}