優化演算法(五)—人工蜂群演算法Artificial Bee Colony Algorithm(ABC)
人工蟻群演算法是一種模仿蜜蜂採蜜機理而產生的群智慧優化演算法。其原理相對複雜,但實現較為簡單,在許多領域中都有研究和應用。
蜜蜂採蜜機理
蜜蜂是一種群居昆蟲,雖然單個昆蟲的行為極其簡單,但是由單個簡單的個體所組成的群體卻表現出極其複雜的行為。真實的蜜蜂種群能夠在任何環境下,以極高的效率從食物源(花朵)中採集花蜜;同時,它們能適應環境的改變。
蜂群產生群體智慧的最小搜尋模型包含基本的三個組成要素:食物源、被僱傭的蜜蜂和未被僱傭的蜜蜂。兩種最基本的行為模型:為食物源招募蜜蜂和放棄某個食物源。
在基本ABC演算法中,人工蜂群包含三種個體:僱傭蜂、觀察蜂和偵查蜂
每個僱傭蜂對應一個確定的蜜源(解向量),並在迭代中對蜜源的領域進行搜尋。
根據蜜源的豐富程度(適應值的大小)採用輪盤賭的方式僱傭觀察蜂採蜜(搜尋新蜜源)
如果蜜源多次更新沒有改進,則放棄該蜜源,僱傭蜂轉為偵查蜂隨機搜尋新蜜源。
相關文章
- 人工蜂群演算法演算法
- Algorithm演算法Go演算法
- Warshall‘s algorithm 演算法的實現及優化(修改版)Go演算法優化
- 【Algorithm】全排列演算法Go演算法
- 演算法之路 - Way to Algorithm演算法Go
- (EM演算法)The EM Algorithm演算法Go
- epiACO - a method for identifying epistasis based on ant Colony optimization algorithmIDEGo
- 維特比演算法(Viterbi Algorithm)維特比演算法ViterbiGo
- 貪心演算法(貪婪演算法,greedy algorithm)演算法Go
- 群體智慧優化演算法之粒子群優化演算法優化演算法
- 遺傳演算法 (Genetic Algorithm)演算法Go
- C++_STL—演算法Algorithm篇C++演算法Go
- Manacher's Algorithm 馬拉車演算法Go演算法
- 人工智慧導論——智慧計算(進化演算法+群智慧優化)人工智慧演算法優化
- MySQL優化--IO排程演算法優化MySql優化演算法
- Algorithm-sort 排序演算法 pythonGo排序演算法Python
- 字串演算法(string_algorithm)字串演算法Go
- iOS冒泡演算法優化iOS演算法優化
- 優化演算法總結優化演算法
- Algorithm-search 查詢演算法 pythonGo演算法Python
- 梯度下降優化演算法概述梯度優化演算法
- 簡單的量子演算法(二):Simon's Algorithm演算法Go
- 聯邦平均演算法(Federated Averaging Algorithm,FedAvg)演算法Go
- Algorithm(4th) 1.5 union-find演算法Go演算法
- KMP Algorithm 字串匹配演算法KMP小結KMPGo字串匹配演算法
- 滑動視窗演算法(Sliding Window Algorithm)演算法Go
- 優化演算法庫DEAP的粒子群優化演算法(PSO)示例程式碼分析優化演算法
- 最優化演算法【牛頓法、擬牛頓法、BFGS演算法】優化演算法
- 深度學習 - 常用優化演算法深度學習優化演算法
- 選擇排序-演算法及優化排序演算法優化
- 無約束凸優化演算法優化演算法
- 【Dijkstra演算法】未優化版+優先佇列優化版演算法優化佇列
- 機器學習演算法系列(十八)-隨機森林演算法(Random Forest Algorithm)機器學習演算法隨機森林randomRESTGo
- 排序演算法(五)排序演算法
- python實現:目標優化演算法——遺傳演算法Python優化演算法
- 一個需求引發的演算法及優化(KMP演算法)演算法優化KMP
- [譯] Swift 演算法學院 – Z-Algorithm 字串搜尋Swift演算法Go字串
- 【Algorithm】連結串列演算法中啞結點作用Go演算法