30
螞螞螞螞螞 (ant colony optimization, ACO) 螞螞 螞螞螞 螞螞 螞螞螞

螞蟻演算法 (ant colony optimization, ACO)

  • Upload
    nerice

  • View
    127

  • Download
    0

Embed Size (px)

DESCRIPTION

螞蟻演算法 (ant colony optimization, ACO). 指導:萬書言 報告:張逸敏. Biological Inspiration. In the forties and fifties of the twentieth century, the French entomologist Pierre-Paul Grass´e [1] observed that some species of termites react to what he called “significant stimuli”. - PowerPoint PPT Presentation

Citation preview

Page 1: 螞蟻演算法 (ant colony optimization, ACO)

螞蟻演算法(ant colony optimization, ACO)

指導:萬書言報告:張逸敏

Page 2: 螞蟻演算法 (ant colony optimization, ACO)
Page 3: 螞蟻演算法 (ant colony optimization, ACO)

Biological InspirationIn the forties and fifties of the twentieth century, the Frenchentomologist Pierre-Paul Grass´e [1] observed that somespecies of termites react to what he called “significant stimuli”.He observed that the effects of these reactions can act asnew significant stimuli for both the insect that produced themand for the other insects in the colony. Grass´e used the termstigmergy [2] to describe this particular type of communicationin which the “workers are stimulated by the performance theyhave achieved”.

Page 4: 螞蟻演算法 (ant colony optimization, ACO)

Stigmergy

• The two main characteristics of stigmergy that differentiate it from other forms of communication are the following. ❏ Stigmergy is an indirect, non-symbolic form of communication mediated by the environment:insects exchange information by modifying their environment; and

❏Stigmergic information is local: it can only be accessed by those insects that visit the locus in which it was released (or its immediate neighborhood).

Page 5: 螞蟻演算法 (ant colony optimization, ACO)

double bridge experiment• Deneubourg et al. [3] thoroughly investigated the

pheromone laying and following behavior of ants. In an experiment known as the “double bridge experiment’’, the nest of a colony of Argentine ants was connected to a food source by two bridges 。

• Initially, each ant randomly chooses one of the two bridges. However, due to random fluctuations, after some time one of the two bridges presents a higher concentration of pheromone than the other and, therefore, attracts more ants.

Page 6: 螞蟻演算法 (ant colony optimization, ACO)

The short bridge receives, therefore, pheromone earlier than the long one and this fact increases the probability that further ants select it rather than the long one.

Page 7: 螞蟻演算法 (ant colony optimization, ACO)

• m1 、 m2 為走的次數• k 、 h 是調和參數, k ≈ 20 、 h ≈ 2• Pi 為走某條路的機率

Page 8: 螞蟻演算法 (ant colony optimization, ACO)

ACO Algorithms

• 螞蟻系統 (Ant System; AS) • 是 Ant algorithm 理論模型發展過程中最早被提出的模型,此理論也是現今其它模型的基礎。• 蟻群系統 (Ant Colony System; ACS) • 是所有 Ant algorithm 理論模型中應用較為廣泛的模型。

Page 9: 螞蟻演算法 (ant colony optimization, ACO)

Ant System (AS)

• 由於螞蟻是靠費洛蒙溝通,因此都具有遺留及感知費洛蒙的能力。而螞蟻殘留有費洛蒙之路徑稱為費洛蒙路徑 (Pheromone Trail) ,以與無螞蟻走過或費洛蒙已揮發完畢之路徑作為區分。• 各路徑線段之費洛蒙更新方式的概念如下:

Page 10: 螞蟻演算法 (ant colony optimization, ACO)

• AS 是一種機率尋優方法,其路徑尋優係利用轉換機率 (transition probability) 進行下一節點之選擇。– τij :線段 ij 在時間 t 之費洛蒙濃度– ηij :代表期望値,通常為線段 ij 長度之倒數 – α,β :用以決定費洛蒙與距離相對重要性之參數

Page 11: 螞蟻演算法 (ant colony optimization, ACO)

• 若 α= 0 ,則螞蟻選擇距離最短的鄰近節點作為下一個拜訪節點 ( 即:貪心解法 (greedy heuristic, GH))

• 若 β= 0 ,則螞蟻選擇下一拜訪節點時完全不考量其間距離長短, 僅以費洛蒙濃度作為選擇下一個拜訪節點之依據。當在起始状態時,由於各線段尚未有費洛蒙之累積,因此螞蟻是以隨機的方式選擇拜訪節點。因此當 β= 0 時,即為隨機尋優法 (random search, RS)

Page 12: 螞蟻演算法 (ant colony optimization, ACO)

Max-Min 螞蟻系統• Max-Min 螞蟻系統 (MMAS) 為 Stűtzle 等學者所提出新的螞蟻群最佳化演算法,其與螞蟻系統 (AS) 的主要差異於三部份:• 只允許表現最佳的螞蟻留下費洛蒙• 增加路段費洛蒙濃度之上、下限限制• 所有路段之起始費洛蒙濃度均設在上限値• 加入路段費洛蒙濃度平滑機制

Page 13: 螞蟻演算法 (ant colony optimization, ACO)

• 變更整體更新法。於更新費洛蒙時,僅更新最佳的螞蟻旅途 (iteration-best) 或歷代中最好的螞蟻旅途 (best-so-far)

Page 14: 螞蟻演算法 (ant colony optimization, ACO)

• This may be (subject to the algorithm designer decision) either the best tour found in the current iteration—iteration-best, Lib—or thebest solution found since the start of the algorithm—best-so-far, Lbs—or a combination of both.

Page 15: 螞蟻演算法 (ant colony optimization, ACO)

• 限制路徑費洛蒙。由於不斷更新最佳螞蟻旅途的費洛蒙,將導致該路徑累積過高的費洛蒙,並導致螞蟻在選擇路徑時,有極高的機率會直接被牽引走,而失去了探索其他路徑的機會。同時,也導致較少被選取但可能是最佳解的建構路徑不斷地因為自然蒸發,而更為降低被選擇機會。在此兩種情況下,即可能導致螞蟻所尋找的解局限於區域最佳解。

Page 16: 螞蟻演算法 (ant colony optimization, ACO)

• 費洛蒙初始化與重新初始化。在初始化的部份,設定每個路徑上的費洛蒙為最大值,並僅賦予些微的自然蒸發比例,來導致螞蟻強烈地進行探索。費洛蒙重新初始化則在於當費洛蒙的更新呈現膠著狀態,無法改善最佳旅途的情形時發生。

Page 17: 螞蟻演算法 (ant colony optimization, ACO)

蟻群系統 (Ant Colony System , ACS)

• 螞蟻群系統 (Ant Colony System , ACS) 求解模式為 M.Dorigo 等學者於 1997 年所提出,相較於螞蟻系統 (AS) ,其所主要更新的內容有三項:• 加入轉換規則 ( transition rule )• 改變費洛蒙路徑更新方法• 增加局部更新法 (local updating

Page 18: 螞蟻演算法 (ant colony optimization, ACO)

• 增加區域更新法 (local updating rule) 。在每次螞蟻穿越某路徑後,即進行區域更新法。其中 0<ψ<1 ,而 τ0 為極小且不為零之費洛蒙初始值。

Page 19: 螞蟻演算法 (ant colony optimization, ACO)

• 變更整體更新法。在螞蟻群系統中,只有歷代中最佳解 (best-so-far) 的螞蟻旅途允許更新費洛蒙。其中 0<ρ1, Cbest 為歷代最佳的螞蟻旅途路徑總長。但須注意的,所有的路徑費洛蒙仍須經自然蒸發之程序,再進行最佳解的費洛蒙更新。

Page 20: 螞蟻演算法 (ant colony optimization, ACO)

• 變更狀態轉移法。即在選擇路徑時,須先經過虛擬隨機比例規則 (pseudorandom proportional rule) 所訂定的篩選,如 ( 式 2.7) ,當隨機亂數 q小於或等於常數 q0 時,則直接選擇可選路徑中的最佳路徑,此即所謂的追隨(exploitation) 。反之,如果 q小於或等於 q0 時,則進行原始螞蟻系統的選路規則,此即所謂的探索 (exploration) 。0<=q<=1

Page 21: 螞蟻演算法 (ant colony optimization, ACO)

• 基本上螞蟻群系統 (ACS) 所變更的狀態轉移法,提供了一個可以探索的機會,改善了螞蟻系統 (AS) 過高或過低的費洛蒙累積值所導致的易於局限在區域最佳解,亦如同取代了 MMAS 中,當數代演化無法取得最佳解的重設費洛蒙。因為其允許特定的機率下,探索不同的片段路徑,即使該片段路徑暫時不是區域中的最佳解。其整體更新法則採用與 MMAS 相仿的規則,在經過自然蒸發之後,只更新歷代最佳的路徑。整體而言,相較於螞蟻系統 (AS) 與 Max-Min 螞蟻系統 (MMAS) ,螞蟻群系統 (ACS) 有著較好的效率與穩定性來尋求到較好的全域最佳解。

Page 22: 螞蟻演算法 (ant colony optimization, ACO)

Ant Colony Edge Detection

• 由於數位影像中的邊緣,存在著連續線段的情形,意即一個屬於邊緣的像素點,周圍八個像素點 (neighbors) 有極大的機會仍是近似邊緣的像素點。以此概念,螞蟻群最佳化演算法應用於邊緣偵測中,主要為依賴螞蟻是透過逐步接續地建構可行解,從初始點開始,在有限的步伐內,不斷地尋找具有連續性的邊緣。在本文中,螞蟻群最佳化演算法如何應用於邊緣偵測的求解方法,稱之為蟻群邊緣偵測法。

Page 23: 螞蟻演算法 (ant colony optimization, ACO)

• 將一張數位影像定義為一圖形 G(P, R) , P 表示整張影像所有像素點 p 的集合, P={p1, p2, ..., pn} , piP ,而每個像素點 pi 於原始影像的像素值為 vi 。另外, R 表示所有可行路徑 r 的集合。如一張 256x256影像的圖形, |P|=65536 ,而各個像素點皆是蟻群可移動的位置,故除了影像四個邊緣的相臨路徑數不同外,其任一像素點 pi皆可允許八個不同方向移動到臨近的像素點 pj ,而其所行經的移動路徑即為rij , rijR ,而 rij 並非對稱於 rji ,故 |R|=521220 。路徑 rij的長度為 dij ,長度的判定為根據目的點 pj 的周圍像素變化量來決定,如 ( 式 3.1) 所述。式中 NEj 表示 pj 所臨近的所有可行位置 l 的集合。

jij l jl NEd v v

Page 24: 螞蟻演算法 (ant colony optimization, ACO)

演算法• 蟻群邊緣偵測法實際如何應用螞蟻群最佳化演算法核心的部份有下列五點:1. 以費洛蒙濃度演化結果來呈現。單隻螞蟻無法一次跑出影像中所有邊緣,故必然須要群集的螞蟻疊代分段建構,此即藉由螞蟻分散搜尋時所各自釋放的費洛蒙來呈現找尋的邊緣。2. 非僅單隻最佳螞蟻旅途可以進行費洛蒙的整體更新。為了呈現螞蟻合作完成的路徑,須讓多隻螞蟻共同呈現其所貢獻的路徑片段,而好的供獻路段將引導螞蟻再次循之,反之則因自然蒸發的機制而消散之。3. 螞蟻總量需達一定比例數量。每次旅途中,由於螞蟻並不一定只會尋著邊緣走,為了維護經疊代與螞蟻群合作所建立起的「費洛蒙邊緣」,需有一定數量的螞蟻持續行經濃渡高的費洛蒙邊緣。4. 允許旅途路徑的重複。影像邊緣的求解建構過程,允許重複的路徑行走,其意義在於加強所找尋到的邊緣。5. 跨越非邊緣區域的能力。數位影像內容的物體邊緣複雜度並無法預料,或許螞蟻很容易可以找些許多變異量大的片段邊緣,但螞蟻卻有可能因此滿足,而只徘徊於所找到的區域路徑。因此跨越非邊緣路徑是絕對重要的。

Page 25: 螞蟻演算法 (ant colony optimization, ACO)

• 根據上述的考量,蟻群邊緣偵測法所設計的演算法的內容為下列數點:• 隨機螞蟻起點與限制螞蟻生命步數。蟻群邊緣偵測法所預定的螞蟻起始位置是依亂數決定的,雖明顯可預期地,預先估算螞蟻放置起始點的位置對於螞蟻找到邊緣的影響甚重,但也耗費分析的計算時間,故以限制螞蟻最多行走步數來加快螞蟻於下一疊代時,更換不同的地方進行搜尋。另一方面,限制螞蟻移動步數的好處即為避免螞蟻在較大的無邊緣區域進行無意義的搜尋。• 採用螞蟻系統 (AS) 的整體更新法。即加重了每隻螞蟻搜索過程的貢獻,凡所找的解為較近似邊緣者,所更新的費洛蒙將為較多。如機率公式中進行費洛蒙自然蒸發後,將所有螞蟻所行經的旅途路徑長做加總並更新,其路徑長即為根據距離公式而得的周遭變異量總值。而在中所訂定的第 k隻螞蟻的旅途總路徑長仍須再除上 255 與 8 ,其主要目的為正規化 (normalization) ,即兩像素值間最大的差距為 255 ,而所考量的周遭像素總量平均約略為 8 ,即 0 Δτ 1。

Page 26: 螞蟻演算法 (ant colony optimization, ACO)

• 設定路徑費洛蒙之最小值。在進行邊緣搜索時,探索能力是一項相當重要的因素,唯調高了探索的機率將會影響到好的解無法被遵循而消散。故參照Max-Min 螞蟻系統 (MMAS)中,設定限制費洛蒙整體消散的最小值,以避免因為某些路徑點因為過度自然消散,即比費洛蒙初始值還要低很多的值。雖然在螞蟻群系統 (ACS) 的區域更新法中,有機會將費洛蒙值提升回歸到初始值,但因螞蟻並非走完所有的路徑點,有大部份的路徑會不斷地因為沒有螞蟻行經並經歷每次疊代所進行的自然蒸發而下降的過低。在蟻群邊緣偵測法中,所設定的最低值即為初始費洛蒙值。• 啟用探索機制。根據螞蟻群系統 (ACS) 於所表述,給予大部份比例的螞蟻追循先者螞蟻的經驗,少部份比例的螞蟻進行探尋。在蟻群邊緣偵測法中,追隨與探索機制皆有其不可或缺的意義。• 非強迫性禁忌搜尋。應用禁忌搜尋法 (tabu search) 的概念,將螞蟻所行走過的路徑點加入禁忌清單中,並驅使螞蟻行走未行走過的路徑點。唯在影像邊緣偵測過程中,螞蟻將因此而容易被迫走入死胡同中,即過早結束旅程。故蟻群邊緣偵測法中將改採非強迫的方式,即螞蟻本身以禁搜尋為主要原則,而當遇無法選擇下一路徑點時,則允許重複行走先前走過的路徑點。如此一來,對於螞蟻跨越非平滑區域有極大的幫助,並提高螞蟻尋求最佳解的積極性。• 使用區域更新法。如螞蟻群系統 (ACS) 的所表意,過於群集的螞蟻將因區域更新法而所驅散,擴展求解的範圍。

Page 27: 螞蟻演算法 (ant colony optimization, ACO)

• 蟻群邊緣偵測法在設定螞蟻為 250隻與螞蟻可行步數為256步,另外 =1、 β=5 、 ρ=0.8 、 ψ =0.8 、 q0 =0.8 與初始費洛蒙值為 10-6 的實驗參數下,對 250X250 的灰階圖進行邊緣偵測。下圖為經歷一次疊代演化後螞蟻所搜尋的總路徑內容,根據所找尋的路徑,其進行第一次整體更新法的結果。

Page 28: 螞蟻演算法 (ant colony optimization, ACO)

以 Lena影像進行疊代,背景木柱邊緣相較於先前更為完整。再將搜尋影像改變,並再進行疊代。原始所決定的影像邊緣已大部份被新的影像邊緣所取代,而經歷兩次疊代之後,螞蟻群已經完全遺忘了不適用的過去經驗。

Page 29: 螞蟻演算法 (ant colony optimization, ACO)

• Ants 與 Sobel邊緣偵測,做比較。

Page 30: 螞蟻演算法 (ant colony optimization, ACO)

END