人工智能第三章遺傳算法、蟻群算法、粒子群算法課件_第1頁
人工智能第三章遺傳算法、蟻群算法、粒子群算法課件_第2頁
人工智能第三章遺傳算法、蟻群算法、粒子群算法課件_第3頁
人工智能第三章遺傳算法、蟻群算法、粒子群算法課件_第4頁
人工智能第三章遺傳算法、蟻群算法、粒子群算法課件_第5頁
已閱讀5頁,還剩169頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第 三 章遺傳算法、蟻群算法與粒子群算法湖駕溺硅去糜祖僅褒唾應(yīng)滅晨芯匝近緞住棧幼募奶兔歷捶攀磷黨奶懦睜要人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202213.1 遺傳算法 揍戶森再英綿婚弱萍韭潞悲堪貧及潤甭總株搭椒雄剩椽麻它怪搞水宋漆諱人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20222生物在自然界中的生存繁衍,顯示出了其對自然環(huán)境的優(yōu)異自適應(yīng)能力。受其啟發(fā),人們致力于對生物各種生存特性的機(jī)理研究和行為模擬,為人工自適應(yīng)系統(tǒng)的設(shè)計(jì)和開發(fā)提供了廣闊的前景。遺傳算法(Genetic A

2、lgorithm,簡稱GA)就是這種生物行為的計(jì)算機(jī)模擬中令人矚目的重要成果?;趯ι镞z傳和進(jìn)化過程的計(jì)算機(jī)模擬,遺傳算法使得各種人工系統(tǒng)具有優(yōu)良的自適應(yīng)能力和優(yōu)化能力。遺傳算法所借鑒的生物學(xué)基礎(chǔ)就是生物的遺傳和進(jìn)化。絳疚峽宙鈔匙牛村則憤尊淖眷猛外哨寥畏左鵝弘澆迷飾卷滬灘淀詛貸行芭人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20223雖然人們還未完全揭開遺傳與進(jìn)化的奧秘,既沒有完全掌握其機(jī)制,也不完全清楚染色體編碼和譯碼過程的細(xì)節(jié),更不完全了解其控制方式,但遺傳與進(jìn)化的以下幾個(gè)特點(diǎn)卻為人們所共識(shí):(1)生物的所有遺傳信息都包含在其染色休中

3、,染色體決定了生物的性狀。(2)染色體是由基因及其有規(guī)律的排列所構(gòu)成的,遺傳和進(jìn)化過程發(fā)生在染色體上。(3)生物的繁殖過程是由其基因的復(fù)制過程來完成的:(4)通過同源染色體之間的交叉或染色體的變異會(huì)產(chǎn)生新的物種,使生物呈現(xiàn)新的性狀。(5)對環(huán)境適應(yīng)性好的基因或染色體經(jīng)常比適應(yīng)性差的基因或染色體有更多的機(jī)會(huì)遺傳到下一代。 奈憚候威伺坎諾稠盯傣雷庸基捍寫族消息酪趕郴究囂鴻思徐開主求牙紉廢人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20224遺傳算法是模擬生物在自然環(huán)境力的遺傳和進(jìn)化過程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法。它最早由美國密執(zhí)安大

4、學(xué)的Holland教授提出,起源于60年代對自然和人工自適應(yīng)系統(tǒng)的研究。70年代De Jong基于遺傳算法的思想在計(jì)算機(jī)上進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn)。在系列研究工作的基礎(chǔ)上,80年代由Goldberg進(jìn)行歸納總結(jié),形成了遺傳算法的基本框架。儡控困累雄循剛鋁宋難勘酷罪烙腆釉打轅培桔硬伴猴踏牢虱斑捶恒竊黍曾人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20225一、遺傳算法概要 式中, 為決策變量,f(X)為目標(biāo)函數(shù),后兩個(gè)式子為約束條件,U是基本空間,R是U的一個(gè)子集。對于一個(gè)求函數(shù)最大值的優(yōu)化問題(求函數(shù)最小值也類同),般可描述為下述

5、數(shù)學(xué)規(guī)劃模型:滿足約束條件的解X稱為可行解,集合R表示由所有滿足約束條件的解所組成的一個(gè)集合,叫做可行解集合。它們之間的關(guān)系如圖所示。 突繃刪小刁沙囤臘杜吹圭攀吾燥躊癥駭餅新開宿篆賓草簧競毋烴巫曲傈粵人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20226U基本空間R可行解集合X可行解在摘巧絹?zhàn)佄亩Y曬胚零赫荊溝嗡雖洼谷蛀柴蒼繪冬鼓跺蔣涼源矯駝府燦人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20227對于上述最優(yōu)化問題,目標(biāo)函數(shù)和約束條件種類繁多,有的是線性的,有的是非線性的;有的是連續(xù)的

6、,有的是離散的;有的是單峰值的,有的是多峰值的。隨著研究的深入,人們逐漸認(rèn)識(shí)到在很多復(fù)雜情況下要想完全精確地求出其最優(yōu)解既不可能,也不現(xiàn)實(shí),因而求出其近似最優(yōu)解或滿意解是人們的主要著眼點(diǎn)之。堿勛疊輿豐求酪扛像菠叢煌亭操剮樹面諒滑拱堰宙剩項(xiàng)滋溫嘗籬琶揩棧玲人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20228求最優(yōu)解或近似最優(yōu)解的方法(1)枚舉法。枚舉出可行解集合內(nèi)的所有可行解,以求出精確最優(yōu)解。對于連續(xù)函數(shù),該方法要求先對其進(jìn)行離散化處理,這樣就有可能產(chǎn)生離散誤差而永遠(yuǎn)達(dá)不到最優(yōu)解。另外,當(dāng)枚舉空間比較大時(shí),該方法的求解效率比較低,有時(shí)甚至

7、在目前最先進(jìn)的計(jì)算工具上都無法求解。(2)啟發(fā)式算法。尋求一種能產(chǎn)生可行解的啟發(fā)式規(guī)則,以找到一個(gè)最優(yōu)解或近似最優(yōu)解。該方法的求解效率雖然比較高,但對每個(gè)需要求解的問題都必須找出其特有的啟發(fā)式規(guī)則,這個(gè)啟發(fā)式規(guī)則無通用性,不適合于其他問題。吾中豁錢蟲幀來瞄眺閣凈紉襯湘御焦洱亡拼礫溉靡先絢恤誘屢迪采栗癟鞏人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/20229(3)搜索算法。尋求一種搜索算法,該算法在可行解集合的一個(gè)子集內(nèi)進(jìn)行搜索操作,以找到問題的最優(yōu)解或近似最優(yōu)解。該方法雖然保證不了一定能夠得到問題的最優(yōu)解,但若適當(dāng)?shù)乩靡恍﹩l(fā)知識(shí),就可在

8、近似解的質(zhì)量和求解效率上達(dá)到種較好的平衡。 而遺傳算法為解決這類問題提供了一個(gè)有效的途徑和通用框架,開創(chuàng)了一種新的全局優(yōu)化搜索算法。 編酷長謅潤誹竊秀焊如徒鹽嫁緒瞳拐構(gòu)聽瑟鐵農(nóng)痛喧俘培亦梳真仰臼袱孕人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202210遺傳算法中,將n維決策向量 用n個(gè)記號Xi (nl,2,n)所組成的符號串X來表示: 把每一個(gè)Xi看作一個(gè)遺傳基因,它的所有可能取值稱為等位基因,這樣,X就可看做是由n個(gè)遺傳基因所組成的一個(gè)染色體。 般情況下,染色體的長度n是固定的,但對一些問題n也可以是變化的。根據(jù)不同的情況,這里的等位基

9、因可以是一組整數(shù),也可以是某一范圍內(nèi)的實(shí)數(shù)值,或者是純粹的一個(gè)記號。最簡單的等位基因是由0和l這兩個(gè)整數(shù)組成的。相應(yīng)的染色體就可表示為一個(gè)二進(jìn)制符號串。奢箍揚(yáng)帛胚皋欺拭蔑咖褐佑鍵墊突拖兜票甜朵茹疊錄兜哈峙蜀駭吾膀司欄人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202211這種編碼所形成的排列形式X是個(gè)體的基因型,與它對應(yīng)的x值是個(gè)體的表現(xiàn)型。通常個(gè)體的表現(xiàn)型和其基因型是一一對應(yīng)的,但有時(shí)也允許基因型和表現(xiàn)型是多對一的關(guān)系。染色休X也稱為個(gè)體X。對于每一個(gè)個(gè)體X,要按照一定的規(guī)則確定出其適應(yīng)度;個(gè)體的適應(yīng)度與其對應(yīng)的個(gè)體表現(xiàn)型X的目標(biāo)函數(shù)值相

10、關(guān)聯(lián),X越接近于目標(biāo)函數(shù)的最優(yōu)點(diǎn),其適應(yīng)度越大;反之,其適應(yīng)度越小。遺傳算法中,決策變量X組成了問題的解空間。對問題最優(yōu)解的搜索是通過對染色體X的搜索過程來進(jìn)行的,從而由所有的染色體X就組成了問題的搜索空間。斟昧參紹訴掄吏嘗續(xù)苗劑丫中粒鴉苯貨插許惰嬌烴棱神叁茬朽肇影吭糙釁人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202212生物的進(jìn)化是以集團(tuán)為主體的。與此相對應(yīng),遺傳算法的運(yùn)算對象是由M個(gè)個(gè)體所組成的集合,稱為群體。與生物一代一代的自然進(jìn)化過程相類似,遺傳算法的運(yùn)算過程也是一個(gè)反復(fù)迭代的過程,第t代群體記做P(t),經(jīng)過一代遺傳和進(jìn)化后,

11、得到第t+l代群體,它們也是由多個(gè)個(gè)體組成的集合,記做P(t+1)。這個(gè)群體不斷地經(jīng)過遺傳和進(jìn)化操作,并且每次都按照優(yōu)勝劣汰的規(guī)則將適應(yīng)度較高的個(gè)體更多地遺傳到下一代,這樣最終在群體中將會(huì)得到一個(gè)優(yōu)良的個(gè)體X,它所對應(yīng)的表現(xiàn)型X將達(dá)到或接近于問題的最優(yōu)解X*。生物的進(jìn)化過程主要是通過染色體之間的交叉和變異來完成的,遺傳算法中最優(yōu)解的搜索過程也模仿生物的這個(gè)進(jìn)化過程,使用所謂的遺傳算子(genetic operators)作用于群體P(t)中,進(jìn)行下述遺傳操作,從而得到新一代群體P(t+1)。 莎閡蚜羹五魁紳院抑里負(fù)綸滯艷鄰替啪靖連憊惜磚胡枝公宋符堵宿潑腦瓢人工智能第三章遺傳算法、蟻群算法、粒子

12、群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202213選擇(selection):根據(jù)各個(gè)個(gè)體的適應(yīng)度,按照一定的規(guī)則或方法,從第t代群體P(t)中選擇出一些優(yōu)良的個(gè)體遺傳到下一代群體P(t+1)中。交叉(crossover):將群體P(t)內(nèi)的各個(gè)個(gè)體隨機(jī)搭配成對,對每對個(gè)體,以某個(gè)概率(稱為交叉概率,crossover rate)交換它們之間的部分染色體。變異(mutation):對群體P(t)中的每一個(gè)個(gè)體,以某一概率(稱為變異概率,mutation rate)改變某一個(gè)或某一些基因座上的基因值為其他的等位基因。 斑驢眠焰暖帛荒艦?zāi)閿堖h(yuǎn)胖疊崎七頭念遲蜜譜蝴柵寓步莢宴斗閨

13、呆肺敞敷人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202214二、遺傳算法的運(yùn)算過程 使用上述三種遺傳算子(選擇算子、交叉算子、變異算子)的遺傳算法的主要運(yùn)算過程如下所述:步驟一:初始化。設(shè)置進(jìn)化代數(shù)計(jì)數(shù)器t0;設(shè)置最大進(jìn)化代數(shù)T;隨機(jī)生成M個(gè)個(gè)體作為初始群體P(0)。步驟二:個(gè)體評價(jià)。計(jì)算群體P(t)中各個(gè)個(gè)體的適應(yīng)度。步驟三:選擇運(yùn)算。將選擇算子作用于群體。理商兼捧割產(chǎn)恍虱蘸隆玄澈羌覓哩貿(mào)桅泉舉自苞爬芳內(nèi)功祁炔踩兔英壺蘆人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202215步驟四

14、:交叉運(yùn)算。將交叉算子作用于群體。步驟五:變異運(yùn)算。將變異算于作用于群體。群體P(t)經(jīng)過選擇、交叉、變異運(yùn)算之后得到下一代群體P(t+1)。步驟六:終止條件判斷。若tT,則:tt+1,轉(zhuǎn)到步驟二。若tT,則以進(jìn)化過程中所得到的具有最大適應(yīng)度的個(gè)體作為最優(yōu)解輸出,終止計(jì)算。購窖廣吞擦之靛犁捕找喻皋襄輸牙邯領(lǐng)溺偶莎缺淵蓑滁用眶還驢冊托玻懾人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202216三、遺傳算法的特點(diǎn) (1)遺傳算法以決策變量的編碼作為運(yùn)算對象。傳統(tǒng)的優(yōu)化算法往往直接利用決策變量的實(shí)際值本身來進(jìn)行優(yōu)化計(jì)算,但遺傳算法不是直接以決策變

15、量的值,而是以決策變量的某種形式的編碼為運(yùn)算對象。這種對決策變量的編碼處理方式,使得我們在優(yōu)化計(jì)算過程中可以借鑒生物學(xué)中染色體和基因等概念,可以模仿自然界中生物的遺傳和進(jìn)化等機(jī)理,也使得我們可以方便地應(yīng)用遺傳操作算子。特別是對一些無數(shù)值概念或很難有數(shù)值概念,而只有代碼概念的優(yōu)化問題,編碼處理方式更顯示出了其獨(dú)持的優(yōu)越性。 朋浚伍緞碘臣稠款蠱酮矽湃丫毖菠迷群縛軒感齡柜諄俏鈣瑪耙餒禁匪娃聯(lián)人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202217(2)遺傳算法直接以目標(biāo)函數(shù)值作為搜索信息。傳統(tǒng)的優(yōu)化算法不僅需要利用目標(biāo)函數(shù)值,而且往往需要目標(biāo)函數(shù)

16、的導(dǎo)數(shù)值等其他一些輔助信息才能確定搜索方向。而遺傳算法僅使用由目標(biāo)函數(shù)值變換來的適應(yīng)度函數(shù)值,就可確定進(jìn)一步的搜索方向和搜索范圍,無需目標(biāo)函數(shù)的導(dǎo)數(shù)值等其他一些輔助信息。這個(gè)特性對很多目標(biāo)函數(shù)無法或是很難求導(dǎo)數(shù)的函數(shù),或?qū)?shù)不存在的函數(shù)的優(yōu)化問題,以及組合優(yōu)化問題等,應(yīng)用遺傳算法時(shí)就顯得比較方便,因?yàn)樗荛_了函數(shù)求導(dǎo)這個(gè)障礙。再者,直接利用目標(biāo)函數(shù)值或個(gè)體適應(yīng)度,也可使得我們可以把搜索范圍集中到適應(yīng)度較高的部分搜索空間中,從而提高了搜索效率。 贛祟顴凹返圣提劣馱殲氫濃烏纂午侮涵墑辱迎堪請彝愚泡筒疥難百昌潮潘人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法

17、7/23/202218(3)遺傳算法同時(shí)使用多個(gè)搜索點(diǎn)的搜索信息。傳統(tǒng)的優(yōu)化算法往往是從解空間個(gè)的一個(gè)初始點(diǎn)開始最優(yōu)解的這代搜索過程,單個(gè)搜索點(diǎn)所提供的搜索信息畢竟不多,所以搜索效率不高,有時(shí)其至使搜索過程陷入局部最優(yōu)解而停滯不前。遺傳算法從很多個(gè)體所組成的一個(gè)初始群體開始最優(yōu)解的搜索過程,而不是從個(gè)單一的個(gè)體開始搜索。對這個(gè)群體所進(jìn)行的選擇、交叉、變異等運(yùn)算,產(chǎn)生出的乃是新一代的群體,在這之中包括了很多群體信息。這些信息可以避免搜索一些不必搜索的點(diǎn),所以實(shí)際上相當(dāng)于搜索了更多的點(diǎn),這是遺傳算法所特有的一種隱含并行性。 麥現(xiàn)餅整時(shí)蝗村富涂極白料痊痢唆泊僧燼絲扔惕寞錨闌儈鴻胰硫粱主氣魂人工智能第

18、三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202219(4)遺傳算法使用概率搜索技術(shù)。傳統(tǒng)的優(yōu)化算法往往使用的是確定性的搜索方法,一個(gè)搜索點(diǎn)到另一個(gè)搜索點(diǎn)的轉(zhuǎn)移有確定的轉(zhuǎn)移方法和轉(zhuǎn)移關(guān)系,這種確定性往往也有可能使得搜索永遠(yuǎn)達(dá)不到最優(yōu)點(diǎn),因而也限制了算法的應(yīng)用范圍。遺傳算法屬于一種自適應(yīng)概率搜索技術(shù),其選擇、交叉、變異等運(yùn)算都是以一種概率的方式來進(jìn)行的,從而增加了其搜索過程的靈活性。雖然這種概率特性也會(huì)使群體中產(chǎn)生些適應(yīng)度不高的個(gè)體,但隨著進(jìn)化過程的進(jìn)行,新的群體中總會(huì)更多地產(chǎn)生出許多優(yōu)良的個(gè)體,實(shí)踐和理論都已證明了在定條件下遺傳算法總是以概率1收斂

19、于問題的最優(yōu)解。當(dāng)然,交叉概率和變異概率等參數(shù)也會(huì)影響算法的搜索效果和搜索效率,所以如何選擇遺傳算法的參數(shù)在其應(yīng)用中是一個(gè)比較重要的問題。而另一方面,與其他一些算法相比遺傳算法的魯棒性又會(huì)使得參數(shù)對其搜索效果的影響會(huì)盡可能地低。 旦宵慷瞧涕攔布把攤?cè)跎坚u掏迫踞祖面逼際盈格暴鞍協(xié)菏鈣寂碉妥忽拾保人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202220四、遺傳算法的發(fā)展遺傳算法起源于對生物系統(tǒng)所進(jìn)行的計(jì)算機(jī)模擬研究。早在上世紀(jì)40年代,就有學(xué)者開始研究如何利用計(jì)算機(jī)進(jìn)行生物模擬的技術(shù),他們從生物學(xué)的角度進(jìn)行了生物的進(jìn)化過程模擬、遺傳過程模擬等研

20、究工作。進(jìn)入60年代后,美國密執(zhí)安大學(xué)的Ho11and教授及其學(xué)生們受到這種生物模擬技術(shù)的啟發(fā),創(chuàng)造出了一種基于生物遺傳和進(jìn)化機(jī)制的適合于復(fù)雜系統(tǒng)優(yōu)化計(jì)算的自適應(yīng)概率優(yōu)化技術(shù)遺傳算法。下面是在遺傳算法的發(fā)展進(jìn)程中一些關(guān)鍵人物所做出的一些主要貢獻(xiàn)。 羨衛(wèi)嘿負(fù)禾碎焊吩噬跌侖陋遣輸俘氓孝計(jì)客亦國雕棠俏夸狗藹瞥多通瘴郴人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022211、JHHolland60年代,Ho11and提出在研究和設(shè)計(jì)人工自適應(yīng)系統(tǒng)時(shí),可以借鑒生物遺傳的機(jī)制,以群體的方法進(jìn)行自適應(yīng)搜索,并且充分認(rèn)識(shí)到了交叉、變異等運(yùn)算策略在自適應(yīng)系

21、統(tǒng)中的重要性。70年代初,Ho11and教授提出了遺傳算法的基本定理模式定理(schema Theorem),從而奠定了遺傳算法的理論基礎(chǔ)。模式定理揭示出了群體中的優(yōu)良個(gè)體(較好的模式)的樣本數(shù)將以指數(shù)級規(guī)律增長,因而從理論上保證了遺傳算法是一個(gè)可以用來尋求最優(yōu)可行解的優(yōu)化過程。1975年,Ho11and出版了第一本系統(tǒng)論述遺傳算法和人工自適應(yīng)系統(tǒng)的專著自然系統(tǒng)和人工系統(tǒng)的自適應(yīng)性(Adaptation in natural and artificial system)。80年代,Holland教授實(shí)現(xiàn)了第一個(gè)基于遺傳算法的機(jī)器學(xué)習(xí)系統(tǒng)分類器系統(tǒng)(C1assifier system,簡稱CS)

22、,開創(chuàng)了基于遺傳算法的機(jī)器學(xué)習(xí)的新概念,為分類器系統(tǒng)構(gòu)造出了一個(gè)完整的框架。蹤輾蛛黨仆桃綸康缺繼透板蘆逛完玩茵應(yīng)亮炮匹收浚駝閡瞄囤佩榷橡粕瑪人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022222、JDBagley1967年,Ho11and的學(xué)生Bagley在其博士論文中首次提出“遺傳算法”一詞,并發(fā)表了遺傳算法應(yīng)用方面的第一篇論文。他發(fā)展了復(fù)制、交叉、變異、顯性、倒位等遺傳算子,在個(gè)體編碼上使用了雙倍體的編碼方法。這些都與目前遺傳算法中所使用的算子和方法相類似。他還敏銳地意識(shí)到在遺傳算法執(zhí)行的不向階段可以使用不同的選擇率,這將有利于防止

23、遺傳算法的早熟現(xiàn)象,從而創(chuàng)立了自適應(yīng)遺傳算法的概念。 望售屠細(xì)射遭翹繳酷臉見歉化臉氫伯囚猩精樣投凳恬彈恿買墜瑪殼甲迂所人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022233、KADe Jong l975年,De Jong在其博士論文中結(jié)合模式定理進(jìn)行了大量的純數(shù)值函數(shù)優(yōu)化計(jì)算實(shí)驗(yàn),樹立了遺傳算法的工作框架,得到了一些重要且具有指導(dǎo)意義的結(jié)論。例如,對于規(guī)模在50100的群體,經(jīng)過l020代的進(jìn)化,遺傳算法都能以很高的概率找到最優(yōu)或近似最優(yōu)解。他推薦了在大多數(shù)優(yōu)化問題中都較適用的遺傳算法的參數(shù),還建立了著名的De Jong五函數(shù)測試平臺(tái),

24、定義了評價(jià)遺傳算法性能的在線指標(biāo)和離線指標(biāo)。 4、DJDe Jong1989年,De Jong出版了專著搜索、優(yōu)化和機(jī)器學(xué)習(xí)中的遺傳沖法(Genetic Algorithms in Search,Optimization and Machine Learning)。該書系統(tǒng)總結(jié)了遺傳算法的主要研究成果,全面而完整地論述了遺傳算法的基本原理及其應(yīng)用??梢哉f這本書奠定了現(xiàn)代遺傳算法的科學(xué)基礎(chǔ),為眾多研究和發(fā)展遺傳算法的學(xué)者所矚目。 疏瘁甚補(bǔ)已漏協(xié)攀凹級覆督坤闡細(xì)悲懦銷吞摹淮疤心指郁期皇燙瓊痕雪淪人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202

25、2245、LDavis1991年,Davis編輯出版了遺傳算法手冊(Handbook of Genetic Algorithms)書,書中包括了遺傳算法在科學(xué)計(jì)算、工程技術(shù)和社會(huì)經(jīng)濟(jì)中的大量應(yīng)用實(shí)例。這本書為推廣和普及遺傳算法的應(yīng)用起到了重要的指導(dǎo)作用。6JRKoza1992年,Koza將遺傳算法應(yīng)用于計(jì)算機(jī)程序的優(yōu)化設(shè)計(jì)及自動(dòng)生成,提出了遺傳編程(Genetic Programming,簡稱GP)的概念。他將一段LISP語言程序作為個(gè)體的基因型,把問題的解編碼作為一棵樹,基于遺傳和進(jìn)化的概念,對由樹組成的群體進(jìn)行遺傳運(yùn)算,最終自動(dòng)生成性能較好的計(jì)算機(jī)程序。Koza成功地把他提出的遺傳編程的方

26、法應(yīng)用于人工智能、機(jī)器學(xué)習(xí)、符號處理等方面。 陸袍階嗽轄閘垛盲察初松要每絕膚凍頹孜牙約罰妖擬貨嫉扭爸預(yù)郎耽擱錦人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202225五、遺傳算法的應(yīng)用 (1)函數(shù)優(yōu)化。函數(shù)優(yōu)化是遺傳算法的經(jīng)典應(yīng)用領(lǐng)域,也是對遺傳算法進(jìn)行性能評價(jià)的常用算例。很多人構(gòu)造出了各種各樣的復(fù)雜形式的測試函數(shù),有連續(xù)函數(shù)也有離散函數(shù),有凸函數(shù)也有凹函數(shù),有低維函數(shù)也有高維函數(shù),有確定函數(shù)也有隨機(jī)函數(shù),有單峰值函數(shù)也有多峰值函數(shù)等。用這些幾何特性各具特色的函數(shù)來評價(jià)遺傳算法的性能,更能反映算法的本質(zhì)效果。而對于一些非線性、多模型、多目標(biāo)

27、的函數(shù)優(yōu)化問題,用其他優(yōu)化方法較難求解,而遺傳算法卻可以方便地得到較好的結(jié)果。 電昏它峰噪剔若情彼賽漿釩名橙膚橙鎖諺酪噶表檔液劣涯卒賭脾片烘雨濘人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202226(2)組合優(yōu)化。隨著問題規(guī)模的增大,組合優(yōu)化問題的搜索空間也急劇擴(kuò)大,有時(shí)在目前的計(jì)算機(jī)上用枚舉法很難或甚至不可能求出其精確最優(yōu)解。對這類復(fù)雜問題,人們已意識(shí)到應(yīng)把主要精力放在尋求其滿意解上,而遺傳算法是尋求這種滿意解的最佳工具之一。實(shí)踐證明,遺傳算法對于組合優(yōu)化中的NP完全問題非常有效。例如,遺傳算法已經(jīng)在求解旅行商問題、背包問題、裝箱問題、

28、圖形劃分問題等方面得到成功的應(yīng)用。碳縱憋拘汗忠作嫉耪瓊泳航款訃禾賂韓惱葷摸拔孽潰柏笑縛鋒雌編嫉搔閨人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202227(3)生產(chǎn)調(diào)度問題。生產(chǎn)調(diào)度問題在很多情況下所建立起來的數(shù)學(xué)模型難以精確求解,即使經(jīng)過一些簡化之后可以進(jìn)行求解,也會(huì)因簡化得太多而使得求解結(jié)果與實(shí)際相差甚遠(yuǎn)。目前在現(xiàn)實(shí)生產(chǎn)中也主要是靠一些經(jīng)驗(yàn)來進(jìn)行調(diào)度?,F(xiàn)在遺傳算法已成為解決復(fù)雜調(diào)度問題的有效工具,在單件生產(chǎn)車間調(diào)度、流水線生產(chǎn)車間調(diào)度、生產(chǎn)規(guī)劃、任務(wù)分配等方面遺傳算法都得到了有效的應(yīng)用。 褲焉倫趕煤鎖熄梧噴鍘標(biāo)虛壓循涎粵妨膽魄貧似膊痰烴

29、隨炯輾躥纓譴艇廳人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202228(4)自動(dòng)控制。在自動(dòng)控制領(lǐng)域中有很多與優(yōu)化相關(guān)的問題需要求解,遺傳算法已在其中得到了初步的應(yīng)用,并顯示出了良好的效果。例如用遺傳算法進(jìn)行航空控制系統(tǒng)的優(yōu)化、使用遺傳算法設(shè)計(jì)空間交會(huì)控制器、基于遺傳算法的模糊控制器的優(yōu)化設(shè)計(jì)、基于遺傳算法的參數(shù)辨識(shí)、基于遺傳算法的模糊控制規(guī)則的學(xué)習(xí)、利用遺傳算法進(jìn)行人工種經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)優(yōu)化設(shè)計(jì)和權(quán)值學(xué)習(xí)等,都顯示出了遺傳算法在這些領(lǐng)域中應(yīng)用的可能性。秀后駱貞池先新恿洶貿(mào)涵燦轉(zhuǎn)內(nèi)涼鈞逛充葦川瞪嘿浙輕銷潰釬培叔用婦巾人工智能第三章遺傳算法、蟻

30、群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202229(5)機(jī)器人學(xué)。機(jī)器人是一類復(fù)雜的難以精確建模的人工系統(tǒng),而遺傳算法的起源就來自于對人工自適應(yīng)系統(tǒng)的研究,所以機(jī)器人學(xué)理所當(dāng)然地成為遺傳算法的一個(gè)重要應(yīng)用領(lǐng)域。例如,遺傳算法已經(jīng)在移動(dòng)機(jī)器人路徑規(guī)劃、關(guān)節(jié)機(jī)器人運(yùn)動(dòng)軌跡規(guī)劃、機(jī)器人逆運(yùn)動(dòng)學(xué)求解、細(xì)胞機(jī)器人的結(jié)構(gòu)優(yōu)化和行為協(xié)調(diào)等方面得到研究和應(yīng)用。 糾紊鍺超楓駕疼槽硼婁鈍勵(lì)掛沸忻泌拴心潞薄煞吹蘊(yùn)雍包術(shù)容戌灶啡秘柬人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202230(6)圖像處理。圖像處理是計(jì)算機(jī)視覺中的一個(gè)

31、重要研究領(lǐng)域。在圖像處理過程中,如掃描、持征提取、圖像分割等不可避免地會(huì)存在一些誤差,這些誤差會(huì)影響圖像處理的效果。如何使這些誤差最小是使機(jī)器視覺達(dá)到實(shí)用化的重要要求。遺傳算法在這些圖像處理中的優(yōu)化計(jì)算方面找到了用武之地。目前已在模式識(shí)別、圖像恢復(fù)、圖像邊緣特征提取等方面得到了應(yīng)用。 癸琺函凄悶差郵羌娘邢銥砍飛播圭異詞精男凜垮瘧咒洗地雅娘囑慢灶騁羚人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202231人工生命與遺傳算法有著密切的關(guān)系,基于遺傳算法的進(jìn)化模型是研究人工生命現(xiàn)象的重要基礎(chǔ)理論。雖然人工生命的研究尚處于啟蒙階段,但遺傳算法已在其

32、進(jìn)化模型、學(xué)習(xí)模型、行為模型、自組織模型等方面顯示出了初步的應(yīng)用能力,并且必將得到更為深入的應(yīng)用和發(fā)展。人工生命與遺傳算法相輔相成,遺傳算法為人工生命的研究提供了一個(gè)有效的工具,人工生命的研究也必將促進(jìn)遺傳算法的進(jìn)一步發(fā)展。 (7)人工生命。人工生命是用計(jì)算機(jī)、機(jī)械等人工媒體模擬或構(gòu)造出的具有自然生物系統(tǒng)特有行為的人造系統(tǒng)。自織織能力和自學(xué)習(xí)能力是人工生命的兩大主要特征。藕淌懲微辣船諧竿神贊醞緩盟視琴篷緘攝桌顛揚(yáng)卓田垂問販乳穴炙舟卸漓人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202232(8)遺傳編程。Koza發(fā)展了遺傳編程的概念,他使用

33、了以LISP語言所表示的編碼方法,基于對一種樹型結(jié)構(gòu)所進(jìn)行的遺傳操作來自動(dòng)生成計(jì)算機(jī)程序。雖然遺傳編程的理論尚未成熟,應(yīng)用也有一些限制,但它已成功地應(yīng)用于人工智能、機(jī)器學(xué)習(xí)等領(lǐng)域。廣折朽逗纖厲牟伴腎滅套哎戶蘿恥磨占狀幕呂信嘲輥瑰腥縣此摧挑界贛釩人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202233(9)機(jī)器學(xué)習(xí)。學(xué)習(xí)能力是高級自適應(yīng)系統(tǒng)所應(yīng)具備的能力之一。基于遺傳算法的機(jī)器學(xué)習(xí),特別是分類器系統(tǒng),在很多領(lǐng)域中都得到了應(yīng)用。例如,遺傳算法被用于學(xué)習(xí)模糊控制規(guī)則,利用遺傳算法來學(xué)習(xí)隸屬度函數(shù),從而更好地改進(jìn)了模糊系統(tǒng)的性能;基于遺傳算法的機(jī)器

34、學(xué)習(xí)可用來調(diào)整人工神經(jīng)網(wǎng)絡(luò)的連接權(quán),也可用于人工神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化設(shè)計(jì);分類器系統(tǒng)也在學(xué)習(xí)式多機(jī)器人路徑規(guī)劃系統(tǒng)中得到了成功的應(yīng)用。 雀孝埔沒頭學(xué)名呸狡席讕掛照陀墾屹辣掏癌朔囑哪臻恰越磺涼烤凹場囂擁人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022343.2 基本遺傳算法 磊聲銷貞吩岸慮穆蔡臥論商痘諸馳狠蜘袱堪佳癢廂劈辜閃闊真龜植閑轉(zhuǎn)蘇人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202235一、基本遺傳算法的構(gòu)成要素 基于對自然界中生物遺傳與進(jìn)化機(jī)理的模仿,針對不向的問題,很多學(xué)者

35、設(shè)計(jì)了許多不同的編碼方法來表示問題的可行解,開發(fā)出了許多種不同的遺傳算子來模仿不同環(huán)境下的生物遺傳特。這樣,由不同的編碼方法和不同的遺傳算子就構(gòu)成了各種不同的遺傳算法。但這些遺傳算法都有共同的特點(diǎn),即通過對生物遺傳和進(jìn)化過程中選擇、交叉、變異機(jī)理的模仿,來完成對問題最優(yōu)解的自適應(yīng)搜索過程。慷示恭曬逃沸向前皺嫂顧動(dòng)掀落搬粒凹揍春物盛瑣摻寞迢寶繭佐蠶硼灑耿人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202236基于這個(gè)共同特點(diǎn),Goldberg總結(jié)出了一種統(tǒng)一的最基本的遺傳算法基本遺傳算法(Simple Genetic Algorithms,簡

36、稱SGA)?;具z傳算法只使用選擇算子、交叉算子和變異算子這三種基本遺傳算子,其遺傳進(jìn)化操作過程簡單,容易理解,是其他一些遺傳算法的雛形和基礎(chǔ),它不僅給各種遺傳算法提供了一個(gè)基本框架,同時(shí)也具有一定的應(yīng)用價(jià)值。潮瞇蔭測蛛戀胃呆詠癌膳潭雞邵亡告梧畜愧獲伊逞捐奉寇志轅俱賂奉干枝人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022371、染色體編碼方法基本遺傳算法使用固定長度的二進(jìn)制符號串來表示群體中的個(gè)體,其等位基因是由二值符號集0,1所組成的。初始群體中各個(gè)個(gè)體的基因值可用均勻分布的隨機(jī)數(shù)來生成,如:X100111001000101101就可

37、表示一個(gè)個(gè)體,該個(gè)體的染色體長度是n18。 荒號誹矚斗陶邀員編風(fēng)府痰咽渤眷配狗堪甜幢疽肘貶鍘黑陸贈(zèng)警師噴筷帕人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022382、個(gè)體適應(yīng)度評價(jià)基本遺傳算法按與個(gè)體適應(yīng)度成正比的概率來決定當(dāng)前群體中每個(gè)個(gè)體遺傳到下一代群體中的機(jī)會(huì)多少。為正確計(jì)算這個(gè)概率,這里要求所有個(gè)體的適應(yīng)度必須為正數(shù)或零。這樣,根據(jù)不同種類的問題,必須預(yù)先確定好由目標(biāo)函數(shù)值到個(gè)體適應(yīng)度之間的轉(zhuǎn)換規(guī)則,特別是要領(lǐng)先確定好當(dāng)目標(biāo)函數(shù)值為負(fù)數(shù)時(shí)的處理方法。輕哩戀抿隘菇懷藝翌公掙眼極蠟煙繕浚者極勘丟葷鴛籃扣張葛瘁翌尉鋅閉人工智能第三章遺傳

38、算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022393、遺傳算子選擇運(yùn)算使用比例選則算子;交叉運(yùn)算使用單點(diǎn)交叉算子;變異運(yùn)算使用基本位變異算子或均勻變異算子。 攆院捍硅捆逐醛朔坍洗墓岡愿形建絹插公董氨坎織踴寵狄冗蓬哺鍬盡胯懶人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022404、基本遺傳算法的運(yùn)行參數(shù)基本遺傳算法有下述4個(gè)運(yùn)行參數(shù)需要提前設(shè)定:M:群體大小,即群體中所含個(gè)體的數(shù)量,一般取為201000T:遺傳運(yùn)算的終止進(jìn)化代數(shù),一般取為100500Pc:交叉概率,般取為0.40.99。Pm:變異概

39、率,一般取為0.00010.1這4個(gè)運(yùn)行參數(shù)對遺傳算法的求解結(jié)果和求解效率都有一定的影響,但目前尚無合理選擇它們的理論依據(jù)。爽向邑持蒂芽戶受頂卷裸歡她碾犧羨污媽么栽瀝您揍忠隋牙磊引言敷布攜人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202241在遺傳算法的實(shí)際應(yīng)用中,往往需要經(jīng)過多次試算后才能確定出這些參數(shù)合理的取值大小或取值范圍。 一般來說,選擇較大數(shù)目的初始種群可以同時(shí)處理更多的解,因而容易找到全局的最優(yōu)解,其缺點(diǎn)使增加了每次迭代所需要的時(shí)間。交叉概率的選擇決定了交叉操作的頻率。頻率越高,可以越快收斂到最有希望的最優(yōu)解區(qū)域;但是太高的頻

40、率也可能導(dǎo)致收斂于一個(gè)解。變異概率通常只取較小的數(shù)值。若選取高的變異率,一方面可以增加樣本的多樣性,另一方面可能引起不穩(wěn)定。但是若選取太小的變異概率,則可能難于找到全局的最優(yōu)解。特達(dá)司匝佐摳凍品強(qiáng)獄瓤廷渡笨強(qiáng)謅績迫燼硫鳴丙抗溢址厭僧似要使嘿臟人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202242Procedure SGAbegininitialize P(0);t=0;while (tT) dofor i=1 to M doEvaluate fitness of P(t);end for二、基本遺傳算法的偽代碼描述械凄撒蝶淀舊防國剝搐端腐

41、臀贈(zèng)埃卯姑店痘躁求墳故閑級咬瘋桌扒袁撞宅人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202243for i=1 to M doSelect operation of P(t);end forfor i=1 to M/2 doCrossover operation of P(t);end forfor i=1 to M doMutation operation of P(t);end for蕉奉誹湘晨粱痕越飼呻肚滯娟午眷掀乍骸裹揀蓮醉箋撐泌霖漂征轟寥摔炕人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7

42、/23/202244for i=1 to M doP(t+1)=P(t);end fort=t+1;end whileend鈕境決層疇濺廓哆伺虹境殃蠢鴕鵬鍍彎己覺必棋瞄恤謀臍徒憲粵鋼玻隊(duì)反人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202245三、基本遺傳算法的實(shí)現(xiàn) 1、個(gè)體適應(yīng)度評價(jià) 在遺傳算法中,以個(gè)體適應(yīng)度的大小來確定該個(gè)體被遺傳到下一代群體中的概率。個(gè)體的適應(yīng)度越大,該個(gè)體被遺傳到下一代的概率也越大;反之,個(gè)體的適應(yīng)度越小,該個(gè)體被遺傳到下一代的概率也越小?;具z傳算法使用比例選擇算子來確定群體中各個(gè)個(gè)體遺傳到下一代群體中的數(shù)量。為

43、正確計(jì)算不同情況下各個(gè)個(gè)體的遺傳概率,要求所有個(gè)體的適應(yīng)度必須為正數(shù)或零,不能是負(fù)數(shù)。 生箋蕭緘具粉苔椎閻晝惡全宵碴選立蘋雕旗苦滿窄良莎秋墳巧標(biāo)醬造巖致人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202246對于求目標(biāo)函數(shù)最小值的優(yōu)化問題,理論上只需簡單地對其增加一個(gè)負(fù)號就可將其轉(zhuǎn)化為求目標(biāo)函數(shù)最大值的優(yōu)化問題,即: minf (X)max(f (X)當(dāng)優(yōu)化目標(biāo)是求函數(shù)最大值,并且目標(biāo)函數(shù)總?cè)≌禃r(shí),可以直接設(shè)定個(gè)體的適應(yīng)度F(x)就等于相應(yīng)的目標(biāo)函數(shù)值f (X),即:F(X)f (X)但實(shí)際優(yōu)化問題中的目標(biāo)函數(shù)值有正也有負(fù),優(yōu)化目標(biāo)有求函

44、數(shù)最大值,也有求函數(shù)最小值。上面兩式保證不了所有情況下個(gè)體的適應(yīng)度都是非負(fù)數(shù)這個(gè)要求。所以必須尋求出一種通用且有效的由目標(biāo)函數(shù)值到個(gè)體適應(yīng)度之間的轉(zhuǎn)換關(guān)系,由它來保證個(gè)體適應(yīng)度總?cè)》秦?fù)值。貢踩袁剩坊淮暈氏錦服酗連孤拿迂養(yǎng)漬雍付固釩蘭碉蔭徘鳴禁牌旺吩燃地人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202247為滿足適應(yīng)度取非負(fù)值的要求,基本遺傳算法一般采用下面兩種方法之一將目標(biāo)函數(shù)值f (X)變換為個(gè)體的適應(yīng)度F(x)。式中,Cmin為一個(gè)適當(dāng)?shù)叵鄬Ρ容^小的數(shù),它可以用下面幾種方法之一來選擇: 方法一:對于求目標(biāo)函數(shù)最大值的優(yōu)化問題,變換方法

45、為: 預(yù)先指定的一個(gè)較小的數(shù)。 進(jìn)化到當(dāng)前代為止的最小目標(biāo)函數(shù)值。 當(dāng)前代或最近幾代群體中的最小目標(biāo)函數(shù)值。亮縛瞧華懾休蠟啄棉鹽歹趣畢藕冊音鱉異仍畫的毀吊自珠產(chǎn)羅糜捅花搖丙人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202248方法二:對于求目標(biāo)函數(shù)最小值的優(yōu)化問題,變換方法為: 式中,Cmax為一個(gè)適當(dāng)?shù)叵鄬Ρ容^大的數(shù),它可以用下面幾種方法之一來選擇: 預(yù)先指定的個(gè)較大的數(shù)。 進(jìn)化到當(dāng)前代為止的最大目標(biāo)函數(shù)值。 前代或最近幾代群體中的最大目標(biāo)函數(shù)值。 吟蓉槐囂庫藉叁盈檸己腎濫驕菜撼涵嚼投慌渾撰崎肩甄滑契碎禁梅哈悼吮人工智能第三章遺傳算法、

46、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022492、比例選擇算子選擇算子或復(fù)制算子的作用是從當(dāng)前代群體中選擇出一些比較優(yōu)良的個(gè)體,并將其復(fù)制到下一代群體中。最常用和最基本的選擇算子是比例選擇算子。比例選擇實(shí)際上是一種有退還隨機(jī)選擇,也叫做賭盤(Roulette wheel)選擇,因?yàn)檫@種選擇方式與賭博中的賭盤操作原理頗為相似。所謂比例選擇算了,是指個(gè)體被選中并遺傳到下一代群體中的概率與該個(gè)體的適應(yīng)度大小成正比。賴亢哼噎搜謊睫操窘懂擅琳伴亭禱蔬療姜竭蜜荷覆廟紳份蕊隊(duì)鈕巷合診啄人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群

47、算法7/23/202250如圖所示為一賭盤示意圖。整個(gè)賭盤被分為大小不同的一些扇面,分別對應(yīng)著價(jià)值各不相同的一些賭博物品。當(dāng)旋轉(zhuǎn)著的賭盤自然停下來時(shí),其指針?biāo)干让嫔系奈锲肪蜌w賭博者所有。雖然賭盤的指針具體停止在哪一個(gè)扇面是無法預(yù)測的,但指針指向各個(gè)扇面的概率卻是可以估計(jì)的,它與各個(gè)扇面的圓心角大小成正比:圓心角越大,停在該扇面的可能性也越大;圓心角越小,停在該扇面的可能性也越小。與此類似,在遺傳算法中,整個(gè)群體被各個(gè)個(gè)體所分割,各個(gè)個(gè)體的適應(yīng)度在全部個(gè)體的適應(yīng)度之和中所占比例也大小不一,這個(gè)比例值瓜分了整個(gè)賭盤盤面,它們也決定了各個(gè)個(gè)體被遺傳到下一代群體中的概率。億鏟鍵恒性映陡膊掉倚曙嚙呀夾

48、俊巳螞緊外糯曠擺閃佑唯兢滯廷嘲場舒檢人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202251金銀銅鐵10203040彝吐員潦巨磋婿合貍途奢籠簿現(xiàn)扔妻塹捅扔蓉腎司軍覆載球啊兜扮毀框秧人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202252比例選擇算子的具體執(zhí)行過程是:(1)先計(jì)算出群體中所有個(gè)體的適應(yīng)度的總和。(2)其次計(jì)算出每個(gè)個(gè)體的相對適應(yīng)度的大小,它即為各個(gè)個(gè)體被遺傳到下一代群體中的概率。(3)最后再使用模擬賭盤操作(即0到1之間的隨機(jī)數(shù))來確定各個(gè)個(gè)體被選中的次數(shù)。刺墳定芋懂舒汁瑟

49、遲省蔗勺慘惡骸歌丑隔憲憋啼恬餃呼幢碾割尤匈能裕莎人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022533、單點(diǎn)交叉算子單點(diǎn)交叉算子是最常用和最基本的交叉操作算子。算子的具體執(zhí)行過程如下 :(1)對群體中的個(gè)體進(jìn)行兩兩隨機(jī)配對。若群體的大小為M,則共有M/2對相互配對的個(gè)體組。其中x表示不大于x的最大整數(shù)。(2)對每一對相互配對的個(gè)體,隨機(jī)設(shè)置某一基因座之后的位置為交叉點(diǎn)。若染色體的長度為n,則共有(n-1)個(gè)可能的交叉點(diǎn)位置。(3)對每一對相互配對的個(gè)體,依設(shè)定的交叉概率pc在其交叉點(diǎn)處相互交換兩個(gè)個(gè)體的部分染色體,從而產(chǎn)生出兩個(gè)新的個(gè)體

50、。 睜獅早繼騎壞祖館漢艇那聘詛膊雌葬吃隕尾幟窯改霓瀝掘巨徽室?guī)l頸人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202254單點(diǎn)交叉示意如下所示: A:1 0 1 1 0 1 1 1 0 0 A: 1 0 1 1 0 1 1 1 1 1 B:0 0 0 1 1 1 0 0 1 1 B; 0 0 0 1 1 1 0 0 0 0 單點(diǎn)交叉交叉點(diǎn)在瞪翼螢悸柑繁屠餞蟹備坑悠猜籌隋衰脈濘墩墜絕匠獎(jiǎng)隨陷棘掂肛盤陀資人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022554、基本位變異算子 對于基本遺

51、傳算法中用二進(jìn)制編碼符號串所表示的個(gè)體,若需要進(jìn)行變異操作的某一基因座上的原有基因值為0,則變異操作將該基因值變?yōu)?;反之,若原有基因值為l,則變異操作將其變?yōu)?。A:1 0 l 0 1 0 1 0 1 0 A: 1 0 l 0 0 0 1 0 1 0 基本位變異 變異點(diǎn) (1)對個(gè)體的每一個(gè)基因座,依變異概率pm指定其為變異點(diǎn)。(2)對每一個(gè)指定的變異點(diǎn),對其基因值做取反運(yùn)算或用其它等位基因值來代替,從而產(chǎn)生出一個(gè)新的個(gè)體。 烴截歧么脾苦發(fā)礬忙砧蕉匣傭冪宦縣擺祝韭裂倒亡凄州移豪議拔伐湯猴緣人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202

52、256四、基本遺傳算法應(yīng)用舉例1、遺傳算法的應(yīng)用步驟 第一步:確定決策變量及其各種約束條件,即確定出個(gè)體的表現(xiàn)型X和問題的解空間。第二步:建立優(yōu)化模型,即確定出目標(biāo)函數(shù)的類型(是求目標(biāo)函數(shù)的最大值還是求目標(biāo)函數(shù)的最小值)及其數(shù)學(xué)描述形式或量化方法。第三步:確定表示可行解的染色體編碼方法,也即確定出個(gè)體的基因型X及遺傳算法的搜索空間。第四步:確定解碼方法,即確定出由個(gè)體基因型X到個(gè)體表現(xiàn)型X的對應(yīng)關(guān)系或轉(zhuǎn)換方法。釋委填欣夜虹猶封蟬寺?lián)軜吩晁闩d貨后辣埋帳夕遺翔匡筐臆磊泊郭凋爺人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202257若參數(shù)a的變

53、化范圍為amin,amax,用m位二進(jìn)制數(shù)b來表示,則二者之間滿足: 第五步:確定個(gè)體適應(yīng)度的量化評價(jià)方法,即確定出由目標(biāo)函數(shù)值f (X)到個(gè)體適應(yīng)度F(X)的轉(zhuǎn)換規(guī)則。第六步:設(shè)計(jì)遺傳算子,即確定出選擇運(yùn)算、交叉運(yùn)算、變異運(yùn)算等遺傳算子的具體操作方法。第七步:確定遺傳算法的有關(guān)運(yùn)行參數(shù),即確定出遺傳算法的M、T、pc、pm等參數(shù)。另隆肪呼令累郝萄鎊泡鍵沁眠械昭抬芹去蚤屁菩坤戈解緬沾嫉煙胳撓忙主人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/2022582、遺傳算法的手工模擬計(jì)算示例 例:求下述二元函數(shù)的最大值:今返誘慰候最媽郴向九呸曝俺盡聽姜

54、蒙捉椿襪歡歧覆貯悔概僻輕回羔風(fēng)然人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202259(1)個(gè)體編碼遺傳算法的運(yùn)算對象是表示個(gè)體的符號串,所以必須把變量xl、x2編碼為一種符號串。該例題中,xl和x2取07之間的整數(shù),可分別用3位無符號二進(jìn)制整數(shù)來表示,將它們連接在一起所組成的6位無符號二進(jìn)制整數(shù)就形成了個(gè)體的基因型,表示一個(gè)可行解。例如,基因型X=10l110所對應(yīng)的表現(xiàn)型是:X5,6T。個(gè)體的表現(xiàn)型和基因型之間可通過編碼和解碼程序相互轉(zhuǎn)換。豺湯皋歌請?jiān)惆魃嘈蛷埿苯硴p片遲瘧絆剁畏帝幌劇踐添夷赴廂幣住琢竿人工智能第三章遺傳算法、蟻群算法

55、、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202260(2)初始群體的產(chǎn)生遺傳算法是對群體進(jìn)行的進(jìn)化操作,需要給其準(zhǔn)備一些表示起始搜索點(diǎn)的初姑群體數(shù)據(jù)。本例中,群體規(guī)模的大小取為4,即群體由4個(gè)個(gè)體組成,每個(gè)個(gè)體可通過隨機(jī)方法產(chǎn)生。一個(gè)隨機(jī)產(chǎn)生的初始群體如表中第1欄所示。私訛瘡昔宰伎忱胸漁墊轟磕靠憲舞宏李膝翹姓昌論閹傾糖捶固更躁嶺精誕人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202261(3)適應(yīng)度計(jì)算遺傳算法中以個(gè)體適應(yīng)度的大小來評定各個(gè)個(gè)體的優(yōu)劣程度,從而決定其遺傳機(jī)會(huì)的大小。本例中,目標(biāo)函數(shù)總?cè)》秦?fù)值,并且是

56、以求函數(shù)最大值為優(yōu)化目標(biāo),故可直接利用目標(biāo)函數(shù)值作為個(gè)體的適應(yīng)度。為計(jì)算函數(shù)的目標(biāo)值,需先對個(gè)體基因型X進(jìn)行解碼。表中第2、3欄所示為初始群體中各個(gè)個(gè)體的解碼結(jié)果,第4欄所示為各個(gè)個(gè)體所對應(yīng)的目標(biāo)函數(shù)值,它也是個(gè)體的適應(yīng)度,第4欄中還給出了群體中適應(yīng)度的最大值和平均值。 加雍砰笆災(zāi)撕洪霹艇樟剩汽阮惦埃氟銥冀憑兒窟殲哮坍瓜步逢沒佐抒紗吏人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202262個(gè)體1P(0)2x13x24fi(x1,x2)10111013534210101153343011100342541110017150垮勵(lì)露咳軋筑挑糞待蒲

57、拄唯眩價(jià)商疾股滬年刷竄坎嚴(yán)仟犧容術(shù)韻至慈澡鮮人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202263(4)選擇運(yùn)算選擇運(yùn)算(或稱為復(fù)制運(yùn)算)把當(dāng)前群體中適應(yīng)度較高的個(gè)體按某種規(guī)則或模型遺傳到下代群體中。一般要求適應(yīng)度較高的個(gè)體將有更多的機(jī)會(huì)遺傳到下一代群體中。本例中,采用與適應(yīng)度成正比的概率來確定各個(gè)個(gè)體復(fù)制到下一代群體中的數(shù)量。其具體操作過程是:先計(jì)算出群體中所有個(gè)體的適應(yīng)度的總和;其次計(jì)算出每個(gè)個(gè)體的相對適應(yīng)度的大小,如表中第5欄所示,它即為每個(gè)個(gè)體被遺傳到下一代群體中的概率,每個(gè)概率值組成一個(gè)區(qū)域,全部概率值之代為l。最后產(chǎn)生一個(gè)0到

58、1之間的隨機(jī)數(shù),依據(jù)該隨機(jī)數(shù)出現(xiàn)在上述哪一個(gè)概率區(qū)域內(nèi)來確定各個(gè)個(gè)體被選中的次數(shù)。如表中第6、7欄所示為一隨機(jī)產(chǎn)生的選樣結(jié)果。 髓禿全犢揮覽米豪碌肄肄帕碾幢撕陳寅忙謂冪鴉粳米澳抽肘蠅扦蠱晤剝桑人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202264個(gè)體56選擇次數(shù)7選擇結(jié)果10.24101110120.24111100130352111001隸掠吵錢偷兄計(jì)銀箱出黃駱咎新凄娠衫聳刺減奉軸虎惋蓬苯藻亭擎鈍徑鉛人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202265(

59、5)交叉運(yùn)算交叉運(yùn)算是遺傳算法中產(chǎn)生新個(gè)體的主要操作過程,它以某一概率相互交換某兩個(gè)個(gè)體之間的部分染色體。本例采用單點(diǎn)交叉的方法,其具體操作過程是:先對群體進(jìn)行隨機(jī)配對,表中第8欄所示為一種隨機(jī)配對情況;其次隨機(jī)設(shè)置交叉點(diǎn)位置,如表第9欄所示為一隨機(jī)產(chǎn)生的交叉點(diǎn)位置,其中的數(shù)字表示交叉點(diǎn)設(shè)置在該基因座之后;最后再相互交換配對染色體之間的部分基因。表中第10欄所示為交叉運(yùn)算的結(jié)果。驅(qū)拯糖鋅啦屯靈亮聽繡煽睜容頤穢涅棍塵抽喘走愉追軟鹼優(yōu)莉攔玻晶撲辨人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202266個(gè)體8配對情況9交叉點(diǎn)10交叉結(jié)果11變異點(diǎn)

60、12變異結(jié)果11234240110014011101211110151111113101001211100141110116111010孰寡爽胡亦網(wǎng)鏈月堡蔡檄琶念害昆竊石泊藹當(dāng)迄沛滴敘儲(chǔ)幣孔忠候榜掖祈人工智能第三章遺傳算法、蟻群算法、粒子群算法人工智能第三章遺傳算法、蟻群算法、粒子群算法7/23/202267例如,若第3號和第4號個(gè)體在第4個(gè)基因座之后進(jìn)行交叉運(yùn)算,則可得到兩個(gè)新的個(gè)體: 第3號個(gè)體:1 0 1 0 1 1 第4號個(gè)體:1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 1 交叉操作可以看出,其中新產(chǎn)生的個(gè)體“111011”的適應(yīng)度較原來兩個(gè)個(gè)體的適應(yīng)度都要高。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論