为什么只有每一步的成本超过某个小的正常数,才能保证 UCS 的完整性?

人工智能 搜索 统一成本搜索 完整性
2021-10-29 15:56:52

我正在阅读人工智能:现代方法第 3 版,我已经接触到 UCS 算法。

我正在阅读 UCS 已完成的证明。

该书指出:

如果每一步的成本超过某个小的正常数,则保证完整性ϵ.

那是因为如果有一条具有无限序列的零成本操作的路径,UCS 将被卡住。

为什么步骤成本必须超过ϵ? 大于零还不够吗?

1个回答

让我们考虑一个问题,其中所有边缘成本都大于零,但不高于某个ϵ

想象一个问题,我们有一条无限路径,其中第一条边是成本12,接下来是14,以下是18,以此类推。每个边都大于零,满足问题中提出的条件。然而,即使这条路径上有无限数量的状态,这条路径总体上具有有限的成本 (1)。因此,在这个问题上,UCS 永远不会到达成本大于 1 的路径。因此,如果解决方案成本为 2,则 UCS 将找不到该问题的任何解决方案,因此它不是一个完整的算法。因此,所有边都大于零是不够的。

对于要完成的大多数搜索算法,在任何给定成本的情况下必须存在有限数量的状态。(稍微准确一点,一定存在一些固定的ϵ使得在每个范围大小ϵ有有限数量的状态。)