【发布时间】:2012-11-19 12:51:04
【问题描述】:
我需要遗传算法上的ranking selection method 代码。 我已经创建了轮盘赌和锦标赛选择方法,但现在我需要排名并且我被卡住了。
我的轮盘赌代码在这里(我使用 atom struct 作为遗传原子):
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;
【问题讨论】:
-
你用什么语言编码?希望discussion 对您有所帮助。
-
C++,这是一个普通的 C 部分,但我正在诺基亚 QT 框架中开发它
标签: algorithm artificial-intelligence selection genetic-algorithm