0
J'ai besoin d'une implémentation en C# pour trouver des candidats dans une population, c'est ce que j'ai jusqu'ici mais je ne sais pas si c'est correct.Échantillonnage universel stochastique
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;
}
Je suppose d'abord vous devez définir ce que cela signifie pour « trouver des personnes candidates » correctes. –
bien candidats seraient des individus qui sont des candidats potentiels à la recombinaison en fonction de leur score de condition physique. –
Maintenant, je ne sais pas ce que cela signifie, mais si cela signifie quelque chose de spécifique, peut-être que vous pouvez écrire un sous-programme de test qui vérifie que le code renvoie un résultat correct. –