コード例 #1
0
ファイル: Evolver.cs プロジェクト: olegtarasov/Retia
 public Evolver(IPopulationGenerator <T> generator,
                int populationSize,
                BreederBase <T> breeder,
                MutatorBase <T> mutator,
                Func <T, double> fitnessFunc) : this(GeneratePopulation(generator, populationSize), breeder, mutator, fitnessFunc)
 {
 }
コード例 #2
0
ファイル: Evolver.cs プロジェクト: olegtarasov/Retia
        public Evolver(List <T> initialPopulation,
                       BreederBase <T> breeder,
                       MutatorBase <T> mutator,
                       Func <T, double> fitnessFunc)
        {
            _breeder        = breeder;
            _populationSize = initialPopulation.Count;
            _mutator        = mutator;
            _fitnessFunc    = fitnessFunc;

            Population = initialPopulation;

            IsParallel = true;

            //default value, % of old population which won't make it to new one
            DeathRate = 0.7;
        }
コード例 #3
0
        protected EngineBase(EvolutionParameters evolutionParameters, IGenericFactory <Solution> solutionsFactory, PopulationGeneratorBase populationGenerator, MutatorBase objectMutator, MutatorBase stdDeviationsMutator, MutationRuleSupervisorBase mutationRuleSupervisor, ParentsSelectorBase parentsSelector, SurvivorsSelectorBase survivorsSelector, Statistics statistics, Stopwatch stoper)
        {
            Parameters             = evolutionParameters;
            SolutionsFactory       = solutionsFactory;
            PopulationGenerator    = populationGenerator;
            ObjectMutator          = objectMutator;
            StdDeviationsMutator   = stdDeviationsMutator;
            MutationRuleSupervisor = mutationRuleSupervisor;
            ParentsSelector        = parentsSelector;
            SurvivorsSelector      = survivorsSelector;
            Statistics             = statistics;
            Stoper = stoper;

            BasePopulation       = new Solution[evolutionParameters.BasePopulationSize];
            OffspringPopulation  = new Solution[evolutionParameters.OffspringPopulationSize];
            EvolutionStepsSimple = new List <Solution>(evolutionParameters.NumberOfGenerations);
            EvolutionSteps       = new Dictionary <int, EvolutionStep>(evolutionParameters.NumberOfGenerations);
        }
 public CmEngineWithoutRecombination(EvolutionParameters evolutionParameters, IGenericFactory <Solution> solutionsFactory, PopulationGeneratorBase populationGenerator, MutatorBase objectMutator, MutatorBase stdDeviationsMutator, MutationRuleSupervisorBase mutationRuleSupervisor, ParentsSelectorBase parentsSelector, SurvivorsSelectorBase survivorsSelector, Statistics statistics, Stopwatch stoper, MutatorBase rotationsMutator) : base(evolutionParameters, solutionsFactory, populationGenerator, objectMutator, stdDeviationsMutator, mutationRuleSupervisor, parentsSelector, survivorsSelector, statistics, stoper)
 {
     RotationsMutator = rotationsMutator;
 }