成本搜索算法

我只是在一本书和维基百科上阅读了它,但仍然没有100%的理解它。

如果有人能用一两个例子来解释它,我会非常感激。

谢谢


假设我在查看地图,在城市附近的街区附近寻找比萨饼店。 我可以使用几种不同的策略:

  • 广度优先搜索(BFS):查看我的街区周围的同心圆块,向外越来越远,直到我找到一家披萨店。 这会给我一个与乌鸦飞得最近的比萨饼店。
  • 深度优先搜索(DFS):遵循一条道路,直到我遇到死角,然后回溯。 最终所有可能的分支都会被搜索到,所以如果某处有一家披萨店,那么我会找到它,但它可能不会很接近我的区块。
  • 统一成本搜寻(UCS):说一些街道的交通情况很糟糕,我对城市非常熟悉。 对于任何给定的位置,我可以说我需要多久才能从我的街区到达那里。 所以,看看地图,首先搜索所有需要1分钟或更短时间才能完成的模块。 如果我还没有找到一家披萨店,我会搜索所有需要1到2分钟才能到达的街区。 我重复这个过程,直到我找到一个披萨店。 这会给我一个比我的街区最近的比萨饼店。 就像BFS看起来像同心圆一样,UFS看起来就像是等高线图。
  • 通常,您将使用优先级队列实施UCS,以最低成本的顺序搜索节点。


    我假设你正在看这个维基百科页面。 这意味着给定操作(添加两个数字,比较两个数字,从内存中检索数据等)所需的时间与所涉及变量的大小无关。 换句话说,8位比较与32位比较需要相同的时间。 通过这种假设,您可以简化效率分析并比较算法,而不会陷入实施细节中。

    链接地址: http://www.djcxy.com/p/39727.html

    上一篇: cost search algorithm

    下一篇: Create PDF file from iframe