private GeneticAlgorithmFactory(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory) { _networkFactory = networkFactory; _workingSetFactory = workingSetFactory; _evaluatableFactory = evaluatableFactory; _breederFactory = breederFactory; _mutatorFactory = mutatorFactory; }
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); }
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)); }
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); }
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)); }
public static IGeneticAlgorithmFactory GetInstance(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory) { return(new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory)); }
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); }
public static IGeneticAlgorithmFactory GetInstance(INeuralNetworkFactory networkFactory, IEvalWorkingSetFactory workingSetFactory, IEvaluatableFactory evaluatableFactory, IBreederFactory breederFactory, IMutatorFactory mutatorFactory) { return new GeneticAlgorithmFactory(networkFactory, workingSetFactory, evaluatableFactory, breederFactory, mutatorFactory); }