演化計算(蟻羣算法、粒子羣算法、遺傳算法、演化規則......)

演化計算(蟻羣算法、粒子羣算法、遺傳算法、演化規則......)

1.概念

  演化計算主要用於解決預測優化問題。由於演化計算利用一組解求解,所以這一組解越分散,含信息量越多,而優化的過程就是這一組解聚合的過程。
  演化計算的重要特徵是聚散(或稱多樣性)。通過多次聚散(聚合——交換信息;離散——擴散和繼續搜索),儘快得出最優解。通常利用這個特性研究自適應算法。
  演化計算中的適應度函數的作用是對算法進行評估,決定何時結束算法。

2.傳統算法和演化計算

傳統算法(如梯度下降法、爬山法)

  • 根據導數的性質決定迭代的方向,一次只有一個解
  • 一般是線性模型,且要求函數可導、連續等,要求較高
  • 確定性。給定一個初始解,總會沿着同一個過程得出同一個解。

演化計算

  • 一組解在一起協同作用產生一個最優解。
  • 不需要具體的函數,只要能夠確定適應度函數,就可以通過適應度函數,對算法進行評估。
  • 概率角度。使用隨機函數隨機搜索,每次運行結果可能不一樣。
    概率是演化計算中很重要的一個概念。沒有概率演化計算中的很多算法是無法尋優的。
    隨機函數的選擇是演化計算中不同算法的主要區別,如選擇高斯分佈、柯西分佈等

3.一般步驟

  初始化(隨機產生或考慮可行解不可行解)—> 計算適應度—>選擇和複製,以產生下一代—>適應度檢驗—>輸出

推薦一個b站的視頻:P1-P4講的是演化計算,後面講的是粒子羣算法
https://www.bilibili.com/video/av25048507?from=search&seid=11100029321552263089 (IEEE fellow 史玉回老師講的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章