/// <summary> /// Nuber of threads is defautly set to number of logical cores /// </summary> public EnvironmentOf(StartingInfo <Creature> startingInfo) { Selector = startingInfo.GetSelector(this); Selector.SetMaximalNumberOfSurvivals(startingInfo.NumberOfSurvivals); FitnessFunctionFactory = startingInfo.GetFitnessFunctionFactory(); interval = new IntervalOfChildrenCount <Creature>(this); SizeOfPupulation = startingInfo.SizeOfPopulation; MutationRate = startingInfo.MutationRate; MaximalNumOfRunningThreads = startingInfo.NumberOfRunningThreads; computationManager = new ComputationManager <Creature>(this); UpdateComputationManager(); evolutionManager = new EvolutionManager <Creature>(this, computationManager); }
public EvolutionManager(EnvironmentOf <Creature> environment, ComputationManager <Creature> computationManager) { this.environment = environment; this.computationManager = computationManager; CountToCatastrofy = CatastrofyPeriod; }