亚洲国产区中文,国产精品91高清,亚洲精品中文字幕久久久久,亚洲欧美另类久久久精品能播放

                  族譜網(wǎng) 頭條 人物百科

                  遺傳算法

                  2020-10-16
                  出處:族譜網(wǎng)
                  作者:阿族小譜
                  瀏覽:802
                  轉(zhuǎn)發(fā):0
                  評(píng)論:0
                  遺傳算法的機(jī)理在遺傳算法里,優(yōu)化問(wèn)題的解被稱為個(gè)體,它表示為一個(gè)變量序列,叫做染色體或者基因串。染色體一般被表達(dá)為簡(jiǎn)單的字符串或數(shù)字串,不過(guò)也有其他的依賴于特殊問(wèn)題的表示方法適用,這一過(guò)程稱為編碼。首先,算法隨機(jī)生成一定數(shù)量的個(gè)體,有時(shí)候操作者也可以干預(yù)這個(gè)隨機(jī)產(chǎn)生過(guò)程,以提高初始種群的質(zhì)量。在每一代中,都會(huì)評(píng)價(jià)每一個(gè)體,并通過(guò)計(jì)算適應(yīng)度函數(shù)得到適應(yīng)度數(shù)值。按照適應(yīng)度排序種群個(gè)體,適應(yīng)度高的在前面。這里的“高”是相對(duì)于初始的種群的低適應(yīng)度而言。下一步是產(chǎn)生下一代個(gè)體并組成種群。這個(gè)過(guò)程是通過(guò)選擇和繁殖完成,其中繁殖包括交配(crossover,在算法研究領(lǐng)域中我們稱之為交叉操作)和突變(mutation)。選擇則是根據(jù)新個(gè)體的適應(yīng)度進(jìn)行,但同時(shí)不意味著完全以適應(yīng)度高低為導(dǎo)向,因?yàn)閱渭冞x擇適應(yīng)度高的個(gè)體將可能導(dǎo)致算法快速收斂到局部最優(yōu)解而非全局最優(yōu)解,我們稱之為早熟。作為折中,遺傳算法依據(jù)原...

                  遺傳算法的機(jī)理

                  在遺傳算法里,優(yōu)化問(wèn)題的解被稱為個(gè)體,它表示為一個(gè)變量序列,叫做染色體或者基因串。染色體一般被表達(dá)為簡(jiǎn)單的字符串或數(shù)字串,不過(guò)也有其他的依賴于特殊問(wèn)題的表示方法適用,這一過(guò)程稱為編碼。首先,算法隨機(jī)生成一定數(shù)量的個(gè)體,有時(shí)候操作者也可以干預(yù)這個(gè)隨機(jī)產(chǎn)生過(guò)程,以提高初始種群的質(zhì)量。在每一代中,都會(huì)評(píng)價(jià)每一個(gè)體,并通過(guò)計(jì)算適應(yīng)度函數(shù)得到適應(yīng)度數(shù)值。按照適應(yīng)度排序種群個(gè)體,適應(yīng)度高的在前面。這里的“高”是相對(duì)于初始的種群的低適應(yīng)度而言。

                  下一步是產(chǎn)生下一代個(gè)體并組成種群。這個(gè)過(guò)程是通過(guò)選擇和繁殖完成,其中繁殖包括交配(crossover,在算法研究領(lǐng)域中我們稱之為交叉操作)和突變(mutation)。選擇則是根據(jù)新個(gè)體的適應(yīng)度進(jìn)行,但同時(shí)不意味著完全以適應(yīng)度高低為導(dǎo)向,因?yàn)閱渭冞x擇適應(yīng)度高的個(gè)體將可能導(dǎo)致算法快速收斂到局部最優(yōu)解而非全局最優(yōu)解,我們稱之為早熟。作為折中,遺傳算法依據(jù)原則:適應(yīng)度越高,被選擇的機(jī)會(huì)越高,而適應(yīng)度低的,被選擇的機(jī)會(huì)就低。初始的數(shù)據(jù)可以通過(guò)這樣的選擇過(guò)程組成一個(gè)相對(duì)優(yōu)化的群體。之后,被選擇的個(gè)體進(jìn)入交配過(guò)程。一般的遺傳算法都有一個(gè)交配概率(又稱為交叉概率),范圍一般是0.6~1,這個(gè)交配概率反映兩個(gè)被選中的個(gè)體進(jìn)行交配的概率。例如,交配概率為0.8,則80%的“夫妻”會(huì)生育后代。每?jī)蓚€(gè)個(gè)體通過(guò)交配產(chǎn)生兩個(gè)新個(gè)體,代替原來(lái)的“老”個(gè)體,而不交配的個(gè)體則保持不變。交配父母的染色體相互交換,從而產(chǎn)生兩個(gè)新的染色體,第一個(gè)個(gè)體前半段是父親的染色體,后半段是母親的,第二個(gè)個(gè)體則正好相反。不過(guò)這里的半段并不是真正的一半,這個(gè)位置叫做交配點(diǎn),也是隨機(jī)產(chǎn)生的,可以是染色體的任意位置。再下一步是突變,通過(guò)突變產(chǎn)生新的“子”個(gè)體。一般遺傳算法都有一個(gè)固定的突變常數(shù)(又稱為變異概率),通常是0.1或者更小,這代表變異發(fā)生的概率。根據(jù)這個(gè)概率,新個(gè)體的染色體隨機(jī)的突變,通常就是改變?nèi)旧w的一個(gè)字節(jié)(0變到1,或者1變到0)。

                  經(jīng)過(guò)這一系列的過(guò)程(選擇、交配和突變),產(chǎn)生的新一代個(gè)體不同于初始的一代,并一代一代向增加整體適應(yīng)度的方向發(fā)展,因?yàn)榭偸歉_x擇最好的個(gè)體產(chǎn)生下一代,而適應(yīng)度低的個(gè)體逐漸被淘汰掉。這樣的過(guò)程不斷的重復(fù):評(píng)價(jià)每個(gè)個(gè)體,計(jì)算適應(yīng)度,兩兩交配,然后突變,產(chǎn)生第三代。周而復(fù)始,直到終止條件滿足為止。一般終止條件有以下幾種:

                  進(jìn)化次數(shù)限制;

                  計(jì)算耗費(fèi)的資源限制(例如計(jì)算時(shí)間、計(jì)算占用的內(nèi)存等);

                  一個(gè)個(gè)體已經(jīng)滿足最優(yōu)值的條件,即最優(yōu)值已經(jīng)找到;

                  適應(yīng)度已經(jīng)達(dá)到飽和,繼續(xù)進(jìn)化不會(huì)產(chǎn)生適應(yīng)度更好的個(gè)體;

                  人為干預(yù);

                  以及以上兩種或更多種的組合。

                  算法

                  GA參數(shù)

                  種群規(guī)模(P,population size):即種群中染色體個(gè)體的數(shù)目。

                  字串長(zhǎng)度(l, string length):個(gè)體中染色體的長(zhǎng)度。

                  交叉概率(pc, probability of performing crossover):控制著交叉算子的使用頻率。交叉操作可以加快收斂,使解達(dá)到最有希望的最優(yōu)解區(qū)域,因此一般取較大的交叉概率,但交叉概率太高也可能導(dǎo)致過(guò)早收斂。

                  變異概率(pm, probability of mutation):控制著變異算子的使用頻率。

                  中止條件(termination criteria)

                  特點(diǎn)

                  遺傳算法在解決優(yōu)化問(wèn)題過(guò)程中有如下特點(diǎn):

                  遺傳算法在適應(yīng)度函數(shù)選擇不當(dāng)?shù)那闆r下有可能收斂于局部最優(yōu),而不能達(dá)到全局最優(yōu)。

                  初始種群的數(shù)量很重要,如果初始種群數(shù)量過(guò)多,算法會(huì)占用大量系統(tǒng)資源;如果初始種群數(shù)量過(guò)少,算法很可能忽略掉最優(yōu)解。

                  對(duì)于每個(gè)解,一般根據(jù)實(shí)際情況進(jìn)行編碼,這樣有利于編寫變異函數(shù)和適應(yīng)度函數(shù)(Fitness Function)。

                  在編碼過(guò)的遺傳算法中,每次變異的編碼長(zhǎng)度也影響到遺傳算法的效率。如果變異代碼長(zhǎng)度過(guò)長(zhǎng),變異的多樣性會(huì)受到限制;如果變異代碼過(guò)短,變異的效率會(huì)非常低下,選擇適當(dāng)?shù)淖儺愰L(zhǎng)度是提高效率的關(guān)鍵。

                  變異率也是一個(gè)重要的參數(shù)。

                  對(duì)于動(dòng)態(tài)數(shù)據(jù),用遺傳算法求最優(yōu)解比較困難,因?yàn)槿旧w種群很可能過(guò)早地收斂,而對(duì)以后變化了的數(shù)據(jù)不再產(chǎn)生變化。對(duì)于這個(gè)問(wèn)題,研究者提出了一些方法增加基因的多樣性,從而防止過(guò)早的收斂。其中一種是所謂觸發(fā)式超級(jí)變異,就是當(dāng)染色體群體的質(zhì)量下降(彼此的區(qū)別減少)時(shí)增加變異概率;另一種叫隨機(jī)外來(lái)染色體,是偶爾加入一些全新的隨機(jī)生成的染色體個(gè)體,從而增加染色體多樣性。

                  選擇過(guò)程很重要,但交叉和變異的重要性存在爭(zhēng)議。一種觀點(diǎn)認(rèn)為交叉比變異更重要,因?yàn)樽儺悆H僅是保證不丟失某些可能的解;而另一種觀點(diǎn)則認(rèn)為交叉過(guò)程的作用只不過(guò)是在種群中推廣變異過(guò)程所造成的更新,對(duì)于初期的種群來(lái)說(shuō),交叉幾乎等效于一個(gè)非常大的變異率,而這么大的變異很可能影響進(jìn)化過(guò)程。

                  遺傳算法很快就能找到良好的解,即使是在很復(fù)雜的解空間中。

                  遺傳算法并不一定總是最好的優(yōu)化策略,優(yōu)化問(wèn)題要具體情況具體分析。所以在使用遺傳算法的同時(shí),也可以嘗試其他算法,互相補(bǔ)充,甚至根本不用遺傳算法。

                  遺傳算法不能解決那些“大海撈針”的問(wèn)題,所謂“大海撈針”問(wèn)題就是沒(méi)有一個(gè)確切的適應(yīng)度函數(shù)表征個(gè)體好壞的問(wèn)題,使得算法的進(jìn)化失去導(dǎo)向。

                  對(duì)于任何一個(gè)具體的優(yōu)化問(wèn)題,調(diào)節(jié)遺傳算法的參數(shù)可能會(huì)有利于更好更快收斂,這些參數(shù)包括個(gè)體數(shù)目、交叉率和變異率。例如太大的變異率會(huì)導(dǎo)致丟失最優(yōu)解,而過(guò)小的變異率會(huì)導(dǎo)致算法過(guò)早的收斂于局部最優(yōu)點(diǎn)。對(duì)于這些參數(shù)的選擇,現(xiàn)在還沒(méi)有實(shí)用的上下限。

                  適應(yīng)度函數(shù)對(duì)于算法的速度和效果也很重要。

                  變量

                  最簡(jiǎn)單的遺傳算法將染色體表示為一個(gè)數(shù)位串,數(shù)值變量也可以表示成整數(shù),或者實(shí)數(shù)(浮點(diǎn)數(shù))。算法中的雜交和突變都是在字節(jié)串上進(jìn)行的,所以所謂的整數(shù)或者實(shí)數(shù)表示也一定要轉(zhuǎn)化為數(shù)位形式。例如一個(gè)變量的形式是實(shí)數(shù),其范圍是0~1,而要求的精度是0.001,那么可以用10個(gè)數(shù)位表示:0000000000表示0,1111111111表示1。那么0110001110就代表0.398。

                  在遺傳算法里,精英選擇是一種非常成功的產(chǎn)生新個(gè)體的策略,它是把最好的若干個(gè)個(gè)體作為精英直接帶入下一代個(gè)體中,而不經(jīng)過(guò)任何改變。

                  通過(guò)并行計(jì)算實(shí)現(xiàn)遺傳算法一般有兩種,一種是所謂粗糙并行遺傳算法,即一個(gè)計(jì)算單元包含一個(gè)種群;而另一種是所謂精細(xì)并行遺傳算法,每一個(gè)計(jì)算單元處理一個(gè)染色體個(gè)體。

                  遺傳算法有時(shí)候還引入其他變量,例如在實(shí)時(shí)優(yōu)化問(wèn)題中,可以在適應(yīng)度函數(shù)中引入時(shí)間相關(guān)性和干擾。

                  適用的問(wèn)題

                  遺傳算法擅長(zhǎng)解決的問(wèn)題是全局最優(yōu)化問(wèn)題,例如,解決時(shí)間表安排問(wèn)題就是它的一個(gè)特長(zhǎng),很多安排時(shí)間表的軟件都使用遺傳算法,遺傳算法還經(jīng)常被用于解決實(shí)際工程問(wèn)題。

                  跟傳統(tǒng)的爬山算法相比,遺傳算法能夠跳出局部最優(yōu)而找到全局最優(yōu)點(diǎn)。而且遺傳算法允許使用非常復(fù)雜的適應(yīng)度函數(shù)(或者叫做目標(biāo)函數(shù)),并對(duì)變量的變化范圍可以加以限制。而如果是傳統(tǒng)的爬山算法,對(duì)變量范圍進(jìn)行限制意味著復(fù)雜的多的解決過(guò)程,這方面的介紹可以參看受限優(yōu)化問(wèn)題和非受限優(yōu)化問(wèn)題。

                  發(fā)展歷史

                  遺傳算法由密歇根大學(xué)的約翰·霍蘭德和他的同事于二十世紀(jì)六十年代在對(duì)細(xì)胞自動(dòng)機(jī)(英文:cellular automata)進(jìn)行研究時(shí)率先提出。在二十世紀(jì)八十年代中期之前,對(duì)于遺傳算法的研究還僅僅限于理論方面,直到在匹茲堡召開(kāi)了第一屆世界遺傳算法大會(huì)。隨著計(jì)算機(jī)計(jì)算能力的發(fā)展和實(shí)際應(yīng)用需求的增多,遺傳算法逐漸進(jìn)入實(shí)際應(yīng)用階段。1989年,作者約翰·馬科夫?qū)懥艘黄恼旅枋龅谝粋€(gè)商業(yè)用途的遺傳算法--進(jìn)化者(英文:Evolver)。之后,越來(lái)越多種類的遺傳算法出現(xiàn)并被用于許多領(lǐng)域中,財(cái)富雜志500強(qiáng)企業(yè)中大多數(shù)都用它進(jìn)行時(shí)間表安排、數(shù)據(jù)分析、未來(lái)趨勢(shì)預(yù)測(cè)、預(yù)算、以及解決很多其他組合優(yōu)化問(wèn)題。

                  應(yīng)用領(lǐng)域

                  遺傳算法

                    日本新干線N700系列車“氣動(dòng)雙翼”的獨(dú)特空氣動(dòng)力造型車鼻;是遺傳算法運(yùn)算結(jié)果

                  計(jì)算機(jī)自動(dòng)設(shè)計(jì)(CAD, Computer-Automated Design)

                  工業(yè)工程與運(yùn)作管理

                  物流系統(tǒng)設(shè)計(jì)

                  生產(chǎn)調(diào)度

                  制造系統(tǒng)控制

                  系統(tǒng)優(yōu)化設(shè)計(jì)

                  汽車設(shè)計(jì),包括材料選擇、多目標(biāo)汽車組件設(shè)計(jì)、減輕重量等。

                  機(jī)電系統(tǒng)設(shè)計(jì)。

                  分布計(jì)算機(jī)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。

                  電路設(shè)計(jì),此類用途的遺傳算法叫做進(jìn)化電路。

                  電子游戲設(shè)計(jì),例如計(jì)算平衡解決方案。

                  機(jī)器智能設(shè)計(jì)和機(jī)器人學(xué)習(xí)。

                  模糊控制系統(tǒng)的訓(xùn)練。

                  移動(dòng)通訊優(yōu)化結(jié)構(gòu)。

                  時(shí)間表安排,例如為一個(gè)大學(xué)安排不沖突的課程時(shí)間表。

                  旅行推銷員問(wèn)題。

                  神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,也叫做神經(jīng)進(jìn)化。

                  相關(guān)技術(shù)

                  遺傳程序是John Koza與遺傳算法相關(guān)的一個(gè)技術(shù),在遺傳程序中,并不是參數(shù)優(yōu)化,而是計(jì)算機(jī)程序優(yōu)化。遺傳程序一般采用樹(shù)型結(jié)構(gòu)表示計(jì)算機(jī)程序用于進(jìn)化,而不是遺傳算法中的列表或者數(shù)組。一般來(lái)說(shuō),遺傳程序比遺傳算法慢,但同時(shí)也可以解決一些遺傳算法解決不了的問(wèn)題。

                  交互式遺傳算法是利用人工評(píng)價(jià)進(jìn)行操作的遺傳算法,一般用于適應(yīng)度函數(shù)無(wú)法得到的情況,例如,對(duì)于圖像、音樂(lè)、藝術(shù)的設(shè)計(jì)和“優(yōu)化”,或者對(duì)運(yùn)動(dòng)員的訓(xùn)練等。

                  模擬退火是解決全局優(yōu)化問(wèn)題的另一個(gè)可能選擇。它是通過(guò)一個(gè)解在搜索空間的隨機(jī)變動(dòng)尋找最優(yōu)點(diǎn)的方法:如果某一階段的隨機(jī)變動(dòng)增加適應(yīng)度,則總是被接受,而降低適應(yīng)度的隨機(jī)變動(dòng)根據(jù)一定的概率被有選擇的接受。這個(gè)概率由當(dāng)時(shí)的退火溫度和適應(yīng)度惡化的程度決定,而退火溫度按一定速度降低。從模擬退火算法看,最優(yōu)化問(wèn)題的解是通過(guò)尋找最小能量點(diǎn)找到的,而不是尋找最佳適應(yīng)點(diǎn)找到的。模擬退火也可以用于標(biāo)準(zhǔn)遺傳算法里,只要把突變率隨時(shí)間逐漸降低就可以了。

                  參見(jiàn)

                  演化策略

                  遺傳編程

                  演化規(guī)劃

                  模擬退火

                  禁忌搜索

                  旅行推銷員問(wèn)題

                  最優(yōu)化

                  交叉 (遺傳算法)

                  突變 (遺傳算法)

                  參考文獻(xiàn)

                  Goldberg, David E (1989), 遺傳算法:搜索、優(yōu)化和機(jī)器學(xué)習(xí),Kluwer Academic Publishers, Boston, MA.

                  Goldberg, David E (2002), 創(chuàng)新的設(shè)計(jì):競(jìng)爭(zhēng)遺傳算法課程,Addison-Wesley, Reading, MA.

                  Harvey, Inman (1992), 物種適應(yīng)和遺傳算法持續(xù)進(jìn)行的基礎(chǔ) in "Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life", F.J. Varela and P. Bourgine (eds.), MIT Press/Bradford Books, Cambridge, MA, pp. 346-354.

                  Koza, John (1992), 遺傳算法:通過(guò)自然選擇編寫計(jì)算機(jī)程序

                  Michalewicz, Zbigniew (1999), 遺傳算法+數(shù)據(jù)結(jié)構(gòu)=進(jìn)化程序,Springer-Verlag.

                  Mitchell, Melanie, (1996), 遺傳算法概論,MIT Press, Cambridge, MA.

                  Poli, R., Langdon, W. B., McPhee, N. F. A Field Guide to Genetic Programming. Lulu.com, freely available from the internet. 2008. ISBN 978-1-4092-0073-4. 

                  Schmitt, Lothar M (2001), 遺傳算法理論,Theoretical Computer Science (259), pp. 1-61

                  Schmitt, Lothar M (2004), 遺傳算法理論(二),Theoretical Computer Science (310), pp. 181-231

                  Vose, Michael D (1999), 簡(jiǎn)單遺傳算法:基礎(chǔ)和理論,MIT Press, Cambridge, MA.


                  免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。

                  ——— 沒(méi)有了 ———
                  編輯:阿族小譜

                  更多文章

                  更多精彩文章
                  評(píng)論 {{commentTotal}} 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守《新聞評(píng)論服務(wù)協(xié)議》
                  游客
                  發(fā)表評(píng)論
                  • {{item.userName}} 舉報(bào)

                    {{item.content}}

                    {{item.time}} {{item.replyListShow ? '收起' : '展開(kāi)'}}評(píng)論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}

                    回復(fù)評(píng)論
                  加載更多評(píng)論
                  打賞作者
                  “感謝您的打賞,我會(huì)更努力的創(chuàng)作”
                  — 請(qǐng)選擇您要打賞的金額 —
                  {{item.label}}
                  {{item.label}}
                  打賞成功!
                  “感謝您的打賞,我會(huì)更努力的創(chuàng)作”
                  返回
                  打賞
                  私信

                  推薦閱讀

                  關(guān)于我們

                  關(guān)注族譜網(wǎng) 微信公眾號(hào),每日及時(shí)查看相關(guān)推薦,訂閱互動(dòng)等。

                  APP下載

                  下載族譜APP 微信公眾號(hào),每日及時(shí)查看
                  掃一掃添加客服微信