C 輪盤賭 採用累加的思想

2021-07-04 08:07:51 字數 758 閱讀 2062

輪盤賭選擇:what's the roulette wheel selection

輪盤賭選擇又稱比例選擇運算元。

基本思想:個體被選中的概率與其適應度函式值成正比。

設群體大小為n,個體i的適應度為fi,則個體i被選中遺傳到下一代群體的概率為:

工作過程:

設想群體全部個體的適當性分數由一張餅圖來代表 (見圖)。

群體中每一染色體指定餅圖中乙個小塊。塊的大小與染色體的適應性分數成比例,適應性分數愈高,它在餅圖中對應的小塊所佔面積也愈大。為了選取乙個染色體,要做的就是旋轉這個輪子,直到輪盤停止時,看指標停止在哪一塊上,就選中與它對應的那個染色體。

舉例:

若產生隨機數為0.81,則6號個體被選中。

實現**:

int roulettewheelselection()

}return selectedgenomepos;

}

輪盤賭演算法

首先,這個演算法可以如下表述 如果已知a類物件生成概率為p a b類物件生成概率為p b c類物件 k類物件,他們的概率總和為1,問如何在a k中隨機生成乙個物件 演算法理解如下 即我們需要先對0 1區段按照概率大小劃分長度,設隨機生成乙個0 1之間的數,這種隨機數生成結果是在0 1均勻分布的,然後...

輪盤賭演算法

1.基本原理 群體中個體被選擇的概率與其適應度值成正比。設個體表示為 2.由輪盤 化示例 個體 1234 5適應度值24 6810個體被選擇的概率 按照上式計算 0.07 0.13 0.20.27 0.33 3.累積概率 補充上表個體1 2345 適應度值24 6810個體被選擇的概率 按照上式計算...

輪盤賭演算法

首先,這個演算法可以如下表述 如果已知a類物件生成概率為p a b類物件生成概率為p b c類物件 k類物件,他們的概率總和為1,問如何在a k中隨機生成乙個物件 演算法理解如下 即我們需要先對0 1區段按照概率大小劃分長度,設隨機生成乙個0 1之間的數,這種隨機數生成結果是在0 1均勻分布的,然後...