diff options
Diffstat (limited to 'src/jcgp/backend/modules/es/TournamentSelection.java')
-rw-r--r-- | src/jcgp/backend/modules/es/TournamentSelection.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/jcgp/backend/modules/es/TournamentSelection.java b/src/jcgp/backend/modules/es/TournamentSelection.java new file mode 100644 index 0000000..3954de8 --- /dev/null +++ b/src/jcgp/backend/modules/es/TournamentSelection.java @@ -0,0 +1,53 @@ +package jcgp.backend.modules.es; + +import java.util.HashMap; + +import jcgp.backend.modules.mutator.Mutator; +import jcgp.backend.population.Population; +import jcgp.backend.resources.Resources; +import jcgp.backend.resources.parameters.IntegerParameter; +import jcgp.backend.resources.parameters.Parameter; + +public class TournamentSelection implements EvolutionaryStrategy { + + private int fittestChromosome; + + private IntegerParameter tournament; + private HashMap<String, Parameter> localParameters; + + public TournamentSelection() { + tournament = new IntegerParameter(1, "Tournament size") { + @Override + public void validate(int newValue) { + // TODO this + } + }; + + localParameters = new HashMap<String, Parameter>(); + localParameters.put("tournament", tournament); + } + + @Override + public Parameter[] getLocalParameters() { + return new Parameter[] {tournament}; + } + + @Override + public void evolve(Population population, Mutator mutator, + Resources parameters) { + tournament.set(tournament.get() + 1); + fittestChromosome = 0; + // TODO implement this + + } + + @Override + public int getFittestChromosome() { + return fittestChromosome; + } + + @Override + public String toString() { + return "Tournament"; + } +} |