我正在学习人工智能中的搜索策略,并且我正在阅读广度优先搜索仅在成本解决方案是非递减函数时才是最优的?我不太确定这是指什么,因为降低搜索成本应该是我们的目标。我错过了什么吗?
为什么只有当成本解决方案是非递减函数时,广度优先搜索才是最优的?
人工智能
搜索
广度优先搜索
2021-11-09 14:00:24
1个回答
这在Russell 和 Norvig(第 3 章和第 4 章)的相应章节中有详细介绍。它还取决于TREE-SEARCH 和 GRAPH-SEARCH 之间的区别。
首先,请注意广度优先搜索也无法处理节点之间不同的成本函数!Breath-first search 只关心到达一个状态所需的移动次数,而不是到达那里的总成本,所以如果某些状态在每次移动的基础上更便宜,它就不是最优的。
好的,回到问题:基本上,您引用的语句适用于在 GRAPH-SEARCH 问题上运行的广度优先搜索。在这类问题中,可以从较晚的状态循环回到较早的状态(例如在国际象棋中,您可以来回移动您的国王)。
如果在两个状态之间移动的成本是负的,但在所有可能的移动中保持不变,那么广度优先搜索将不会选择永远在它们之间循环,因为它总是将最近的节点扩展为移动总数,而不是最便宜的节点。由于您总是可以再添加一个循环,以使路径更短,因此广度优先搜索不会找到最短路径(按成本),而是会通过移动次数找到最短路径。
其它你可能感兴趣的问题