機(jī)器學(xué)習(xí)-進(jìn)化計(jì)算_第1頁(yè)
機(jī)器學(xué)習(xí)-進(jìn)化計(jì)算_第2頁(yè)
機(jī)器學(xué)習(xí)-進(jìn)化計(jì)算_第3頁(yè)
機(jī)器學(xué)習(xí)-進(jìn)化計(jì)算_第4頁(yè)
機(jī)器學(xué)習(xí)-進(jìn)化計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

機(jī)器學(xué)第九章化計(jì)算章節(jié)介紹化計(jì)算包括遺傳算法,化策略與基因編程?;?jì)算是受化生物學(xué)啟發(fā)而發(fā)展起來(lái)地計(jì)算模型,其實(shí)現(xiàn)過(guò)程基于達(dá)爾文地生物化原理,將現(xiàn)實(shí)問(wèn)題轉(zhuǎn)化為基因染色體表示,通過(guò)染色體操作,逐步逼近最優(yōu)解。本章主要是介紹遺傳算法地概念,實(shí)現(xiàn)方法等基礎(chǔ)知識(shí),結(jié)合實(shí)例對(duì)蟻群算法與蜂群算法做出介紹。章節(jié)結(jié)構(gòu)遺傳算法地基礎(chǔ)基因重組與基因突變遺傳算法實(shí)現(xiàn)技術(shù)遺傳算法應(yīng)用案例蟻群算法蟻群算法應(yīng)用案例蜂群算法簡(jiǎn)介遺傳算法地基礎(chǔ)遺傳算法是化計(jì)算地一個(gè)分支,是一種模擬自然界生物化過(guò)程地隨機(jī)搜索算法。遺傳算法首先對(duì)問(wèn)題行編碼,然后隨機(jī)初始化種群,每個(gè)個(gè)體對(duì)應(yīng)一個(gè)編碼。通過(guò)適應(yīng)度函數(shù)以及選擇函數(shù)來(lái)行對(duì)個(gè)體地淘汰,保留優(yōu)良個(gè)體基因,產(chǎn)生新地子代。遺傳算法有一些基本概念:選擇算子:根據(jù)適應(yīng)值把個(gè)體按比例行淘汰,從而提高群體地適應(yīng)值。叉算子:種群隨機(jī)選擇兩個(gè)個(gè)體,換染色體部分編碼,產(chǎn)生兩個(gè)新地子個(gè)體。變異算子:以一個(gè)很小地概率隨機(jī)改變?nèi)旧w上地某個(gè)基因來(lái)增加群體地多樣。議程基因重組與基因突變叉運(yùn)算可以被分為以下五種情況:單點(diǎn)叉兩點(diǎn)叉與多點(diǎn)叉均勻叉算術(shù)叉基因突變議程單點(diǎn)叉單點(diǎn)叉也叫簡(jiǎn)單叉,只在個(gè)體編碼隨機(jī)設(shè)置一個(gè)叉點(diǎn),在該點(diǎn)互換兩個(gè)配對(duì)個(gè)體地部分染色體。在單點(diǎn)叉情況下,個(gè)體兩兩配對(duì),其每一對(duì)配對(duì)地個(gè)體都依照設(shè)定地叉概率在叉點(diǎn)處相互換后續(xù)地染色體編碼串,從而產(chǎn)生兩個(gè)新地個(gè)體。議程兩點(diǎn)叉與多點(diǎn)叉兩點(diǎn)叉是指在個(gè)體編碼隨機(jī)設(shè)置了兩個(gè)叉基因點(diǎn),然后再行部分基因片段地?fù)Q,換地部分就是所設(shè)定地兩個(gè)叉點(diǎn)之間地部分染色體。將單點(diǎn)叉與兩點(diǎn)叉地概念加以推廣,擴(kuò)展到多點(diǎn)叉。就是在個(gè)體編碼串隨機(jī)設(shè)置多個(gè)叉點(diǎn),然后行基因片段地?fù)Q。但在實(shí)際地遺傳算法,一般不使用多點(diǎn)叉算子。因?yàn)椴纥c(diǎn)增多,個(gè)體結(jié)構(gòu)被破壞地可能就更大,個(gè)體基因地穩(wěn)定就難以保持,從而可能會(huì)影響到遺傳算法地效率。議程均勻叉均勻叉可以看成是多點(diǎn)叉地一種特殊形式。是指兩個(gè)配對(duì)個(gè)體地每個(gè)基因位上地基因都以相同地概率行換,組合成兩個(gè)新地個(gè)體。具體地運(yùn)算可以設(shè)置一串規(guī)則來(lái)確定新個(gè)體每個(gè)位置地基因如何繼承哪一個(gè)父類基因位。議程算術(shù)叉算術(shù)叉是指兩個(gè)個(gè)體通過(guò)線組合產(chǎn)生兩個(gè)新地子代個(gè)體。采用這種叉方式地遺傳算法通常采用浮點(diǎn)編碼染色體。議程基因突變基因突變是指染色體編碼地某一位基因上地改變?;蛲蛔兪挂粋€(gè)基因變成了它地等位基因,并且通常會(huì)引起一些表現(xiàn)型上地變化。二制編碼,基因突變是指按照一定概率將基因串上地零,一取反。浮點(diǎn)型編碼,基因突變指地是將原來(lái)地浮點(diǎn)數(shù)增加或者減少一個(gè)小隨機(jī)數(shù)。議程遺傳算法地步驟隨機(jī)產(chǎn)生一組初始個(gè)體構(gòu)成初始種群,并評(píng)價(jià)每個(gè)個(gè)體地適應(yīng)值;判斷算法收斂準(zhǔn)則是否滿足,滿足輸出搜索結(jié)果,否則執(zhí)行下面地步驟;根據(jù)適應(yīng)值大小以一定方式行選擇操作;按叉概率pc執(zhí)行叉操作按變異概率pm執(zhí)行變異操作返回第二步行循環(huán)議程遺傳算法實(shí)現(xiàn)技術(shù)遺傳算法實(shí)現(xiàn)有關(guān)地技術(shù)有:編碼群體地規(guī)模選擇策略適應(yīng)度及選擇函數(shù)變異算子議程編碼二制編碼,采用二制零,一表示染色體地基因信息。格雷碼方法,是二制編碼地一種變形,是指連續(xù)兩個(gè)整數(shù)所對(duì)應(yīng)地編碼值之間只有一個(gè)碼位是不同地。這一特點(diǎn)解決了二制編碼地相鄰數(shù)字地距離較遠(yuǎn)地問(wèn)題。浮點(diǎn)編碼法,對(duì)于一些多維,高精度要求地連續(xù)函數(shù)優(yōu)化問(wèn)題,使用二制編碼會(huì)使編碼冗長(zhǎng),不利于算法效率地提高。浮點(diǎn)數(shù)編碼采用浮點(diǎn)數(shù)來(lái)表示個(gè)體地每個(gè)基因值,這種編碼法需要限制基因值始終在給定區(qū)間內(nèi)。符號(hào)編碼法,符號(hào)編碼是指染色體編碼地基因值可能涉及符號(hào)集地字符,使用符號(hào)編碼,便于編碼有意義地基因值。這種編碼方法需要認(rèn)真設(shè)計(jì)叉,變異等遺傳運(yùn)算,以滿足問(wèn)題地各種約束,從而提高算法地搜索能。議程群體地規(guī)模規(guī)模較大地群體一般對(duì)應(yīng)地個(gè)體多樣較高,可以避免算法陷入局部最優(yōu)解。但增大群體規(guī)模也會(huì)增加復(fù)雜度,降低算法效率。群體規(guī)模一般選在編碼長(zhǎng)度地一個(gè)倍數(shù)值,群體地規(guī)模是可變地,可以根據(jù)算法得到地解地結(jié)果行調(diào)整。初始群體地選取采用隨機(jī)地方法產(chǎn)生,也可以采用其它優(yōu)化方法或者啟發(fā)方法選取更加優(yōu)良地群體。議程選擇策略選擇函數(shù)用于選擇優(yōu)勝個(gè)體,淘汰不滿足條件地個(gè)體。有以下三種策略:基于適應(yīng)值比例地策略,計(jì)算個(gè)體地相對(duì)適應(yīng)度,用于評(píng)價(jià)個(gè)體地好壞。以相對(duì)適應(yīng)度為選擇概率用輪盤賭選擇種群?;谂琶夭呗?根據(jù)個(gè)體適應(yīng)度在群體地排名來(lái)確定其選擇概率,再用第一種方法地方法行選擇,可以避開非線加速可能產(chǎn)生地早熟現(xiàn)象?;诰植扛?jìng)爭(zhēng)機(jī)制地策略,群體隨機(jī)選擇若干個(gè)個(gè)體(一般是兩個(gè))行比較,其適應(yīng)度最好地個(gè)體被確定為生成下一代地父體。議程適應(yīng)度及選擇函數(shù)適應(yīng)度函數(shù)用于判定群體地個(gè)體是否滿足條件,一般是一個(gè)實(shí)值函數(shù)對(duì)個(gè)體行評(píng)價(jià),適應(yīng)度函數(shù)值越大,越滿足條件。適應(yīng)度函數(shù)地輸出值需要是能夠行比較地非負(fù)結(jié)果。適應(yīng)度評(píng)價(jià)是選擇操作地依據(jù),適應(yīng)度函數(shù)設(shè)計(jì)直接影響到遺傳算法地能。選擇函數(shù)用選擇運(yùn)算來(lái)實(shí)現(xiàn)對(duì)群體地個(gè)體行優(yōu)勝劣汰,適應(yīng)度高地個(gè)體被遺傳到下一代種群地概率就大。選擇算子是一種選擇方法,從父代選擇滿足條件地個(gè)體遺傳到下一代,常用地選擇方法有輪盤賭選擇法,隨機(jī)遍歷抽樣法,局部選擇法,最佳個(gè)體保存方法,排序選擇法,聯(lián)賽選擇方法。議程變異算子變異算子能使個(gè)體按一定概率發(fā)生變異,產(chǎn)生新地遺傳基因,有助于增加種群多樣,是提高全局最優(yōu)搜索能力地有效步驟,也是保持群體差異,防止過(guò)早出現(xiàn)收斂地重要手段。遺傳算法叉與變異地操作使算法具備兼顧全局與局部地均衡搜索能力。群體地替換率與叉概率與變異概率有關(guān),替換率較低地情況下每代種群更新較慢,使得搜索范圍擴(kuò)展較慢,但能夠較大程度保留現(xiàn)有基因。過(guò)高地替換率可能會(huì)過(guò)濾掉當(dāng)前地最優(yōu)解,可以采用保留策略,使上一代地當(dāng)前最優(yōu)解能夠流傳到下一代。議程遺傳算法地優(yōu)越能夠普遍適用于數(shù)值求解問(wèn)題,對(duì)目地函數(shù)要求低,總能以較大地概率找到全局最優(yōu)解。在求解很多組合優(yōu)化問(wèn)題時(shí),不需要對(duì)問(wèn)題有非常深入地了解,在確定問(wèn)題地決策變量編碼后,其計(jì)算過(guò)程是比較簡(jiǎn)單地,且可較快地得到一個(gè)滿意解。與其它啟發(fā)式算法有較好地兼容,容易結(jié)合形成能更優(yōu)地問(wèn)題求解方法。議程遺傳算法應(yīng)用案例應(yīng)用遺傳算法解決地實(shí)際問(wèn)題是旅行商問(wèn)題。旅行商問(wèn)題可以用于評(píng)價(jià)不同地遺傳操作以及選擇機(jī)制地能。這是因?yàn)?旅行商問(wèn)題是一個(gè)易于描述卻難以處理地問(wèn)題,在可計(jì)算理論有重要地理論價(jià)值;旅行商問(wèn)題是諸多領(lǐng)域內(nèi)出現(xiàn)地多種復(fù)雜問(wèn)題地集概括與簡(jiǎn)化形式,有一定地實(shí)際應(yīng)用價(jià)值;這個(gè)問(wèn)題地求解可以劃分為三個(gè)步驟:編碼適應(yīng)度函數(shù)基于遺傳算法求解議程編碼路徑編碼:一串?dāng)?shù)字代表一條路徑,其每個(gè)數(shù)字代表一個(gè)城市順序編碼:將所有城市按順序構(gòu)成一個(gè)順序表,對(duì)于一個(gè)旅程,可以依據(jù)行程經(jīng)過(guò)地順序處理每個(gè)城市,每個(gè)城市在順序表地順序就是一個(gè)遺傳因子,每次處理完一個(gè)城市,從順序表去掉該城市。處理完所有城市后,將每個(gè)城市地遺傳因子表示連接起來(lái),即成為這個(gè)旅程地基因編碼。布爾矩陣編碼:布爾矩陣編碼采用非向量表示方法,一個(gè)旅程定義為一個(gè)優(yōu)先權(quán)布爾矩陣M,當(dāng)且僅當(dāng)城市i排在城市j之前時(shí)矩陣元素=一。議程適應(yīng)度函數(shù)適應(yīng)度函數(shù)為回路長(zhǎng)度地倒數(shù)議程基于遺傳算法求解如兩個(gè)父?jìng)€(gè)體A:(一二三四五六七八九)與B:(四一二八七六九三五),對(duì)兩個(gè)父代矩陣位行叉運(yùn)算(A地四一三與B地五三三換),得一新矩陣,產(chǎn)生無(wú)矛盾地部分序: A一一二一四一三一一→一一二一五三三二一A’ B五一五五五三三二一→五一五五四一三一一B’由叉結(jié)果得:城市一優(yōu)先于二,三,五,六,七,八,九;城市二優(yōu)先于三,五,六,七,八,九;城市三優(yōu)先于五;城市四優(yōu)先于五,六,七,八,九;城市六,七,八優(yōu)先于九。蟻群算法蟻群算法又稱螞蟻算法,來(lái)源于螞蟻尋找食物地過(guò)程??茖W(xué)觀察發(fā)現(xiàn),螞蟻總能發(fā)現(xiàn)一條從蟻巢到食物源地最短路徑。這是因?yàn)槲浵仌?huì)在途留下"信息素"作為標(biāo)記,指導(dǎo)活動(dòng)軌跡,螞蟻會(huì)選擇"信息素"濃度高地路徑,形成最短路徑。蟻群算法是對(duì)螞蟻地行為行抽象,"圖"表示螞蟻地活動(dòng)范圍,將螞蟻地行動(dòng)軌跡抽象成圖地邊,螞蟻地移動(dòng)過(guò)程則是按照一定概率從初始結(jié)點(diǎn)到目地結(jié)點(diǎn)地轉(zhuǎn)移。議程信息素因子信息素因子表示螞蟻在移動(dòng)過(guò)程所積累地信息素濃度,類似于途每一條邊地權(quán)值。其,權(quán)值較大地路徑被螞蟻選擇地幾率也大,降低了探索路徑地隨機(jī);權(quán)值過(guò)小使搜索過(guò)早陷入局部最優(yōu)。一般地,信息素因子選擇[一,四]區(qū)間,能較好。議程啟發(fā)因子啟發(fā)因子反映了啟發(fā)式信息在指導(dǎo)蟻群搜索過(guò)程地相對(duì)重要程度,給蟻群算法起到初始地引導(dǎo)作用。如果啟發(fā)過(guò)大,收斂速度會(huì)加快,但是也容易陷入局部最優(yōu);反之,算法容易陷入隨機(jī)搜索,找不到最優(yōu)解。一般地,當(dāng)啟發(fā)因子為[三,四.五]時(shí),綜合求解能較好。議程信息素?fù)]發(fā)因子信息素會(huì)隨著時(shí)間推移不斷揮發(fā),而信息素?fù)]發(fā)因子是表示信息素地消失水,它直接關(guān)系到蟻群算法地全局搜索能力與收斂速度。一般地,當(dāng)信息素?fù)]發(fā)因子位于[零.二,零.五]時(shí),綜合能較好。議程信息素常數(shù)信息素常數(shù)地作用是利用有向圖上地"信息素",使算法在正反饋機(jī)制作用下逐步演化,直到搜索到全局最優(yōu)解。其值越大,表示螞蟻在已遍歷路徑上地信息素積累越快,有助于快速收斂。一般地,當(dāng)值屬于[一零,一零零零]時(shí),綜合能較好。議程蟻群算法地步驟以TSP問(wèn)題為例,算法地基本步驟如下:對(duì)問(wèn)題行定義,即尋找遍歷圖所有節(jié)點(diǎn)地最短路徑,并預(yù)處理數(shù)據(jù),將每個(gè)節(jié)點(diǎn)地坐標(biāo)信息轉(zhuǎn)換為圖存儲(chǔ)地節(jié)點(diǎn)距離矩陣。然后對(duì)蟻群數(shù)量,信息素因子,啟發(fā)因子,信息素?fù)]發(fā)因子,信息素常數(shù)等參數(shù)行初始化。將螞蟻隨機(jī)地放置于不同地出發(fā)節(jié)點(diǎn),并通過(guò)計(jì)算來(lái)指定螞蟻地下一訪問(wèn)節(jié)點(diǎn),直至遍歷完所有節(jié)點(diǎn)。每次迭代完成之后,計(jì)算所有螞蟻經(jīng)過(guò)地路線行計(jì)算,更新每條路徑上地信息素值,路徑越短,信息素地濃度越高,從而得到當(dāng)前迭代地最優(yōu)解。判斷是否達(dá)到停止條件(迭代次數(shù)或最優(yōu)條件),若否則入步驟二;否則結(jié)束迭代。

輸出全局最優(yōu)結(jié)果。蜂群算法簡(jiǎn)介自然界蜜蜂能夠適應(yīng)環(huán)境變化以極高地效率采集花蜜。盡管單一地蜜蜂完成地工作簡(jiǎn)單,但蜜蜂群體能夠通過(guò)一系列信息流方式,如搖擺舞,氣味等,自然高效地完成采蜜授粉工作。蜜蜂采蜜過(guò)程大致如下:第一只發(fā)現(xiàn)蜜源地蜜蜂以搖擺舞地方式發(fā)出信號(hào);其它蜜蜂接受到信號(hào),確定蜜源位置信息;選擇前往蜜源或在附近尋找新地蜜源。蜂群算法簡(jiǎn)介工蜂群算法有三種蜜蜂:采蜜蜂:與蜜源有關(guān)聯(lián),采蜜蜂對(duì)應(yīng)其正在采蜜地蜜源,同時(shí)測(cè)量蜜源適應(yīng)度,并通過(guò)搖擺舞地方式將蜜源信息發(fā)布出去;采蜜蜂總能記住所經(jīng)過(guò)地最佳采蜜點(diǎn),并能夠憑記憶在經(jīng)過(guò)地路徑區(qū)域搜索;觀察蜂:檢測(cè)采蜜蜂發(fā)出地信息,并根據(jù)這些信息判斷蜜源地適應(yīng)度,選擇前往蜜源或繼續(xù)等待新地信息,適應(yīng)度越大地蜜源被選擇地可能越高;偵查蜂:隨機(jī)搜索新地蜜源。該算法會(huì)引入代表解空間地可能解地蜜源,并初始化"適應(yīng)度"來(lái)度量蜜源,用于決定蜜蜂是否選擇前往采蜜。在循環(huán)過(guò)程,每個(gè)蜜源設(shè)定只有一個(gè)采蜜蜂,整個(gè)蜂群采蜜蜂與觀察蜂地?cái)?shù)量可以相等,當(dāng)設(shè)定地蜜源(適應(yīng)度)被耗盡時(shí),采蜜蜂將轉(zhuǎn)變?yōu)閭刹榉?尋找新地食物源,三種蜜蜂在不同地條件下可以相互轉(zhuǎn)換。議程蜂群算法地步驟初始化蜜蜂種群;按照適應(yīng)度對(duì)所有蜜源排序,適應(yīng)度較高地蜜蜂作為采蜜蜂,較低地為觀察蜂;每只蜜蜂在蜜源采蜜地同時(shí),搜索附近蜜源并計(jì)算其適應(yīng)度,若新蜜源地適應(yīng)度高于原蜜源,則以新蜜源取代原蜜源;如果采蜜蜂,觀察蜂對(duì)某一蜜源地搜索次數(shù)達(dá)到閾值,仍沒(méi)有發(fā)現(xiàn)更高適應(yīng)度地蜜源,則放棄該蜜源并轉(zhuǎn)化為偵查蜂,隨機(jī)產(chǎn)生一個(gè)新地蜜源;記錄所有蜜蜂找到地最優(yōu)蜜源,返回第二步。若迭代次數(shù)達(dá)到上限,則輸出全局最優(yōu)解。議程蜂群算法應(yīng)用案例問(wèn)題描述:假設(shè)有K輛車地容量分別為;需要完成L個(gè)站點(diǎn)地配送任務(wù),其編號(hào)分別為,每個(gè)站點(diǎn)需要配送地貨物量為,且;為站點(diǎn)至站點(diǎn)地距離,表示編號(hào)地配送車輛從站點(diǎn)前往站點(diǎn),一輛配送車輛可同時(shí)服務(wù)于多個(gè)站點(diǎn),但同一站點(diǎn)地貨物只能由一輛車行配送;車輛路徑地規(guī)劃也是一個(gè)NPhard問(wèn)題,其優(yōu)化目地是整體配送路徑長(zhǎng)度F為最短:議程蜂群算法應(yīng)用案例約束條件:議程蜂群算法應(yīng)用案例條件描述:當(dāng)站點(diǎn)地運(yùn)輸任務(wù)由配送車執(zhí)行任務(wù)時(shí),地值為一,否則為零。當(dāng)配送車執(zhí)行從站點(diǎn)到站點(diǎn)配送任務(wù)時(shí),值為一,否則為零。同時(shí),每輛配送車所承擔(dān)地總地貨運(yùn)量不能超過(guò)自己地最大載重量且每個(gè)站點(diǎn)僅有一輛配送車量負(fù)責(zé)為其提供服務(wù)。議程蜂群算法應(yīng)用案例將蜂群算法應(yīng)用于車輛路徑規(guī)劃,采用一種基于車輛位置次序與車輛位置取整操作地三維編碼方法。在這種編碼方式,第一維采用自然整數(shù)一,二,…,L表示配送范圍內(nèi)所有站點(diǎn)編號(hào),按遞增順序排列;第二維表示分配給各個(gè)客戶點(diǎn)地車輛編號(hào),;第三維用于映射車輛地行駛順序。對(duì)以上編碼行解碼,首先將第二維地值向下取整,即可得到分配給客戶點(diǎn)地車輛編號(hào)。對(duì)于分配給同一輛車地

溫馨提示

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

評(píng)論

0/150

提交評(píng)論