유전 알고리즘에 ranking selection method 코드가 필요합니다. 나는 룰렛과 토너먼트 선택 방법을 만들었지 만 지금 순위가 필요하고 붙어 있습니다.유전 알고리즘 코드의 순위 선택
내 룰렛 코드 (I 유전 원자에 대한 원자 구조체를 사용하고 있습니다) 여기에 있습니다 :
이const int roulette (const atom *f)
{
int i;
double sum, sumrnd;
sum = 0;
for (i = 0; i < N; i++)
sum += f[i].fitness + OFFSET;
sumrnd = rnd() * sum;
sum = 0;
for (i = 0; i < N; i++) {
sum += f[i].fitness + OFFSET;
if (sum > sumrnd)
break;
}
return i;
}
원자
: 이미 룰렛에 알고
typedef struct atom
{
int geno[VARS];
double pheno[VARS];
double fitness;
} atom;
? 희망이 [토론] (http://stackoverflow.com/questions/10152002/building-ranking-with-genetic-algorithm) 도움이됩니다. – bonCodigo
C++, 이것은 일반 C 부분이지만 Nokia QT Framework에서 개발 중입니다. –