0
我需要在C#中的一個sus實現用於找到人口中的候選人這是迄今爲止,但我不知道它是否正確。隨機通用抽樣
public void sus(IEnumerable<TimeTable>population)
{
var ag = population.Sum(i => normalize((double) i.Fitness, true));
var mark = rnMutate.NextDouble();
var index = 0;
foreach (var candidate in population)
{
var cu = population.Sum(i => normalize((double)i.Fitness, false))/ag * 5;
while (cu > mark + index)
{
Survivors.Add(candidate);
index++;
}
}
}
public double normalize(double fitness, bool natural)
{
if (natural)
return fitness;
return fitness == (double)FitnessLBound ? double.PositiveInfinity : 1/fitness;
}
我想首先你必須確定這是什麼意思爲「發現候選個人」是正確的。 – 2011-03-09 19:24:04
好的候選人將是基於他們的健身評分可能是重組候選人的個體。 – 2011-03-09 19:46:38
現在我不知道這意味着什麼,但是如果它確實意味着某個特定的東西,也許你可以編寫一個測試子程序來檢查代碼是否返回正確的結果。 – 2011-03-10 04:29:58