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