• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用遺傳算法實(shí)現(xiàn)四色圖問題

      2015-04-29 01:36:49火善棟
      計(jì)算機(jī)時(shí)代 2015年3期
      關(guān)鍵詞:鄰接矩陣遺傳算法

      火善棟

      摘 要: 遺傳算法是模擬生物進(jìn)化過程的算法,任何問題只要能用一組合適的編碼來(lái)表示其中的一個(gè)可行解,那么這個(gè)可行解就可以看做是一個(gè)生物個(gè)體,若干個(gè)可行解就可以看做是一個(gè)生物種群。將問題的若干個(gè)可行解利用生物進(jìn)化的特點(diǎn),最終就可以簡(jiǎn)單快速地得到問題的一個(gè)最優(yōu)解。利用遺傳算法和四色圖問題的這一特點(diǎn),通過遺傳算法實(shí)現(xiàn)了四色圖問題的求解。實(shí)驗(yàn)證明,用遺傳算法實(shí)現(xiàn)類似的四色圖問題,思想簡(jiǎn)單,收斂速度快。

      關(guān)鍵詞: 四色圖問題; 遺傳算法; 染色體編碼; 鄰接矩陣

      中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)03-56-02

      Abstract: Genetic algorithms are algorithms to simulate biological evolution, as long as one of the feasible solution can be represented by a set of suitable code, then the feasible solution can be seen as a biological entity, serveral feasible solutions can be seen as a biological population. By using the characteristics of biological evolution with a number of feasible solutions, the optimal solution can be obtained easily and quickly. This article uses the characteristics of genetic algorithms and the four-color map problem, to solve the four-color map problem with genetic algorithm. Experiments show that, to solve a similar four-color map problem with genetic algorithms can be simply thinking and fast convergence.

      Key words: four-color map problem; genetic algorithm; chromosome coding; adjacency matrix

      0 引言

      圖的著色問題是由地圖的著色問題引申而來(lái)的:用m種顏色為地圖著色,使得地圖上的每一個(gè)區(qū)域著一種顏色,且相鄰區(qū)域顏色不同。圖的著色問題在組合分析和實(shí)際生活中有著廣泛的應(yīng)用背景,如任務(wù)調(diào)度、資源分配、考試安排、交通管理和排課表等。

      19世紀(jì)50年代,英國(guó)學(xué)者提出了任何地圖都能以4種顏色來(lái)著色的4色猜想問題。過了100多年,這個(gè)問題才由美國(guó)學(xué)者在計(jì)算機(jī)上予以證明,這就是著名的四色定理。

      至于圖的著色問題有很多學(xué)者提出了一些相關(guān)的算法,如:窮舉法、回溯法、貪心法、蟻群算法等,本文采用遺傳算法實(shí)現(xiàn)了四色圖問題。

      遺傳算法[3]的工作過程實(shí)質(zhì)上就是模擬生物的進(jìn)化過程。首先,確定一種編碼方法,使得問題的任何一個(gè)潛在的可行解都能表示為一個(gè)“數(shù)字”染色體,然后,創(chuàng)建一個(gè)由隨機(jī)染色體組成的初始群體(每條染色體代表一個(gè)不同的候選解),再經(jīng)過優(yōu)勝劣汰、交差變異、基因突變得到一個(gè)新的群體,每個(gè)新的群體不斷如此反復(fù),經(jīng)過若干代以后,只要問題有解,遺傳算法將會(huì)收斂到一個(gè)解。遺傳算法的最大優(yōu)點(diǎn)就是,不需要知道怎么去解決一個(gè)問題,僅需知道用怎樣的方式對(duì)可行解進(jìn)行編碼,使得它能夠被遺傳機(jī)制所利用。通常情況下,代表可行解的染色體采用一系列二進(jìn)制位編碼,在運(yùn)行開始時(shí),創(chuàng)建一個(gè)染色體群體,每個(gè)染色體都是由一組隨機(jī)的二進(jìn)制位所組成,二進(jìn)制位(即染色體)的長(zhǎng)度在整個(gè)群體中都是一樣的。實(shí)驗(yàn)證明,用遺傳算法實(shí)現(xiàn)類似的四色圖問題,思想簡(jiǎn)單,收斂速度快。

      1 遺傳算法在四色圖問題中的具體實(shí)現(xiàn)

      1.1 地圖的簡(jiǎn)化表示及其鄰接矩陣[4]

      1.2 染色體的編碼

      由于四色圖問題中每一個(gè)頂點(diǎn)僅限為4種顏色,故編碼后的染色體應(yīng)該就代表這4種顏色信息的一個(gè)字符串,傳統(tǒng)的編碼方法就是把顏色變換成二進(jìn)制的代碼。

      1.3 染色體適應(yīng)度的計(jì)算

      設(shè)置一個(gè)一維數(shù)組,該數(shù)組中的每一個(gè)元素對(duì)應(yīng)相應(yīng)頂點(diǎn)的顏色信息,該顏色信息分別為0、1、2、3(這個(gè)顏色信息可以通過染色體中相應(yīng)的兩個(gè)相鄰的比特位來(lái)得到),然后通過簡(jiǎn)化圖的鄰接矩陣來(lái)計(jì)算每條染色體(候選解)的適應(yīng)度。其方法是:遍歷簡(jiǎn)化圖中的每一個(gè)頂點(diǎn),通過其鄰接矩陣找到與當(dāng)前頂點(diǎn)相連接的所有的頂點(diǎn),當(dāng)這個(gè)相鄰頂點(diǎn)與當(dāng)前頂點(diǎn)的顏色值相等時(shí),其適應(yīng)性分?jǐn)?shù)n就加1。當(dāng)所有的頂點(diǎn)遍歷完了之后,就可以得到這條染色體的適應(yīng)度f(wàn)itness=1/(1+n)。通過這個(gè)公式可以看出,當(dāng)n=0時(shí),這條染色體就是問題的一個(gè)解,并且其適應(yīng)度越大,其個(gè)體的適應(yīng)性就越強(qiáng),該個(gè)體就越有可能產(chǎn)生新的后代個(gè)體。

      1.4 用遺傳算法求解四色圖問題的詳細(xì)求解過程

      用遺傳算法實(shí)現(xiàn)四色圖問題時(shí),其收斂次數(shù)和收斂時(shí)間并不與種群的大小成一定的比例關(guān)系,當(dāng)種群為100和80時(shí)其收斂次數(shù)隨著種群的減少而呈現(xiàn)增加趨勢(shì),收斂時(shí)間呈增多趨勢(shì),當(dāng)種群大小為70、60、50和40時(shí),收斂次數(shù)為1,收斂時(shí)間很短,近似為0,但當(dāng)種群大小為20時(shí),迭代次數(shù)突然增大,當(dāng)然迭代時(shí)間也突然增大。從這種結(jié)果也可以看出,在用遺傳求解相關(guān)問題時(shí),種群的大小直接影響到求解問題的迭代次數(shù)和迭代時(shí)間。從表2的實(shí)驗(yàn)結(jié)果也可以看出,只要比較合理地設(shè)定初始種群的大小,用遺傳算法就可以快速有效的解決類似的四色圖問題。

      參考文獻(xiàn):

      [1] [美]Mat Buckland著,吳祖增,沙鷹譯.游戲編程中的人工智能技術(shù)[M].

      清華大學(xué)出版社,2006.

      [2] [美]George E Luger著,郭茂祖等譯.人工智能復(fù)雜問題求解的結(jié)果

      和策略[M].機(jī)械工業(yè)出版社,2010.

      [3] 王小平,曹立明著.遺傳算法:理論、應(yīng)用與軟件實(shí)現(xiàn)[M].西安交通大

      學(xué)出版社,2002.

      [4] 高一凡,編著.《數(shù)據(jù)結(jié)構(gòu)》算法實(shí)現(xiàn)及其解析[M].西安電子科技大學(xué)

      出版社,2002.

      [5] 程杰編著.大話數(shù)據(jù)結(jié)構(gòu)[M].清華大學(xué)出版社,2011.

      [6] 呂鳳詟編著.C++語(yǔ)言程序設(shè)計(jì)[M].清華大學(xué)出版社,2003.

      猜你喜歡
      鄰接矩陣遺傳算法
      一類樹的鄰接矩陣的Moore-Penrose廣義逆
      輪圖的平衡性
      遺傳算法對(duì)CMAC與PID并行勵(lì)磁控制的優(yōu)化
      基于自適應(yīng)遺傳算法的CSAMT一維反演
      消防車路徑優(yōu)化問題的研究
      一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
      基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
      協(xié)同進(jìn)化在遺傳算法中的應(yīng)用研究
      基于鄰接矩陣變型的K分網(wǎng)絡(luò)社團(tuán)算法
      基于改進(jìn)的遺傳算法的模糊聚類算法
      多伦县| 寿光市| 万宁市| 北辰区| 公安县| 铅山县| 德昌县| 定结县| 信宜市| 赞皇县| 大新县| 鄂尔多斯市| 马龙县| 赤水市| 沁阳市| 海淀区| 三河市| 丹棱县| 通榆县| 常山县| 绥棱县| 陇南市| 铜鼓县| 孙吴县| 定西市| 泰安市| 和田市| 安宁市| 安图县| 依兰县| 蚌埠市| 淄博市| 武山县| 朔州市| 德格县| 吉安县| 海阳市| 化州市| 兰西县| 牡丹江市| 莒南县|