搜尋演算法 爬山法

2021-09-30 05:44:43 字數 301 閱讀 6367

爬山法是深度優先搜尋的改進演算法。在這種方法中,使用某種貪心演算法來幫助我們決定在搜尋空間中向哪個方向搜尋。由於爬山法總是選擇往區域性最優的方向搜尋,所以可能會有「無解」的風險,而且找到的接不一定是最優解。但是他比深度優先搜尋的效率要高很多。

主要的演算法描述如下:

1、構造由根節點組成的1元棧。

2、檢查該棧的棧頂元素是否為目標節點,如果是,那麼停止,否則轉向3.

3、從棧中刪除棧頂元素並擴充套件該元素,增加該元素的後代到棧中,進棧的次序按照評估函式值的順序(一般可以使用堆)

4、如果棧是空的,那麼失敗,否則,轉向步驟2.

搜尋演算法 爬山法

一 爬山演算法 爬山演算法是一種簡單的貪心搜尋演算法,該演算法每次從當前位置的臨近空間中選擇乙個最優解作為當前解,直到達到乙個區域性最優解。爬山演算法可以模擬成乙個有失憶的人在濃霧中爬山。這裡就揭示了爬山演算法的兩個問題 失憶 就是說這個人不記得他去過什麼地方,他只記得他現在所處的位置,以及周邊的情...

爬山搜尋演算法

1.爬山法 hill climbing 爬山法是向值增加的方向持續移動到簡單迴圈過程,演算法在到達乙個 峰頂 時終止,此時相鄰狀態中沒有比該 峰頂 更高的值。爬山法不維護搜尋樹,當前節點只需要記錄當前狀態及其目標函式值 爬山法不會前瞻與當前狀態不直接相鄰的狀態的值 就像健忘的人在大霧中試圖登頂珠峰一...

通用區域性搜尋演算法之爬山法也叫貪婪演算法

在上山移動中,隨機選擇下一步,選擇的概率隨著上山移動到陡峭程度而變化 隨機地生成後繼節點直到生成乙個優於當前節點的後繼 如果一開始沒有成功,那麼嘗試,繼續嘗試 演算法通過隨機生成的初始狀態來進行一系列的爬山法搜尋,找到目標時停止搜尋。該演算法以概率1接近於完備 因為演算法最終會生成乙個目標狀態作為初...