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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

很好的理解遗传算法的样例

發布時間:2023/12/9 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 很好的理解遗传算法的样例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

遺傳算法的手工模擬計算演示樣例

為更好地理解遺傳算法的運算過程,以下用手工計算來簡單地模擬遺傳算法的各
??? 個主要運行步驟。
??
???? 例:求下述二元函數的最大值:

??? (1) 個體編碼
?????????? 遺傳算法的運算對象是表示個體的符號串,所以必須把變量 x1, x2 編碼為一種
?????? 符號串。本題中,用無符號二進制整數來表示。
?????????? 因 x1, x2 為 0 ~ 7之間的整數,所以分別用3位無符號二進制整數來表示,將它
?????? 們連接在一起所組成的6位無符號二進制數就形成了個體的基因型,表示一個可
?????? 行解。
?????????? 比如,基因型 X=101110 所相應的表現型是:x=[ 5,6 ]。
?????????? 個體的表現型x和基因型X之間可通過編碼和解碼程序相互轉換。

(2) 初始群體的產生
????????? 遺傳算法是對群體進行的進化操作,須要給其淮備一些表示起始搜索點的初始
????? 群體數據。
???????? 本例中,群體規模的大小取為4,即群體由4個個體組成,每一個個體可通過隨機
???? 方法產生。
????????? 如:011101,101011,011100,111001
?????????
?(3) 適應度汁算
????????? 遺傳算法中以個體適應度的大小來評定各個個體的優劣程度,從而決定其遺傳
?????? 機會的大小。
????????? 本例中,目標函數總取非負值,而且是以求函數最大值為優化目標,故可直接
?????? 利用目標函數值作為個體的適應度。

?(4)? 選擇運算
????????? 選擇運算(或稱為復制運算)把當前群體中適應度較高的個體按某種規則或模型遺傳到下一代群體中。一般要求適應度較高的個體將有很多其它的機會遺傳到下一代
????? 群體中。???????????????????
本例中,我們採用與適應度成正比的概率來確定各個個體拷貝到下一代群體中
???? 的數量。其詳細操作過程是:
???????? ?? 先計算出群體中所有個體的適應度的總和? ?fi? ( i=1.2,…,M );
???????? ?? 其次計算出每一個個體的相對適應度的大小 fi / ?fi ,它即為每一個個體被遺傳
???????????? 到下一代群體中的概率,
???????? ?? 每一個概率值組成一個區域,所有概率值之和為1;
???????? ?? 最后再產生一個0到1之間的隨機數,根據該隨機數出如今上述哪一個概率區
???????????? 域內來確定各個個體被選中的次數。

(5)? 交叉運算
??????? 交叉運算是遺傳算法中產生新個體的主要操作過程,它以某一概率相互交換某
??? 兩個個體之間的部分染色體。
?????? 本例採用單點交叉的方法,其詳細操作過程是:
?????? ? 先對群體進行隨機配對;
?????? ? 其次隨機設置交叉點位置;
?????? ? 最后再相互交換配對染色體之間的部分基因。

(6)? 變異運算
???????? 變異運算是對個體的某一個或某一些基因座上的基因值按某一較小的概率進
???? 行改變,它也是產生新個體的一種操作方法。
??????? 本例中,我們採用基本位變異的方法來進行變異運算,其詳細操作過程是:
??????? ? 首先確定出各個個體的基因變異位置,下表所看到的為隨機產生的變異點位置,
????????? 當中的數字表示變異點設置在該基因座處;
??????? ? 然后按照某一概率將變異點的原有基因值取反。

對群體P(t)進行一輪選擇、交叉、變異運算之后可得到新一代的群體p(t+1)。

從上表中可以看出,群體經過一代進化之后,其適應度的最大值、平均值都得
??? 到了明顯的改進。其實,這里已經找到了最佳個體“111111”。???????
[注意]??????
??????? 須要說明的是,表中有些欄的數據是隨機產生的。這里為了更好地說明問題,
?? 我們特意選擇了一些較好的數值以便可以得到較好的結果,而在實際運算過程中
?? 有可能須要一定的循環次數才干達到這個最優結果。

轉載于:https://www.cnblogs.com/mfrbuaa/p/3900832.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的很好的理解遗传算法的样例的全部內容,希望文章能夠幫你解決所遇到的問題。

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