【问题标题】:What is the difference between Greedy-Search and Uniform-Cost-Search?贪心搜索和统一成本搜索有什么区别?
【发布时间】:2022-02-08 07:23:50
【问题描述】:

在树中搜索时,我对统一成本搜索的理解是,对于给定的节点 A,其子节点 B、C、D 的相关成本为 (10, 5, 7),我的算法将选择 C,如它的成本更低。展开 C 后,我看到节点 E、F、G 的成本为 (40, 50, 60)。它将选择 40,因为它具有两个 3 中的最小值。

现在,这不就和贪心搜索一样,你总是选择看起来最好的动作吗?

另外,在定义从某些节点到其他节点的成本时,我们应该考虑从树的开头到当前节点的全部成本,还是只考虑从节点 n 到节点 n' 的成本本身?

谢谢

【问题讨论】:

    标签: artificial-intelligence greedy


    【解决方案1】:

    不。你的理解不太对。

    在统一成本搜索的情况下要访问的下一个节点是 D,因为它从根开始的总成本最低(7,而不是 40+5=45)。

    贪婪搜索不会回到树上 - 它会选择最低值并提交给它。 Uniform-Cost 将从整个树中选择最低的总成本。

    【讨论】:

      【解决方案2】:

      在统一成本搜索中,您始终会考虑到目前为止您看到的所有未访问的节点,而不仅仅是那些连接到您查看的节点的节点。因此,在您的示例中,选择 C ​​后,您会发现访问 G 的总成本为 40 + 5 = 45,这高于从根重新开始访问 D 的成本,后者的成本为 7。所以您将访问D 下一个。

      【讨论】:

        【解决方案3】:

        它们之间的区别在于,Greedy 选择具有最低启发值的节点,而 UCS 选择具有最低操作成本的节点。考虑下图:

        如果你同时运行这两种算法,你会得到:

        • UCS

        选择:S(成本 0)、B(成本 1)、A(成本 2)、D(成本 3)、C(成本 5)、G(成本 7)

        答案:S->A->D->G

        • 贪婪:

        *假设它选择A而不是B; A 和 B 具有相同的启发式值

        选择:S、A(h = 3)、C(h = 1)、G(h = 0)

        答案:S->A->C->G

        因此,根据对问题定义的理解,区分到达节点的操作成本与启发式值非常重要,启发式值是添加到节点的一条信息。

        【讨论】:

        • 您的答案中的图像被报告为损坏。请问可以上传新图吗?谢谢
        【解决方案4】:

        贪婪搜索(对于这个答案的大部分,当我说贪婪搜索时,想想贪婪的最佳优先搜索)是一种知情搜索算法,这意味着评估函数以选择哪个节点expand 的形式为 f(n) = h(n),其中 h 是给定节点 n 的启发式函数,它返回估计值从该节点 n 到目标状态。如果您尝试前往某个地方,启发式函数的一个示例是返回从节点 n 到您的目的地的估计距离

        另一方面,统一成本搜索是一种不知情搜索算法,也称为盲搜索策略。这意味着对于给定节点 n 的函数 f 的值,f(n),对于不知情的搜索算法,考虑了 g(n),即从根节点到节点 n 的总动作成本 ,即路径成本。除了问题描述之外,它没有关于问题的任何信息,所以它只能知道这些。您没有任何信息可以帮助您确定一个节点与目标状态的接近程度,只有根节点。您可以观看节点扩展here(统一成本算法动画),并了解如何使用从节点 n 到根的成本来选择要扩展的节点。

        贪心搜索,就像任何贪心算法一样,采用局部最优解,并使用一个函数将给定节点 n 的估计值返回到目标状态。您可以观看扩展here 的节点(贪婪的最佳优先搜索 | 可视化快速解释)并查看启发式函数从节点 n 到目标状态的返回如何用于选择要扩展的节点。

        顺便说一句,有时,贪婪搜索选择的路径不是全局最优的。例如,在视频中的示例中,节点 A 永远不会扩展,因为始终存在具有较小 h(n) 值的节点。但是,如果 A 具有如此高的值,而下一个节点的值非常小,因此是全局最优值怎么办?这可能发生。一个糟糕的启发式函数可能会导致这种情况。陷入循环也是可能的。 A* 也是一种贪心搜索算法,它通过利用路径成本(这意味着知道已经访问过的节点)和启发式函数来解决这个问题,即 f(n) = g(n) + h(n )。

        到目前为止,您可能还不清楚统一成本如何知道还有另一条在本地看起来更好但在全球范围内看起来更好的路径。告诉你如果所有路径都具有相同的成本,那么统一成本搜索与广度优先搜索(BFS)是一样的,应该会很清楚。它会像 BFS 一样扩展所有节点。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-27
          • 2018-12-13
          • 2010-10-16
          • 2016-03-18
          • 2013-03-25
          • 1970-01-01
          • 2019-10-30
          相关资源
          最近更新 更多