public GeneticSimulation(int populationSize, int defaultGeneCount, IFitnessFunctionProvider fitnessComputer, IRecombinationProvider recombinator, ISelectionProvider maleSelector, ISelectionProvider femaleSelector)
        {
            this.fitnessComputer         = fitnessComputer;
            this.recombinator            = recombinator;
            this.maleSelector            = maleSelector;
            this.femaleSelector          = femaleSelector;
            this.populationSize          = populationSize;
            this.defaultChromosomeLength = defaultGeneCount;

            this.geneMutationRate    = 0.01d;
            this.geneDuplicationRate = 0.0d;
            this.geneDropRate        = 0.0d;

            this.randomizer = new Random();

            this.ResetSimulation();
        }
 public GeneticSimulation(int populationSize, int defaultGeneCount, IFitnessFunctionProvider fitnessComputer, IRecombinationProvider recombinator, ISelectionProvider selector) :
     this(populationSize, defaultGeneCount, fitnessComputer, recombinator, selector, selector)
 {
 }
예제 #3
0
 // Errechnet mithilfe eines IFitnessFunctionProvider Interface die Fitness des Chromosoms
 public void computeFitness(IFitnessFunctionProvider provider)
 {
     this.fitness = provider.ComputeFitness(this.genes);
 }