Best-First-Search演算法- IT閱讀
文章推薦指數: 80 %
Best-First-Search演算法 ... 縮寫起來是跟廣度優先搜尋一樣的BFS,實際上不同。
此BFS按照類似Dijkstra的流程執行,不同的是它能夠評估任意結點到目標點的 ...
Best-First-Search演算法
首頁
最新
HTML
CSS
JavaScript
jQuery
Python3
Python2
Java
C
C++
Go
SQL
首頁
最新
Search
Best-First-Search演算法
2018-12-25254
縮寫起來是跟廣度優先搜尋一樣的BFS,實際上不同。
此BFS按照類似Dijkstra的流程執行,不同的是它能夠評估任意結點到目標點的代價。
與選擇離初始結點最近的結點不同的是,它選擇離目標最近的結點。
BFS不能保證找到一條最短路徑。
然而,它比Dijkstra演算法快的多,因為它用了一個啟發式函式(heuristicfunction)快速地導向目標結點。
最佳優先搜尋是寬度優先搜尋的擴充套件,基本思想是將節點表按據目標的距離進行排序,再以節點的估計距離為標準選擇待擴充套件的節點。
演算法步驟:
1.用N表示已經排序的初始結點表(從小到大)
2.如果N為空集,則退出並給出失敗訊號
3.n取為N的首結點,並在N中刪除結點n,放入已訪問結點列表
4.如果n為目標結點,則退出並給出成功訊號
5.否則,將n的後繼結點加到N中,記為N’,對N’中的結點按距目標的估計距離排序,並返回第2步
在搜尋的過程中一般會用到評估函式f(n),表示從初始節點S經過n到達目的節點t的最佳路徑代價f*(n)的估計:
從S到n的最佳代價g*(n)的估計g(n),g(n)≥g*(n),即區域性最小≥全域性最小
從n到t的最佳代價h*(n)的估計h(n),若對所有結點n,都有h(n)≤h*(n),則演算法A一定能找到一條到達目標結點的最佳路徑,此時演算法A稱為演算法A*。
f(n)=g(n)+h(n)作為f*(n)=g*(n)+h*(n)的估計,估計值越小的點希望越高,應該優先擴充套件,所以可以在此處維持一個優先佇列。
相關文章
Best-First-Search演算法
C++二分查詢(折半查詢、BinarySearch)演算法
SelectiveSearch演算法
UVA_10815Andy'sFirstDictionary演算法競賽入門經典
【DFS】不撞南牆不回頭—深度優先搜尋演算法[DeepFirstSearch]
九章演算法筆記4.寬度優先搜尋BreadthFirstSearch
九章演算法筆記5.深度優先搜尋DepthFirstSearch
【LeetCode-面試演算法經典-Java實現】【121-BestTimetoBuyandSellStock(最佳買賣股票的時間)】
演算法課作業系列7——BestTimetoBuyandSellStockwithTransactionFee
3069BestCowLine(貪心演算法)
禁忌搜尋演算法(TabuSearch)
第九周演算法分析與設計:SearchforaRange
字串演算法——旋轉陣列中查詢目標值(SearchinRotatedSortedArray)
演算法分析課每週練習FirstMissingPositive
POJ1200CrazySearch(雜湊演算法)【模板】
分類導航
HTML/CSS
HTML教程
HTML5教程
CSS教程
CSS3教程
JavaScript
JavaScript教程
jQuery教程
Node.js教程
服務端
Python教程
Python3教程
Linux教程
Docker教程
Ruby教程
Java教程
JSP教程
C教程
C++教程
Perl教程
Go教程
PHP教程
正則表達式
資料庫
SQL教程
MySQL教程
PostgreSQL教程
SQLite教程
MongoDB教程
Redis教程
Memcached教程
行動端
IOS教程
Swift教程
Advertisement
三度辭典
Copyright©2016-2021IT閱讀
Itread01.comAllRightsReserved.
0.001291036605835
延伸文章資訊
- 1Breadth-first search 廣度優先搜尋法
廣度優先搜尋法,是一種圖形(graph)搜索演算法。從圖的某一節點(vertex, node)開始走訪,接著走訪此一節點所有相鄰且未拜訪過的節點,由走訪過的節點繼續進行先廣後深 ...
- 2A*搜尋演算法
該演算法綜合了最良優先搜尋(英語:Best-first search)和Dijkstra演算法的優點:在進行啟發式搜尋提高演算法效率的同時,可以保證找到一條最佳路徑(基於評估函式)。 在 ...
- 34.5 最佳優先搜尋演算法
- 4圖形搜尋簡介
在離散數學、演算法與人工智慧的領域,很多問題可以表示為「節點與連線所形成的 ... 圖形搜尋的方法大致可以分為「深度優先搜尋(Depth-First Search, DFS)、廣度優先 ...
- 5思考(9)圖搜索演算法-BFS,DFS,Best First Search,A* and Dijkstras
思考(9)圖搜索演算法-BFS,DFS,Best First Search,A* and Dijkstras. 雪花台灣 2019-07-14 01:56. 本文參考了斯坦福大學兩位博士生Ste...