Ejemplo n.º 1
0
        public Evaluator(INeatConfiguration neatConfiguration, IGenesisGenomeProvider genomeProvider, IInnovationPointGenerator nodeInnovationGenerator, IInnovationPointGenerator connectionInnovationGenerator, IMutation addConnectionMutation, IMutation addNodeMutation, IMutation weightMutation, ICrossFunctionStrategy crossFunctionStrategy, IRandom random)
        {
            _neatConfiguration             = neatConfiguration;
            _nodeInnovationGenerator       = nodeInnovationGenerator;
            _connectionInnovationGenerator = connectionInnovationGenerator;
            _addConnectionMutation         = addConnectionMutation;
            _addNodeMutation       = addNodeMutation;
            _weightMutation        = weightMutation;
            _crossFunctionStrategy = crossFunctionStrategy;
            _random  = random;
            _genomes = Enumerable.Repeat(genomeProvider.GenerateGenesisGenome(), neatConfiguration.PopulationSize).ToList();

            _evaluatedGenomes = new List <FitnessGenome>();
            _nextGeneration   = new List <Genome>();

            _lastGenerationResults = new List <FitnessGenome>();
        }
Ejemplo n.º 2
0
 public NeatCrossFunction(IRandom random, INeatConfiguration configuration)
 {
     _random = random;
     _disabledGeneInheritingChance = configuration.DisabledGeneInheritingChance;
 }
Ejemplo n.º 3
0
 public AddConnectionMutation(IInnovationPointGenerator connectionInnovator, IRandom random, INeatConfiguration configuration) :
     this(connectionInnovator, random, configuration.PerturbingRate, configuration.MaxAttemptsAtFindingConnections)
 {
 }
Ejemplo n.º 4
0
 public ApplyWeightMutation(IRandom random, INeatConfiguration configuration)
 {
     _random = random;
     _probabilityPerturbing = configuration.PerturbingRate;
 }
Ejemplo n.º 5
0
 public WeightOfAHundred(INeatConfiguration neatConfiguration, IGenesisGenomeProvider genomeProvider, IInnovationPointGenerator nodeInnovationGenerator, IInnovationPointGenerator connectionInnovationGenerator, IMutation addConnectionMutation, IMutation addNodeMutation, IMutation weightMutation, ICrossFunctionStrategy crossFunctionStrategy, IRandom random) : base(neatConfiguration, genomeProvider, nodeInnovationGenerator, connectionInnovationGenerator, addConnectionMutation, addNodeMutation, weightMutation, crossFunctionStrategy, random)
 {
 }
Ejemplo n.º 6
0
 public XORNNEvaluator(INeatConfiguration neatConfiguration, IGenesisGenomeProvider genomeProvider, IInnovationPointGenerator nodeInnovationGenerator, IInnovationPointGenerator connectionInnovationGenerator, IMutation addConnectionMutation, IMutation addNodeMutation, IMutation weightMutation, ICrossFunctionStrategy crossFunctionStrategy, IRandom random, ProblemDomain problemDomain) : base(neatConfiguration, genomeProvider, nodeInnovationGenerator, connectionInnovationGenerator, addConnectionMutation, addNodeMutation, weightMutation, crossFunctionStrategy, random)
 {
     _problemDomain = problemDomain;
 }