日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

轮盘赌算法原理

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轮盘赌算法原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

輪盤賭算法的基本思想是:各個個體被選中的概率與其適應度函數值大小成正比,它是為了防止適應度數值較小的個體被直接淘汰而提出的。
為了弄清輪盤賭算法,我搜集了相關的文獻和教材,發現很多文章都喜歡把輪盤賭算法與遺傳算法、蟻群算法、蜂群算法等混入一起來解釋,這樣輪盤賭算法中就會冒出什么染色體、遺傳下一代、信息正反饋、信息素、雇傭蜂等詞語,看起來“高大上”,這樣也使得簡單實用的輪盤賭算法在理解和實現上都變得復雜。話說,輪盤賭算法是可以應用到遺傳算法、蟻群算法中去,但其算法的機理和遺傳算法、蟻群算法是相互獨立的,它的實現機理和遺傳算法、蟻群算法、蜂群算法等沒有任何關系,也沒有什么染色體、遺傳下一代、信息正反饋等高大上的詞匯。
輪盤賭算法的核心在于兩個概率和個體選擇策略:
(1)個體選擇概率
(2)累積概率
(3)如何選擇某個個體
1、個體個體選擇概率比較好理解,適應度數值越高,它被選中的概率就越大,使用以下公式來表示。

其中,xi為某個個體。
2、累積概率把各個個體的概率使用不同長度的線段來表示,這些線段組合成一條直線,直線的長度為1(各個個體概率之和),這樣在該直線中,某段的線段最長,就代表該個體被選中的概率越大。它的機理為:
(一)任意選擇所有個體的一個排列序列(這個序列可以隨便排,因為是某線段之間的長度為代表某個體的選擇概率)
(二)任意個體的累積概率為該個體對應的前幾項數據的累加和。
某個個體的累加概率公式如下:

這樣,如果某個個體的適應度數值高,它所對應的個體選擇概率就會越大,通過累積概率轉換后對應的線段會越長。
?


3、選擇某個個體策略為在區間[0 1]中隨機產生一個數,看看該數字落在那個區間,很明顯,對于適應度值較大的個體,對應的線段長度會長,這樣隨機產生的數字落在此區間的概率就大,該個體被選中的概率也大。同時,對于適應度較小的個體,線段長度會相對較短,隨機數字在該區間的概率相對較小,但是也有被選中的可能,避免了適應度數值較小的個體被直接淘汰的問題。
綜上,輪盤賭算法的實現步驟為
(i)初始化各個個體的適應度值(適應度值就是某個數值,什么數據都可以,只是對于不同的問題,這個適應度值代表的意義不一樣)
(ii)根據公式計算各個個體的個體選擇概率和累積概率
(iii)在區間[0 1]之間隨機生成一個數,判斷該數落在哪個區間內,如果落在某個區間,則該區間被選中。
例子:使用輪盤賭算法根據各個個體被選中的概率與其適應度函數值大小成正比原理,使用了[0.23 0.65 0.38 0.96 0.14 0.76 0.99 0.76 0.56 0.77];%10個模擬適應度值做了實驗,計算了3次,每次循環100次。根據算法思想應該為適應度值越大,該個體被選擇的概率也就越大,也就是說這100次中該個體被選中的次數應該越多。
第一次: 3 8 8 16 3 17 19 9 3 14
第二次: 2 10 8 15 1 8 18 12 11 15
第三次: 4 15 3 19 6 8 14 13 9 9
可以看到,對于適應度值為0.14的個體,這3次中選中的次數分別為:3、1、6,而對于適應度為0.99的個體,這3次中選中的次數分別為:19,18,14。基本滿足了輪盤賭算法的原理。輪盤賭算法matlab實現的代碼如下,由于每次的判斷數都是隨機的,大家使用的該算法得到的測試結果肯定和上面3次的效果不一樣,每次但是適應度大的個體被選中的次數一般都會多于適應度較小的個體。

總結

以上是生活随笔為你收集整理的轮盘赌算法原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。