遺傳算法為群體優(yōu)化算法,也就是從多個(gè)初始解開(kāi)始進(jìn)行優(yōu)化,每個(gè)解稱為一個(gè)染色體,各染色體之間通過(guò)競(jìng)爭(zhēng)、合作、單獨(dú)變異,不斷進(jìn)化。 優(yōu)化時(shí)先要將實(shí)際問(wèn)題轉(zhuǎn)換到遺傳空間,就是把實(shí)際問(wèn)題的解用染色體表示,稱為編碼,反過(guò)程為解碼,因?yàn)閮?yōu)化后要進(jìn)行評(píng)價(jià),所以要返回問(wèn)題空間,故要進(jìn)行解碼。SGA采用二進(jìn)制編碼,染色體就是二進(jìn)制位串,每一位可稱為一個(gè)基因;解碼時(shí)應(yīng)注意將染色體解碼到問(wèn)題可行域內(nèi)。 遺傳算法模擬“適者生存,優(yōu)勝劣汰”的進(jìn)化機(jī)制,染色體適應(yīng)生存環(huán)境的能力用適應(yīng)度函數(shù)衡量。對(duì)于優(yōu)化問(wèn)題,適應(yīng)度函數(shù)由目標(biāo)函數(shù)變換而來(lái)。一般遺傳算法求解最大值問(wèn)題,如果是最小值問(wèn)題,則通過(guò)取倒數(shù)或者加負(fù)號(hào)處理。SGA要求適應(yīng)度函數(shù)>0,對(duì)于<0的問(wèn)題,要通過(guò)加一個(gè)足夠大的正數(shù)來(lái)解決。這樣,適應(yīng)度函數(shù)值大的染色體生存能力強(qiáng)。 遺傳算法有三個(gè)進(jìn)化算子:選擇(復(fù)制)、交叉和變異。 SGA中,選擇采用輪盤賭方法,也就是將染色體分布在一個(gè)圓盤上,每個(gè)染色體占據(jù)一定的扇形區(qū)域,扇形區(qū)域的面積大小和染色體的適應(yīng)度大小成正比。如果輪盤中心裝一個(gè)可以轉(zhuǎn)動(dòng)的指針的話,旋轉(zhuǎn)指針,指針停下來(lái)時(shí)會(huì)指向某一個(gè)區(qū)域,則該區(qū)域?qū)?yīng)的染色體被選中。顯然適應(yīng)度高的染色體由于所占的扇形區(qū)域大,因此被選中的幾率高,可能被選中多次,而適應(yīng)度低的可能一次也選不中,從而被淘汰。算法實(shí)現(xiàn)時(shí)采用隨機(jī)數(shù)方法,先將每個(gè)染色體的適應(yīng)度除以所有染色體適應(yīng)度的和,再累加,使他們根據(jù)適應(yīng)度的大小分布于0-1之間,適應(yīng)度大的占的區(qū)域大,然后隨機(jī)生成一個(gè)0-1之間的隨機(jī)數(shù),隨機(jī)數(shù)落到哪個(gè)區(qū)域,對(duì)應(yīng)的染色體就被選中。重復(fù)操作,選出群體規(guī)模規(guī)定數(shù)目的染色體。這個(gè)操作就是“優(yōu)勝劣汰,適者生存”,但沒(méi)有產(chǎn)生新個(gè)體。 交叉模擬有性繁殖,由兩個(gè)染色體共同作用產(chǎn)生后代,SGA采用單點(diǎn)交叉。由于SGA為二進(jìn)制編碼,所以染色體為二進(jìn)制位串,隨機(jī)生成一個(gè)小于位串長(zhǎng)度的隨機(jī)整數(shù),交換兩個(gè)染色體該點(diǎn)后的那部分位串。參與交叉的染色體是輪盤賭選出來(lái)的個(gè)體,并且還要根據(jù)選擇概率來(lái)確定是否進(jìn)行交叉(生成0-1之間隨機(jī)數(shù),看隨機(jī)數(shù)是否小于規(guī)定的交叉概率),否則直接進(jìn)入變異操作。這個(gè)操作是產(chǎn)生新個(gè)體的主要方法,不過(guò)基因都來(lái)自父輩個(gè)體。 變異采用位點(diǎn)變異,對(duì)于二進(jìn)制位串,0變?yōu)?,1變?yōu)?就是變異。采用概率確定變異位,對(duì)每一位生成一個(gè)0-1之間的隨機(jī)數(shù),看是否小于規(guī)定的變異概率,小于的變異,否則保持原狀。這個(gè)操作能夠使個(gè)體不同于父輩而具有自己獨(dú)立的特征基因,主要用于跳出局部極值。 遺傳算法認(rèn)為生物由低級(jí)到高級(jí)進(jìn)化,后代比前一代強(qiáng),但實(shí)際操作中可能有退化現(xiàn)象,所以采用最佳個(gè)體保留法,也就是曾經(jīng)出現(xiàn)的最好個(gè)體,一定要保證生存下來(lái),使后代至少不差于前一代。大致有兩種類型,一種是把出現(xiàn)的最優(yōu)個(gè)體單獨(dú)保存,最后輸出,不影響原來(lái)的進(jìn)化過(guò)程;一種是將最優(yōu)個(gè)體保存入子群,也進(jìn)行選擇、交叉、變異,這樣能充分利用模式,但也可能導(dǎo)致過(guò)早收斂。 由于是基本遺傳算法,所以優(yōu)化能力一般,解決簡(jiǎn)單問(wèn)題尚可,高維、復(fù)雜問(wèn)題就需要進(jìn)行改進(jìn)了。 下面為代碼。函數(shù)最大值為3905.9262,此時(shí)兩個(gè)參數(shù)均為-2.0480,有時(shí)會(huì)出現(xiàn)局部極值,此時(shí)一個(gè)參數(shù)為-2.0480,一個(gè)為2.0480。算法中變異概率pm=0.05,交叉概率pc=0.8。如果不采用最優(yōu)模式保留,結(jié)果會(huì)更豐富些,也就是算法最后不一定收斂于極值點(diǎn),當(dāng)然局部收斂現(xiàn)象也會(huì)有所減少,但最終尋得的解不一定是本次執(zhí)行中曾找到過(guò)的最好解。
標(biāo)簽: 遺傳算法
上傳時(shí)間: 2015-06-04
上傳用戶:芃溱溱123
歸一化是一種簡(jiǎn)化計(jì)算的方式,即將有量綱的表達(dá)式,經(jīng)過(guò)變換,化為無(wú)量綱的表達(dá)式,成為標(biāo)量。在多種計(jì)算中都經(jīng)常用到這種方法。該段matlab代碼即為實(shí)現(xiàn)信號(hào)的歸一化,希望對(duì)大家有用。
標(biāo)簽: 歸一化
上傳時(shí)間: 2015-12-03
上傳用戶:遇見(jiàn)1314
而圖像配準(zhǔn)是圖像融合的重要前提,圖像配準(zhǔn)是指對(duì)一幅圖像進(jìn)行一定的幾何變換而映射到另一幅圖像中,使得兩幅圖像中的相關(guān)點(diǎn)達(dá)到空間上的一致。
標(biāo)簽: 圖像配準(zhǔn)
上傳時(shí)間: 2015-12-22
上傳用戶:wuaichenfeng
Java 實(shí)現(xiàn)模擬路由器程序,使用Java語(yǔ)言編寫模擬路由器程序,通過(guò)不同的IP端口(port),使用多線程模擬不同的路由器,路由器之間通過(guò)UDP協(xié)議交換路由信息,根據(jù)Bellman-ford算法確定下一條的路由節(jié)點(diǎn).
標(biāo)簽: testing
上傳時(shí)間: 2016-03-04
上傳用戶:a1037585209
每30個(gè)乘客同乘一艘船,因?yàn)閲?yán)重超載,加上風(fēng)高浪大,危險(xiǎn)萬(wàn)分,因此船長(zhǎng)告訴乘客,只有將全船一半乘客投入海中,其余人才能幸免于難。無(wú)奈,大家只得同意這種辦法,并議定30個(gè)人圍成一圈,由第1個(gè)人數(shù)起,依次報(bào)數(shù),數(shù)到第9人,便把他投入大海中,然后再?gòu)乃南乱粋€(gè)人數(shù)起,數(shù)到第9人,再將他扔到大海中,如此循環(huán)地進(jìn)行,直到剩下15個(gè)乘客為止。問(wèn)哪些位置是將被扔下大海的位置 輸入輸出格式: 輸入:總?cè)藬?shù) 剩余人數(shù) 間隔人數(shù) 輸出:用英文逗號(hào)分隔的從最小關(guān)鍵字輸出的余下人的關(guān)鍵字序列這里每個(gè)人一個(gè)名字為每個(gè)人的關(guān)鍵字(這里用數(shù)字1-n作為關(guān)鍵字),初始圍成圓圈的時(shí)候站的位置就是關(guān)鍵字值。
標(biāo)簽: c語(yǔ)言實(shí)驗(yàn)數(shù)據(jù)結(jié)構(gòu)
上傳時(shí)間: 2016-03-18
上傳用戶:hf_fxy
c語(yǔ)言精通必備。這是目前市場(chǎng)上,c語(yǔ)言方面比較好的一本書。希望大家喜歡。
標(biāo)簽: c
上傳時(shí)間: 2016-09-14
上傳用戶:abner
本程序根據(jù)訓(xùn)練好的網(wǎng)絡(luò)文件ANN.mat預(yù)測(cè)新的數(shù)據(jù)文件,得到均方誤差,并畫出預(yù)測(cè)數(shù)據(jù)和原數(shù)據(jù)的對(duì)比圖。此程序運(yùn)用到了很多Matlab編程中常用到的表達(dá)方式,還有一些神經(jīng)網(wǎng)絡(luò)編程的基本概念的表達(dá),如歸一化的表達(dá)。
標(biāo)簽: 神經(jīng)網(wǎng)絡(luò)算法 源代碼
上傳時(shí)間: 2017-01-03
上傳用戶:tju1895
作者:焦作華潤(rùn)白志剛 參數(shù)整定找最佳, 從小到大順序查。 先是比例后積分, 最后再把微分加。 曲線振蕩很頻繁, 比例度盤要放大。 曲線漂浮繞大彎, 比例度盤往小扳。 曲線偏離回復(fù)慢, 積分時(shí)間往下降。 曲線波動(dòng)周期長(zhǎng), 積分時(shí)間再加長(zhǎng)。 曲線振蕩頻率快, 先把微分降下來(lái)。 動(dòng)差大來(lái)波動(dòng)慢, 微分時(shí)間應(yīng)加長(zhǎng)。 理想曲線兩個(gè)波, 前高后低四比一。 一看二調(diào)多分析, 調(diào)節(jié)質(zhì)量不會(huì)低。
標(biāo)簽: PID
上傳時(shí)間: 2017-04-10
上傳用戶:y932225620
在Multisim環(huán)境下,基于Tektronix TDS204虛擬示波器設(shè)計(jì)一種時(shí)域反射計(jì),給出電路原理圖和實(shí)驗(yàn)仿真結(jié)果。
標(biāo)簽: 電子測(cè)量
上傳時(shí)間: 2017-04-17
上傳用戶:weilianjin
是一個(gè)穩(wěn)定的半漢化包,足夠大家使用了。全程漢化并不能做到面面俱到。
上傳時(shí)間: 2017-05-10
上傳用戶:lyz0410
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1