的区别在于理解在搜索目标状态时,更关心什么。
Ask the question what is our aim...
the final goal state?
or the Best path to reach the goal state
The Best First Search is a systematic search algorithm where systematicity is achieved by moving forward iteratively on the basis of finding out the
best heuristic value for the adjacent nodes for every current node.
Here the evaluation function ( heuristic function ) calculates the
best possible path to achieve the goal state. So here we could see the Best First search is concerned about the best PATH to reach to the goal state.
However there are many problems where "Path to the Goal" is not a concern, the only thing is concerned is to achieve the final state in any possible ways or paths.
(For eg: 8-queens problem).
因此,使用了本地搜索算法。
本地搜索算法使用单个当前节点进行操作,并且通常只移动到该节点的邻居。
Hill Climbing algorithm is a local search algorithm.
So here we need to understand the approach to get to the goal state not the best path to reach when thinking about hill climbing.
(如AI-A现代方法,SR&;PN中所述)
基本上,为了理解本地搜索,我们需要考虑状态空间景观。
景观同时具有
(i) 位置(由状态定义)和
(ii)高程(由启发式函数或目标函数的值定义)
我们需要了解两种类型的海拔,
(i) 如果高程对应目标函数,则目标是找到最高峰,即全局最大值。
(因此,这些类型的高程在不同的场景中都很有用,这些场景与成本无关,只与寻找最佳即时移动有关)
(ii)如果高程对应于成本,则目标是找到最低的山谷,即全局最小值。
(这里有一个常见的东西,即最陡峭(总是以更好的估计进行,即没有高原问题或任何其他问题)爬山与最佳第一搜索类似。这里,提升函数是启发式函数,它提供最佳最小成本。这里的爬山只涉及当前节点,遍历相邻节点以获得最小值并且继续扩展最佳节点,这类似于最佳第一搜索)
注意:
爬山算法不会展望当前状态的近邻。扩展只关注最佳相邻节点,而最佳相邻节点是由上述评价函数决定的。
Whereas, Best First Search algorithm look ahead of the immediate neighbors to find the best path to the goal(using Heuristic evaluation) and then proceeding with the best one.
So difference lies in approach of local searches and systematic search algorithms.
了解方法的差异,您将了解两者命名不同的原因。