Artificial Intelligence

淺談Searching Algorithms

Searching Algorithms是AI課堂中總會聽過的,而Searching Algorithms 分了好幾個的Search,以下會作淺談。 首先Searching Algorithms 分了Uniformed Search 和 Informed Search,當中最大的分別就是Uniformed Search 是不會考慮到將來的結果,即是沒有考慮過將來的Cost,而Informed Search是會考慮到將來的因素,包括將來的Cost。 先來說說Uniformed Search – 這個Search就是只會用當中可供用的資料作處理,有3種Search: Breadth First Search,Uniformed-Cost Search,Depth-First Search。 先來說說第一個Breadth First Search,最大的特點就是由最淺(Shallowest)的層次(Layers)到最深的層次推進 ,再由先入先出的方式決定(First-in-First-out)。從完成度(Completeness)及最佳性(Optimal)來評論,Breadth First Search 是不能完全完成整個Searching Process,如果分支(Branching)是無限(infinite),相反,如果分支(Branching)是有限(finite)的,就可以完成搜索。 Breadth First Search 未能最佳化。 其次第二個是Uniformed-Cost Search,最大的特點就如其名一樣,重點是在Cost,Uniformed-Cost Search是要選擇最細的Cost,而Cost是最細的累積成本(cumulative cost),denote寫法是g(n),所以我們可以理解為選擇最低的g(n),如果步程的成本(Step Cost)是均等的,其實是和Breadth First Search一樣的。從完成度(Completeness)及最佳性(Optimal)來評論,Uniformed-Cost Search是十分理想的,可以完成Searching,因為Step Cost是不過少於0,少於0 Algorithms是未能進行的。最佳化來說是可以達到的,因為先考慮了最佳化的路程(Path)。 最後一個亦是第三個就是Depth First Search,最大的特點又是和名稱一樣,就是深度(Deepest),從越深度越向深探索,另外一個特點就是後入先出(Last-in-First-out)。從完成度(Completeness)及最佳性(Optimal)來評論,Depth First Search是未能完成整個Search過程,因為是有機會深度的分支(Depth-state)是無限的(infinite),而Optimal亦不算是,因為是由先後次序去決定。 接著來說說是Informed Search – 這個是有考慮到將來的成本(Cost),Best First …

淺談Searching Algorithms Read More »