您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)大數(shù)據(jù)中蟻群算法的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
蟻群算法應(yīng)用于解決優(yōu)化問題的基本思路為:用螞蟻的行走路徑表示待優(yōu)化問題的可行解,整個螞蟻群體的所有路徑構(gòu)成優(yōu)化問題的解空間。路徑較短的螞蟻釋放的信息素量較多,隨著時間的推進,較短的路徑上累積的信息素濃度逐漸增高,選擇該路徑的螞蟻個數(shù)也愈來愈多。最終,整個螞蟻會在正反饋的作用下集中到最佳路徑上,此時對應(yīng)的便是待優(yōu)化問題的最優(yōu)解。
因為蟻群算法的核心思想是“信息素”,所以用蟻群算法求解TSP問題有兩個關(guān)鍵步驟:
步驟一:根據(jù)信息素濃度計算出選擇轉(zhuǎn)移到下一個城市的概率
步驟二:更新信息素濃度
首先設(shè)置一些基本參數(shù):設(shè)整個螞蟻群體數(shù)量為m,城市數(shù)量為n,城市i與城市j之間的距離為dij,t時刻城市i與城市j連接路徑上的信息素濃度為。初始時刻,各個城市連接路徑上的信息素濃度相同(因為螞蟻們都還沒開始走),設(shè)。
步驟一詳解:前文我們說到,螞蟻能夠感知某條路徑上的信息素濃度,并根據(jù)信息素濃度選擇繼續(xù)沿著那條路走,小編前面也說到這里的思想和“輪盤賭”的思想差不多,不過還有一點小小的差異。
這個式子表明t時刻螞蟻k從城市i移動到城市j的概率,其中;為螞蟻k待訪問城市的集合,開始時中有(n-1)個元素,即包括除了螞蟻k出發(fā)城市的其他城市,隨著時間的推進,中的元素不斷減少,直至為空,即表示所有的城市均訪問完畢;為信息素重要程度因子,其值越大,表示信息素的濃度在轉(zhuǎn)移中起到的作用越大;為的重要程度影響因子,其值越大,表示在轉(zhuǎn)移中的作用越大,即螞蟻會以較大的概率轉(zhuǎn)移到距離最短的城市。
步驟二詳解:在計算完轉(zhuǎn)移概率之后,螞蟻一定會移動到下一個城市,這時不同路徑上的信息素濃度一定會發(fā)生變化,因為剛才螞蟻已經(jīng)經(jīng)過這條路線。如前文所述,在螞蟻釋放信息素的同時,各個城市連接路徑上的信息素也在逐漸消失,設(shè)參數(shù)()表示信息素的揮發(fā)程度。因此當所有螞蟻完成一次循環(huán)后(這里的意思是所有的螞蟻全部找到自己的路徑后,這些螞蟻會更新完各連接路徑上的信息素濃度之后進行新一輪的“尋找最優(yōu)路徑活動”,這其實屬于一個迭代的過程),各個城市間連接路徑上的信息素濃度需要進行實時更新。
下面給出信息素濃度更新公式。
其中,表示第k只螞蟻在城市i與城市j連接路徑上釋放的信息素濃度;表示所有螞蟻在城市i與城市j連接路徑上釋放的信息素濃度之和。
其中,Q為常數(shù),表示螞蟻循環(huán)一次所釋放的信息素總量;Lk為第k只螞蟻經(jīng)過路徑的長度。
綜上所述,蟻群算法求解TSP問題的流程圖如下所示
關(guān)于“大數(shù)據(jù)中蟻群算法的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。