導航:首頁 > 源碼編譯 > 子代遺傳演算法

子代遺傳演算法

發布時間:2022-04-21 15:13:28

Ⅰ 基因演算法和遺傳演算法的區別

遺傳演算法
一種基於自然群體遺傳演化機制的高效探索演算法,它是美國學者Holland於1975年首先提出來的。它摒棄了傳統的搜索方式,模擬自然界生物進化過程,採用人工進化的方式對目標空間進行隨機化搜索。它將問題域中的可能解看作是群體的一個個體或染色體,並將每一個體編碼成符號串形式,模擬達爾文的遺傳選擇和自然淘汰的生物進化過程,對群體反復進行基於遺傳學的操作(遺傳,交叉和變異),根據預定的目標適應度函數對每個個體進行評價,依據適者生存,優勝劣汰的進化規則,不斷得到更優的群體,同時以全局並行搜索方式來搜索優化群體中的最優個體,求得滿足要求的最優解。
Holland創建的遺傳演算法是一種概率搜索演算法,它是利用某種編碼技術作用於稱為染色體的數串,其基本思想是模擬由這些組成的進化過程。跗演算法通過有組織地然而是隨機地信息交換重新組合那些適應性好的串,在每一代中,利用上一代串結構中適應好的位和段來生成一個新的串的群體;作為額外增添,偶爾也要在串結構中嘗試用新的位和段來替代原來的部分。
遺傳演算法是一類隨機化演算法,但是它不是簡單的隨機走動,它可以有效地利用已經有的信息處理來搜索那些有希望改善解質量的串,類似於自然進化,遺傳演算法通過作用於染色體上的基因,尋找好的染色體來求解問題。與自然界相似,遺傳演算法對待求解問題本身一無所知,它所需要的僅是對演算法所產生的每個染色體進行評價,並基於適應度值來造反染色體,使適用性好的染色體比適應性差的染色體有更多的繁殖機會。
基因演算法
一種生物進化的演算法,實際上是一種多目標的探索法.能夠用於計劃與排程.它是非常新的技術,目前,還沒有在商業中實際運用.
採用生物基因技術高級演算法,處理日益復雜的現實世界,也是人工智慧上,高級約束演算法上的挑戰. 基因演算法是一種搜索技術,它的目標是尋找最好的解決方案。這種搜索技術是一種優化組合,它以模仿生物進化過程為基礎。基因演算法的基本思想是,進化就是選擇了最優種類。基因演算法將應用APS上,以獲得「最優」的解決方案。

Ⅱ 遺傳演算法是什麼

遺傳演算法(Genetic Algorithm)是一類借鑒生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。
遺傳演算法(Genetic Algorithms簡稱GA)是由美國Michigan大學的John Holland教授於20世紀60年代末創建的。它來源於達爾文的進化論和孟德爾、摩根的遺傳學理論,通過模擬生物進化的機制來構造人工系統。遺傳演算法作為一種全局優化方法,提供了一種求解復雜系統優化問題的通用框架,它不依賴於問題的具體領域,對優化函數的要求很低並且對不同種類的問題具有很強的魯棒性,所以廣泛應用於計算機科學、工程技術和社會科學等領域。John Holland教授通過模擬生物進化過程設計了最初的遺傳演算法,我們稱之為標准遺傳演算法。
標准遺傳演算法流程如下:
1)初始化遺傳演算法的群體,包括初始種群的產生以及對個體的編碼。
2)計算種群中每個個體的適應度,個體的適應度反映了其優劣程度。
3)通過選擇操作選出一些個體,這些個體就是母代個體,用來繁殖子代。
4)選出的母代個體兩兩配對,按照一定的交叉概率來進行交叉,產生子代個體。
5)按照一定的變異概率,對產生的子代個體進行變異操作。
6)將完成交叉、變異操作的子代個體,替代種群中某些個體,達到更新種群的目的。
7)再次計算種群的適應度,找出當前的最優個體。
8)判斷是否滿足終止條件,不滿足則返回第3)步繼續迭代,滿足則退出迭代過程,第7)步中得到的當前最優個體,通過解碼,就作為本次演算法的近似最優解。

具體你可以到網路文庫去搜索遺傳演算法相關的論文,很多的。
你也可以參考網路里對遺傳演算法的介紹。

Ⅲ 請教遺傳演算法三個問題

1、先交叉 在變異 還是先變異後交叉?
2、選擇父代進行交叉的個數是不是2n個?n是種群大小。
3、交叉概率+變異概率=100%? 還是就沒啥關系?
可以這樣理解。一般都是順序選擇個體,逐一生成隨機數的吧。因為從選擇操作上看,種群中個體不存在序,所以沒有必要隨機選擇。
不過交叉後得到的種群還不能稱為子代。
2 不是。對於每一父代種群中個體產生一個(0,1)間的隨機數,若大於交叉概率,該個體不參與交叉。反之被標記,並於下一個參與交叉的個體進行交叉操作,所生成的兩個個體替換父代的兩個個體。因而,每一個父代個體可能參與0或1次交叉。
3 兩者不存在相加為100%的關系。這是兩種不同操作。但是取值組合確實對結果有影響。
以上是根據遺傳演算法的標准源碼給出的,你最好看看遺傳演算法的標准源碼。遺傳演算法發展至今已有很多改進的方法和新設計的運算元,性能較標准源碼有不少的提升。

Ⅳ 關於遺傳演算法

遺傳演算法(Genetic Algorithm,簡稱GA)是美國 Michigan大學的 John Golland提出的一種建立在自然選擇和群體遺傳學機理基礎上的隨機、迭代、進化、具有廣泛適用性的搜索方法。現在已被廣泛用於學習、優化、自適應等問題中。圖4-1 給出了 GA搜索過程的直觀描述。圖中曲線對應一個具有復雜搜索空間(多峰空間)的問題。縱坐標表示適應度函數(目標函數),其值越大相應的解越優。橫坐標表示搜索點。顯然,用解析方法求解該目標函數是困難的。採用 GA時,首先隨機挑選若干個搜索點,然後分別從這些搜索點開始並行搜索。在搜索過程中,僅靠適應度來反復指導和執行 GA 搜索。在經過若干代的進化後,搜索點後都具有較高的適應度並接近最優解。

一個簡單GA由復制、雜交和變異三個遺傳運算元組成:

圖4-2 常規遺傳演算法流程圖

Ⅳ AAXX Aaxy的遺傳演算法

在這里,A和a是指常染色體,XY是性染色體。XX為女性,XY為男性。
1、AAXX為常染色體顯性女性。AaXY 為常染色體雜合男性。
他倆的子女中,AA與Aa進行基因分離與自由組合。後代1/2概率為AA,1/2概率為Aa。同樣,性染色體也一樣分離。1/2概率為XX,1/2概率為XY。把常染色體和性染色體分開看子代基因型後,各基因型之間也自由組合:AAXX概率為1/2AA*1/2XX=1/4,同理,AaXX,AAXY,AaXY也是1/4。即:AAXX和AaXY的後代,基因型組合為AAXX,AAXY,AaXX,AaXY,比例都是1/4.
2、AaXX為常染色雜合女性, AaXY為常染色雜合男性。
Aa*Aa依據基因分離及自由組合定律,後代中,1/4AA,1/2Aa,1/4aa。性染色體情況和上面一樣,1/2概率為XX,1/2概率為XY。同上所述的基因型自由組合:AAXX概率為1/4AA*1/2XX=1/8,AaXX概率為1/2Aa*1/2XX=1/4,AaXY概率為1/2Aa*1/2XY=1/4,AAXY概率為1/4AA*1/2XY=1/8,aaXX概率為1/4aa*1/2XX=1/8, aaXY概率為1/4aa*1/2Xy=1/4。
即:AaXX和AaXY的後代,基因型組合為AAXX1/8,AaXX1/4,AaXY1/4,AAXY1/8,aaXX1/8, aaXY1/8。

Ⅵ 遺傳演算法<sup>[1,]</sup>

遺傳演算法,又稱基因演算法(Genetic Algorithm,簡稱GA),也是一種啟發式蒙特卡洛優化演算法。遺傳演算法最早是由Holland(1975)提出,它模擬了生物適者生存、優勝劣汰的進化過程,具有不依賴於初始模型的選擇、不容易陷入局部極小、在反演過程中不用計算偏導數矩陣等優點。遺傳演算法最早由Stoffa和Sen(1991)用於地震波的一維反演,之後在地球物理資料的非線性反演中得到廣泛的應用。GA演算法對模型群體進行追蹤、搜索,即模型狀態通過模型群體傳送,具有比模擬退火法更大、更復雜的「記憶」,潛力更大。

遺傳演算法在反演中的基本思路和過程是:

(1)將生物體看成模型,模型參數看成染色體,有多少個模型的參數就有多少個染色體。對每個模型的參數(染色體)用二進制進行編碼,這個編碼就是基因。

(2)隨機生成一個模型群體(相當於生物的種群),然後在模型群體中進行繁殖,通過母本的選擇、交換和變異等遺傳操作產生下一代,然後保留較好基因,淘汰較差基因。

(3)通過一代一代的繁殖優勝劣汰的進化過程,最後所剩下的種群基本上都是最優的基因,種群趨於一致。所謂群體「一致」,即群體目標函數的方差或標准差很小,或者群體目標函數的均值接近於極值(可能是極大值或極小值),從而獲得非線性反演問題所對應的最優解或近似最優解。

下面以一個實例來簡述遺傳演算法的基本過程。

[例1]設m是正整數,且0≤m≤127,求方程φ(m)=m2的極大值。

這個例子極為簡單,只有一個模型參數,因此只有一條染色體,目標函數的極值是極大值(此例子來自阮百堯課件)。遺傳演算法通過以下7個步驟來實現:

(1)模型參數二進制編碼。

每個模型參數就是一條染色體,把十進制的模型參數表示為二進制,這就是基因。首先確定二進制碼的長度(基因的長度):

2N=[mmax(i)-mmin(i)]/Δm(i) (8.20)

其中:N為第i條染色體基因的長度(也就是第i個模型參數的二進制碼位數);[mmin(i),mmax(i)]為第i個模型參數的取值范圍;Δm(i)為第i個模型參數的解析度。這樣就把模型參數離散化了,它只能按Δm(i)的整數倍變化。基因的長度按下式計算:

地球物理反演教程

其中:c為實數;N為基因長度,是整數;int[ ]為取整函數。上式表示如果c不是整數,那麼基因長度N就是對c取整後加1,這樣保證最小解析度。

基因的編碼按下式進行:

地球物理反演教程

其中:式(8.22)是編碼公式;k為基因編碼的十進制數,是整數;int[ ]為取整函數。把k轉化為二進制就是基因的編碼。解碼是按照式(8.23)進行的。首先把一個基因的二進制編碼轉化為十進制數k,然後按式(8.23)可以計算出第i個模型參數m(i)的十進制值。

例如:電阻率參數ρ(1),它的變化范圍為10~5000Ω·m,解析度為2Ω·m,設當前參數ρ(1)=133Ω·m,按式(8.21)計算得

c=11.28482,N=12

所以二進制基因長度為13位。

利用式(8.22)計算基因編碼k的十進制數:

k=int[(133-10)/2]=61

把它轉化為二進制數為:000000111101。所以ρ(1)=133 的二進制基因編碼為:000000111101。

解碼過程就是把二進制基因編碼變為十進制數k後用式(8.23)計算:

ρ(1)=10+61×2=132(Ω·m)

注意:基因編碼並不是直接把電阻率值變為二進制。此外,133這個值在基因里不會出現,因為解析度是2,所以表示為最接近的132。

對於[例1]問題來說,選解析度為1,0~127用二進制編碼需7位。

(2)產生初始模型種群。

生物繁殖進化需要一定數量的生物體種群,因此遺傳演算法開始時需要一定數量的初始模型。為保證基因的多樣性,隨機產生大量的初始模型作為初始種群,按照上面的編碼方式進行編碼。個體在模型空間中應分布均勻,最好是模型空間各代表區域均有成員。初始模型群體大,有利於搜索,但太大會增加計算量。

為保證演算法收斂,在初始模型群體中,有時候應增加各位都為0和都為1的成員。遺傳演算法就是在這個初始模型種群的基礎上進行繁殖,進化求解的。

對於[例1]問題來說,模型空間是0~127個數字,這樣初始種群最多具有128個個體。為了簡單,隨機選擇4個個體作為初始種群。初始種群的編碼、目標函數值見表8.1。

表8.1 初始種群編碼表

(3)模型選擇。

為了生成新一代模型,需要選擇較優的個體進行配對。生物進化按照自然選擇、優勝劣汰的准則進行。對應地,遺傳演算法按照一定的准則來選擇母本(兩個),然後進行配對繁殖下一代模型,這個選擇稱為模型選擇。模型配對最基本的方法是隨機采樣,用各模型的目標函數值對所有模型目標函數的平均值的比值定義繁殖概率,即

地球物理反演教程

其中:p(mi)為繁殖概率;φ(mi)為第i個模型的目標函數;φAVG為目標函數的平均值。對於極小化問題來說,規定目標函數值高於平均值的不傳代;對於極大化問題來說,反之即可。

就[例1]來說,要求目標函數取極大值,所以規定目標函數小於平均值的模型不傳代,大於它的可以傳代。對第一代,為了防止基因丟失,可先不捨去繁殖概率小的模型,讓它與概率大的模型配對。如:本例中70與56配對,101與15配對產生子代,見表8.2。

表8.2 基因交換表

(4)基因交換。

將配對的兩個親本模型的部分染色體相互交換,其中交換點可隨機選擇,形成兩個新的子代(見表8.2)。兩個染色體遺傳基因的交換過程是遺傳演算法的「繁殖」過程,是母本的重組過程。

為了使染色體的基因交換比較徹底,Stoffa等人提出了一個交換概率px來控制選擇操作的效果。如果px的值較小,那麼交換點的位置就比較靠低位,這時的交換操作基本是低位交換,交換前後模型的染色體變化不是太大。如果px的值較大,那麼交換點的位置就比較靠高位,此時的交換操作可以在較大的染色體空間進行,交換前後模型數值變化可以很大。

在[例1]中:15、101和56、70作為母本通過交換繁殖出子代5、6、111、120。所選擇的基因交換位置見表8.2。有下劃線的,是要交換的基因位置。

(5)更新。

母本模型和子本模型如何選擇保留一定數量作為新的母本,就是模型更新。不同的策略會導致不同的結果。一般而言,若產生的新一代模型較好,則選擇新一代模型而淘汰上一代模型。否則,則必須根據一定的更新概率pu來選擇上一代模型來取代新一代中某些較劣的模型。

經過更新以後,繁殖時對子代再進行優勝劣汰的選擇。對於極大值問題,大於目標函數平均值的子代可以繁殖,小於目標函數平均值的子代不能繁殖。由於新的種群能繁殖的個體數量減小了,所以要多繁殖幾次,維持種群個體的數量保持平衡。

在[例1]中,子代較好,所以完全淘汰上一代模型,完全用子代作為新的母本。選擇子代目標函數最大的兩個模型進行繁殖,分別是111、120。

(6)基因變異。

在新的配對好的母本中,按一定比例隨機選擇模型進行變異,變異操作就是模擬自然界中的環境因素,就是按比較小的變異概率pm將染色體某位或某幾位的基因發生突變(即將0變為1或將1變為0)。

變異操作的作用是使原來的模型發生某些變化,從而成為新的個體。這樣可使群體增加多樣性。變異操作在遺傳演算法中也起著至關重要的作用。實際上,由於搜索空間的性質和初始模型群體的優劣,遺傳演算法搜索過程中往往會出現所謂的「早熟收斂」現象,即在進化過程中早期陷入局部解而中止進化。採用合適的變異策略可提高群體中個體的多樣性,從而防止這種現象的出現,有助於模型跳出局部極值。表8.3為[例1]的基因變異繁殖表。

表8.3 基因變異繁殖表

在[例1]中,用111、120分別繁殖兩次,形成4個子代,維持種群數量平衡。隨機選擇120進行變異,變異的位數也是隨機的。這里把它的第2位進行變異,即從1變為0,繁殖後形成子代為:70、110、121、127。可以看出新的子代比初始種群要好得多,其中甚至已經出現了最優解。如果對於地球物理的極小值問題,我們可以預先設置一個擬合精度,只要在種群中出現一個達到擬合精度的模型就可以終止反演了。

(7)收斂。

重復(3)~(6)的步驟,模型群體經多次選擇、交換、更新、變異後,種群個體數量大小不變,模型目標函數平均值趨於穩定,最後聚集在模型空間中一個小范圍內,則找到了全局極值對應的解,使目標函數最大或最小的模型就是全局最優模型。

對於具有多解性的地球物理反演問題來說,通過這一步有可能找到滿足擬合精度的多個模型,對於實際反演解釋、推斷具有較高的指導意義。

遺傳演算法中的各種概率包括交換概率px、變異概率pm以及更新概率pu,這些參數的選擇與設定目前尚無統一的理論指導,多數都視具體問題而定。Stoffa等(1991)的研究表明,適中的交換概率(px≈0.6)、較小的變異概率(pm≈0.01)和較大的更新概率(pu≈0.9),遺傳演算法的性能較優。

與模擬退火反演演算法相同,遺傳演算法與傳統的線性反演方法相比,該方法具有:不依賴初始模型的選擇、能尋找全局最小點而不陷入局部極小、在反演過程中不用計算雅克比偏導數矩陣等優點。另外,遺傳演算法具有並行性,隨著並行計算和集群式計算機技術的發展,該演算法將會得到越來越廣泛的研究與應用。

但是遺傳演算法作為類蒙特卡洛演算法同樣需要進行大量的正演計算,種群個體數量越大,繁衍代數越多,則計算量越大。所以和前面的最小二乘法相比,速度不是它的優勢。

Ⅶ 遺傳演算法的一般演算法

遺傳演算法是基於生物學的,理解或編程都不太難。下面是遺傳演算法的一般演算法: 繁殖(包括子代突變)
帶有較高適應度值的那些染色體更可能產生後代(後代產生後也將發生突變)。後代是父母的產物,他們由來自父母的基因結合而成,這個過程被稱為「雜交」。 各個個體對環境的適應程度叫做適應度(fitness)。為了體現染色體的適應能力,引入了對問題中的每一個染色體都能進行度量的函數,叫適應度函數。 這個函數是計算個體在群體中被使用的概率。

Ⅷ 請教遺傳演算法中解碼的問題

應該說所有的遺傳演算法都得編碼、解碼,遺傳演算法是模擬生物遺傳和進化過程,交叉是遺傳演算法的核心操作。交叉過程就是二進制數據之間的運算操作,例如;與,或,異或……編碼目的是實現從表現型到基因型的映射,便於遺傳操作;然後通過適應度函數選擇合適下一代,依次迭代,直到達到合適子代。此時所求的子代還是二進制,因此必須再通過解碼將子代映射到表現型。

閱讀全文

與子代遺傳演算法相關的資料

熱點內容
成都市區建成面積演算法 瀏覽:658
智能家居單片機 瀏覽:95
買男裝用什麼app好 瀏覽:853
文件夾合並了怎麼拆開 瀏覽:256
波段副圖源碼無未來函數 瀏覽:86
livecn伺服器地址 瀏覽:257
程序員這個工作真的很吃香嗎 瀏覽:844
程序員和數學分析師待遇 瀏覽:678
壓縮氣彈簧怎麼拆 瀏覽:321
華為公有雲伺服器添加虛擬ip 瀏覽:209
程序員和運營哪個累 瀏覽:24
抖音安卓信息提示音怎麼設置 瀏覽:454
光速虛擬機的共享文件夾 瀏覽:248
程序員培訓機構發的朋友圈真實性 瀏覽:742
天乾地支簡單演算法 瀏覽:299
下載個壓縮文件 瀏覽:300
普通人電腦關機vs程序員關機 瀏覽:628
米酷建站源碼 瀏覽:115
氫氣app怎麼搜搭配 瀏覽:619
pdf綠盟 瀏覽:506