コード例 #1
0
 private GeneticAlgorithmFactory(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory)
 {
     _networkFactory     = networkFactory;
     _workingSetFactory  = workingSetFactory;
     _evaluatableFactory = evaluatableFactory;
     _breederFactory     = breederFactory;
     _mutatorFactory     = mutatorFactory;
 }
コード例 #2
0
 private GeneticAlgorithmFactory(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory)
 {
     _networkFactory = networkFactory;
     _workingSetFactory = workingSetFactory;
     _evaluatableFactory = evaluatableFactory;
     _breederFactory = breederFactory;
     _mutatorFactory = mutatorFactory;
 }
コード例 #3
0
 public static IGeneticAlgorithmFactory GetInstance(IEvaluatableFactory evaluatableFactory)
 {
     var networkFactory = NeuralNetworkFactory.GetInstance();
     var workingSetFactory = EvalWorkingSetFactory.GetInstance();
     var random = new Random();
     var breederFactory = BreederFactory.GetInstance(networkFactory, new RandomWeightInitializer(random));
     var mutatorFactory = MutatorFactory.GetInstance(networkFactory, new RandomWeightInitializer(random));
     return new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory);
 }
コード例 #4
0
        public static IGeneticAlgorithmFactory GetInstance(IEvaluatableFactory evaluatableFactory)
        {
            var networkFactory    = NeuralNetworkFactory.GetInstance();
            var workingSetFactory = EvalWorkingSetFactory.GetInstance();
            var random            = new Random();
            var breederFactory    = BreederFactory.GetInstance(networkFactory, new RandomWeightInitializer(random));
            var mutatorFactory    = MutatorFactory.GetInstance(networkFactory, new RandomWeightInitializer(random));

            return(new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory));
        }
コード例 #5
0
        private GeneticAlgorithm(NeuralNetworkConfigurationSettings networkConfig, GenerationConfigurationSettings generationConfig, EvolutionConfigurationSettings evolutionConfig, INeuralNetworkFactory networkFactory, IBreeder breeder, IMutator mutator, IEvalWorkingSet workingSet, IEvaluatableFactory evaluatableFactory, IEpochAction epochAction)
        {
            _networkConfig    = networkConfig;
            _generationConfig = generationConfig;
            _evolutionConfig  = evolutionConfig;
            _epochAction      = epochAction;
            var sessions = new List <ITrainingSession>();

            _networkFactory     = networkFactory;
            _breeder            = breeder;
            _mutator            = mutator;
            _history            = workingSet;
            _evaluatableFactory = evaluatableFactory;
            for (int i = 0; i < _generationConfig.GenerationPopulation; i++)
            {
                var network = _networkFactory.Create(_networkConfig.NumInputNeurons, _networkConfig.NumOutputNeurons, _networkConfig.NumHiddenLayers, _networkConfig.NumHiddenNeurons);
                sessions.Add(new TrainingSession(network, _evaluatableFactory.Create(network), i));
            }
            _generation = new Generation(sessions, _generationConfig);
        }
コード例 #6
0
 public IGeneticAlgorithm Create(NeuralNetworkConfigurationSettings networkConfig, GenerationConfigurationSettings generationConfig, EvolutionConfigurationSettings evolutionConfig, INeuralNetworkFactory networkFactory, IBreeder breeder, IMutator mutator, IEvalWorkingSet workingSet, IEvaluatableFactory evaluatableFactory, IEpochAction epochAction)
 {
     return(GeneticAlgorithm.GetInstance(networkConfig, generationConfig, evolutionConfig, _networkFactory, breeder, mutator, workingSet, _evaluatableFactory, epochAction));
 }
コード例 #7
0
 public static IGeneticAlgorithmFactory GetInstance(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory)
 {
     return(new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory));
 }
コード例 #8
0
 public IGeneticAlgorithm Create(NeuralNetworkConfigurationSettings networkConfig, GenerationConfigurationSettings generationConfig, EvolutionConfigurationSettings evolutionConfig, INeuralNetworkFactory networkFactory, IBreeder breeder, IMutator mutator, IEvalWorkingSet workingSet, IEvaluatableFactory evaluatableFactory, IEpochAction epochAction)
 {
     return GeneticAlgorithm.GetInstance(networkConfig, generationConfig, evolutionConfig, _networkFactory, breeder, mutator, workingSet, _evaluatableFactory, epochAction);
 }
コード例 #9
0
 public static IGeneticAlgorithmFactory GetInstance(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory)
 {
     return new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory);
 }