爬山算法

1.概念

爬山算法是一種局部擇優的方法,是一種局部貪心的最優算法。
採用啓發式方法,是對深度優先搜索的一種改進,它利用反饋信息幫助生成解的決策。 該算法每次從當前解的臨近解空間中選擇一個最優解作爲當前解,
直到達到一個局部最優解,屬於人工智能算法的一種。

2.主要思想

  1. 隨機選擇一個登山的起點;
  2. 每次拿相鄰點與當前點進行比對,取兩者中較優者,作爲爬坡的下一步;
  3. 重複第2步,直至該點的鄰近點中不再有比其大的點;
  4. 選擇該點作爲本次爬山的頂點,即爲該算法獲得的最優解。

3.特點

實現簡單,其主要缺點是會陷入局部最優解,不一定能搜索到全局最優解。
如下圖所示:假設C點爲當前解,爬山算法搜索到A點這個局部最優解就會停止搜索,
因爲在A點無論向那個方向小幅度移動都不能得到更優的解。


4.參考文章

如果想進一步瞭解爬山算法及其應用,請參考:
基於爬山算法求解TSP問題(JAVA實現)
機器學習優化算法之爬山算法小結

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