1. 程式人生 > 實用技巧 >初學蟻群演算法——演算法簡介and演算法原理and演算法特點

初學蟻群演算法——演算法簡介and演算法原理and演算法特點

一、 演算法簡介

蟻群演算法(ant colony optimization, ACO),又稱螞蟻演算法,是一種用來在圖中尋找優化路徑的機率型演算法。其靈感來源於螞蟻在尋找食物過程中發現路徑的行為。

蟻群演算法是一種模擬進化演算法

二、 演算法基本原理

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

螞蟻在行走過程中會釋放一種稱為“資訊素”的物質,用來標識自己的行走路徑。

在尋找食物的過程中,根據資訊素的濃度選擇行走的方向,並最終到達食物所在的地方。

資訊素會隨著時間的推移而逐漸揮發

所以,在螞蟻1到達食物地點選擇會回去的路時,會選擇右邊這條(資訊素濃度高)的路,久而久之,右邊這條路的濃度逐漸增加,所有螞蟻都會選擇這條更短的路徑。

三、 演算法特點

1、自組織的演算法:自組織就是在沒有外界作用下使得系統嫡減小的過程(即是系統從無序到有序的變化過程)。

2、並行的演算法:每隻螞蟻搜尋的過程彼此獨立,僅通過資訊激素進行通訊。同時開始進行獨立的解搜尋,增加了演算法的可靠性,也使得演算法具有較強的全域性搜尋能力

3、正反饋的演算法:螞蟻能夠最終找到最短路徑,直接依賴於最短路徑上資訊激素的堆積,而資訊激素的堆積就是一個正反饋的過程。正反饋是螞蟻演算法的重要特徵,它使得演算法演化過程得以進行。