考虑到迷宫中的初始状态和单个最终状态,是否可以设计这样一种迷宫,其中以曼哈顿距离作为启发函数,广度优先搜索扩展的节点数少于A *?扩展到所有节点的成本为1。
没有那不可能。
假设最短路径具有n个节点,并且在搜索结束时存在一个A *已访问但BFS尚未访问的节点p。
然后该节点p具有以下属性:
由于BFS未访问p,这意味着到p的最短路径具有n个或更多节点。这是因为通过<< n-1个(或更少)节点的路径可以到达的任何节点,在找到解决方案之前,BFS都已经对其进行了访问。
p
p从确切的n
p
的前提是错误的。结论:
BFS算法也保证A *访问过的所有节点。因此,BFS已访问的节点数至少是A *已访问的节点数。请注意,算法可能会找到一条不同的路径,这仅仅是因为不确定的顺序决定了扩展路径的选择(导致相等的成本)。但这并不会改变以上结论。