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;
}
은 내가 먼저 당신이 올바른로 "후보 개인을 찾는"무엇을 의미하는지 정의 할 것 같아요. –
잘 후보 개인은 체력 점수에 따라 재조합의 잠재적 인 후보자가 될 것입니다. –
이제는 그게 무슨 뜻인지 모르겠지만, 뭔가 특별한 것을 의미하는 경우 코드가 올바른 결과를 반환하는지 확인하는 테스트 서브 루틴을 작성할 수 있습니다. –