導航:首頁 > 源碼編譯 > 遺傳演算法中的適應度

遺傳演算法中的適應度

發布時間:2023-10-25 16:18:32

Ⅰ 遺傳演算法中常用的適應度函數是什麼呢

1.物競――適應度函數(fitness function)

自然界生物競爭過程往往包含兩個方面:生物相互間的搏鬥與及生物與客觀環境的搏鬥過程。但在我們這個實例裡面,你可以想像到,袋鼠相互之間是非常友好的,它們並不需要互相搏鬥以爭取生存的權利。它們的生死存亡更多是取決於你的判斷。因為你要衡量哪只袋鼠該殺,哪只袋鼠不該殺,所以你必須制定一個衡量的標准。而對於這個問題,這個衡量的標准比較容易制定:袋鼠所在的海拔高度。(因為你單純地希望袋鼠爬得越高越好。)所以我們直接用袋鼠的海拔高度作為它們的適應性評分。即適應度函數直接返回函數值就行了。

引自:網頁鏈接

Ⅱ 遺傳演算法的適度函數是什麼意思舉個例說明下最好通俗

適應度用於評價個體的優劣程度,適應度越大個體越好,反之適應度越小則個體越差;根據適應度的大小對個體進行選擇,以保證適應性能好的個體有更多的機會繁殖後代,使優良特性得以遺傳.因此,遺傳演算法要求適應度函數值必須是非負數,而在許多實際問題中,求解的目標通常是費用最小,而不是效益最大,因此需要將求最小的目標根據適應度函數非負原則轉換為求最大目標的形式。
----------------
如何通俗易懂地解釋遺傳演算法?有什麼例子?
遺傳演算法,核心是達爾文優勝劣汰適者生存的進化理論的思想。

我們都知道一個種群,通過長時間的繁衍,種群的基因會向著更適應環境的趨勢進化,牛B個體的基因被保留,後代越來越多,適應能力低個體的基因被淘汰,後代越來越少。經過幾代的繁衍進化,留下來的少數個體,就是相對能力最強的個體了。

那麼在解決一些問題的時候,我們能不能學習這樣的思想,比如先隨機創造很多很多的解,然後找一個靠譜的評價體系,去篩選比較好的解,再用這些好的解像生小寶寶一樣生一堆可能更好的解,然後再篩再生,反復弄個幾代,得到的說不定就是近似最優解喲

說干就干,有一個經典組合問題叫「背包問題」,我們拿這種思路來試試

「背包問題(Knapsack problem)是一種組合優化的NP完全問題。問題可以描述為:給定一組物品,每種物品都有自己的重量和價格,在限定的總重量內,我們如何選擇,才能使得物品的總價格最高。問題的名稱來源於如何選擇最合適的物品放置於給定背包中。」

這個問題的衍生簡化問題「0-1背包問題」 增加了限制條件:每件物品只有一件,可以選擇放或者不放,更適合我們來舉例

這樣的問題如果數量少,當然最好選擇窮舉法
比如一共3件商品,用0表示不取,1表示取,那麼就一共有
000 001 010
011 100 101
110 111
這樣8種方案,然後讓計算機去累加和,與重量上限比較,留下來的解里取最大即可。

但如果商品數有300,3000,甚至3w種呢,計算量太大窮舉法可能就不適用了,這時如果遺傳演算法使用得當,就能在較短的時間內幫我們找到近似的最優解,我們繼續往下看:

新的問題是12件商品的0-1背包問題

我們先讓計算機隨機產生1000個12位的二級制數

把總重量超過背包上限的解篩掉

剩下的兩兩一對隨機交換「基因片段」產生下一代
交換前:
0000 1100 1101
0011 0101 0101
交換後:
0000 0101 1101
0011 1100 0101

再篩選,再交配,如此反復幾代,留下的解攜帶的「基因「差不多就是最好的了,怎麼樣跟生物進化是不是一模一樣?
其實還差點,生物繁殖過程中,新產生的基因是有一定幾率突變的,這是很多優良性狀的重要來源,遺傳演算法中可也不能忽略它

比如:
變異前:
000101100101
變異後:
000101110101

那也有人得疑惑了,我怎麼知道要讓哪個地方產生突變呢?其實蜘蛛俠NB之前,他也不知道蜘蛛咬在那能讓他變NB而不是SB,這就是一個概率問題。我們在設計演算法的時候,會給每個基因設置一個突變概率(當然是非常非常小了)同樣的在基因交換階段交換哪些基因呢,也是一個演算法設置問題。

總結一下,遺傳演算法應該有
一個基本函數:適度函數f(x)
三個基本操作:選擇,交叉,變異

一.適度函數
適度函數很好理解,其實就是指解的篩選標准,比如我剛才說的把所有超過上限重量的解篩選掉,但是不是有更好的篩選標准或者這個現有的標准根本就是個渣呢?這將直接影響最後結果的接近程度以及求解所耗費的時間,所以設置一個好的適度函數很重要

二.選擇
剛才為了大家理解方便,我直接讓所有解都參與了後續的交叉以及變異,但真實世界可不是這樣子的,因為也不是每個人都會結婚生子的對吧。
說直白點,所謂【屌絲注孤生】【工科男注孤生】什麼的還不是因為loser的基因不適合往下傳唄。不過實際情況是我們偶爾也能看到或聽到屌絲逆襲、鮮花牛糞之類勵志故事,只不過頻率比較低咯

沒錯,概率!在遺傳演算法中選擇也是個概率問題,在解的世界中(姑且這么稱呼吧)適度更高的高富帥們是不是應該有更高的概率被選去傳宗接代才合適呢?不過和現實世界一樣,適度低的屌絲解是要給人家一點希望的對不對?所以

在選擇一些解來產生下一代時,一種常用的選擇策略是 「比例選擇」,也就是個體被選中的概率與其適應度函數值成正比。假設群體的個體總數是M,那麼那麼一個體Xi被選中的概率為f(Xi)/( f(X1) + f(X2) + …….. + f(Xn) )

三.交叉
這是例子中詳細說到的,交換兩個解的部分」基因」,來構造兩個子代的解。

四.變異
在繁殖子代的過程中,新產生的解中的「基因」會以一定的概率出錯,稱為變異。我們可以吧變異發生的概率設置為Pm

五.基本遺傳演算法優化
精英主義:這是基本遺傳演算法的一種優化。目的是防止進化過程中產生的最優解被變異和交叉所破壞。《遺傳演算法原理及應用》介紹的最優保存策略是:即當前種群中適應度最高的個體不參與交叉運算和變異運算,而是用它來替換掉本代群體中經過交叉、變異等遺傳操作後所產生的適應度最低的個體。

後記:
其實不管是遺傳演算法,還是模擬退火演算法或者其他演算法,其本質都是借鑒自然界中的規則規律,人為的為問題設置了一個模擬模型,然後用大自然告訴我們的規律去找最優解,在理解這些演算法的時候,可以照著這個思路去走,一般能讓你快速撥雲見日,了解演算法的核心思想。
比如遺傳演算法,我們可以對比種群的進化,給問題設置的模型就是:
這樣參照著我們熟悉的知識體系,去理解學習,原來聽上去遙不可及的理論是不是一下就變得親切易懂了吧?

可是我們再看一些教科書或者就拿網路來說(怕也是摘抄的某本書上的段落)
真的是通篇不說人話啊!對已經了解這個演算法思想的人來說,還能勉強硬著頭皮看下去,但對入門者來說,這TMD簡直就是噩夢!而這完全是國內各種教材的通病!

我其實一直在想,教材面向的明明就是望門欲入的初學者,你不弄得生動活潑一點招徠門徒就算了,在一群幼兒園小朋友面前賣弄之乎者也還顯本事了是么!我是還記得我們學校的高數書編的有多麼生澀難懂,結果第一節課老教授上課時還說「我們不用同濟的版本,那本書太淺,不適合我們學校的學生」 可是在我和大多數同學看來,同濟版本的高數倒更像是為了要入門的同學編寫的教材,自己學校編的那本卻更像是給同行評閱炫耀作者深度的大部頭。

知識明明可以講的更有趣,讓人願意入其門來探個究竟。

作者:彈彈彈球

Ⅲ 遺傳演算法中每個個體的適應度值怎麼算啊,怎麼用matlab實現啊

適應度為所求問題g(x)的函數f(x),即為函數的函數f(g(x)),一般直接用所求問題的值作為個體的適應度值,即f(x)=1,比如求g(x)=x^2-8的最小值,適應度函數就是g(x)

Ⅳ 遺傳演算法適應度問題

由於遺傳策略的不同,使得新一代個體的最大適應度不一定比上一代個體的最大適應度大,這也就出現了採用「精度保留策略」的遺傳演算法,也就保證了所述問題中的1;最大適應度對應的個體直接保留,進入下一代進行交叉遺傳,這更符合實際情況,只能說明它與最初提出的標准遺傳演算法有操作步驟上的不同,並不能說明它與遺傳演算法的思想相矛盾。

Ⅳ 遺傳演算法中的適應度函數是什麼

適應度函數的選取直接影響到遺傳演算法的收斂速度以及能否找到最優解,因為遺傳演算法在進化搜索中基本不利用外部信息,僅以適應度函數為依據,利用種群每個個體的適應度來進行搜索。

因為適應度函數的復雜度是遺傳演算法復雜度的主要組成部分,所以適應度函數的設計應盡可能簡單,使計算的時間復雜度最小。

遺傳演算法評價一個解的好壞不是取決於它的解的結構,而是取決於該解的適應度值。這正體現了遺傳演算法「優勝劣汰」的特點。遺傳演算法不需要適應度函數滿足連續可微等條件,唯一要求是針對輸入可計算出能加以比較的非負結果。

(5)遺傳演算法中的適應度擴展閱讀

在遺傳演算法中,適應度是描述個體性能的主要指標。根據適應度的大小,對個體進行優勝劣汰。適應度是驅動遺傳演算法的動力。

從生物學角度講,適應度相當於「生存競爭、適者生存」的生物生存能力,在遺傳過程中具有重要意義。將優化問題的目標函數與個體的適應度建立映射關系,即可在群體進化過程中實現對優化問題目標函數的尋優。

閱讀全文

與遺傳演算法中的適應度相關的資料

熱點內容
谷歌伺服器無法直接打開怎麼辦 瀏覽:430
電腦如何用安卓導航 瀏覽:352
十年以上程序員買什麼車 瀏覽:5
怎麼讓任務欄中文件夾合並 瀏覽:947
阿里雲伺服器後台開放8888埠 瀏覽:840
湖南電信iptv升級伺服器地址 瀏覽:1000
27乘36簡便演算法 瀏覽:338
柱加密區在哪裡 瀏覽:860
庫卡機器人編程視頻 瀏覽:834
程序員初級證 瀏覽:39
聚類演算法的偽代碼 瀏覽:1002
生物信息文件夾 瀏覽:858
如何設置電腦上的伺服器 瀏覽:999
25乘105用簡便演算法 瀏覽:926
浪潮伺服器怎麼修復系統 瀏覽:341
泰拉瑞亞全物品國外伺服器地址 瀏覽:446
qq加密傳輸密碼 瀏覽:102
程序員騙房產 瀏覽:464
macd趨勢源碼 瀏覽:940
用秦九韶演算法求多項式fx 瀏覽:603