ソース

2進数による個体(染色体)の生成のサンプルです。


unsigned long InitGene(int nbit)
{
	unsigned long g = 0;
	for (int i = 0; i < nbit; i++) {
		g <<= 1;
		if (MyRand() > 0.5f) g |= 1;
	}
	return g;
}

個体をgという変数で表します。gというのは遺伝子(gene)の頭文字から取りました。・・・の続きはもう省略! (もう一方のソースを見よ!)

やってることは簡単ですね!ループ1カウント毎に左シフトしながら乱数の値によって 0にするか1にするかを論理和をとることによって決定している訳です。

HOME