本文整理汇总了C#中Encog.Neural.Networks.BasicNetwork.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# BasicNetwork.Clone方法的具体用法?C# BasicNetwork.Clone怎么用?C# BasicNetwork.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Encog.Neural.Networks.BasicNetwork
的用法示例。
在下文中一共展示了BasicNetwork.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NeuralGeneticAlgorithm
public NeuralGeneticAlgorithm(BasicNetwork network, IRandomizer randomizer, ICalculateScore calculateScore, int populationSize, double mutationPercent, double percentToMate)
: base(TrainingImplementationType.Iterative)
{
NeuralGeneticAlgorithmHelper helper;
Label_012F:
helper = new NeuralGeneticAlgorithmHelper();
helper.CalculateScore = new GeneticScoreAdapter(calculateScore);
this.Genetic = helper;
IPopulation population = new BasicPopulation(populationSize);
this.Genetic.MutationPercent = mutationPercent;
this.Genetic.MatingPopulation = percentToMate * 2.0;
this.Genetic.PercentToMate = percentToMate;
this.Genetic.Crossover = new Splice(network.Structure.CalculateSize() / 3);
this.Genetic.Mutate = new MutatePerturb(4.0);
this.Genetic.Population = population;
int num = 0;
while (true)
{
NeuralGenome genome2;
if (num < population.PopulationSize)
{
BasicNetwork network2 = (BasicNetwork) network.Clone();
randomizer.Randomize(network2);
if ((((uint) percentToMate) + ((uint) populationSize)) >= 0)
{
genome2 = new NeuralGenome(network2) {
GA = this.Genetic
};
}
}
else
{
population.Sort();
if (((uint) populationSize) <= uint.MaxValue)
{
return;
}
goto Label_012F;
}
if ((((uint) num) + ((uint) populationSize)) >= 0)
{
NeuralGenome g = genome2;
this.Genetic.PerformCalculateScore(g);
if (((uint) populationSize) > uint.MaxValue)
{
goto Label_012F;
}
this.Genetic.Population.Add(g);
num++;
}
}
}