因此,最佳优先搜索(有信息的)和统一成本搜索(无信息的)之间的主要区别在于,在最佳优先搜索中,我们使用启发式函数来决定下一步去哪个节点。而在统一成本搜索中,我们总是选择从初始状态计算出的最低成本路径。
最佳优先搜索中使用的启发式函数是什么?到处都提到启发式函数是h(n) = f(n)
,但f(n)
到底是什么,如果我的“地图”有许多节点,并且只有从一个节点到另一个节点的路径成本,我如何获得它的值呢?
回答:
启发式函数并不是唯一的。它是你做出的决定,强烈依赖于所解决问题的特定属性。即便如此,你也可以在不同的方法(函数)之间进行选择。通常,你会尝试测试所选择的函数如何影响在样本案例中找到的解决方案的质量,并测试其他选择。
例如,如果图是一个欧几里得图,其中节点代表n维空间中的坐标,边的成本是其长度(连接节点之间的距离),那么一种可能的启发式方法可以是源节点和目标节点之间的距离。
你对图的了解越少——对其属性的了解越少——找到合适的启发式函数就越困难。