贪婪搜索算法和最佳优先搜索算法有什么区别?

时间:2019-01-20 03:06:57

标签: graph a-star greedy heuristics best-first-search

  • 最佳优先搜索-具有评估函数f(n)的搜索,该函数确定扩展节点n的成本并选择成本最低的可用节点
  • 不知情的搜索-不知道h(n)
  • 明智的搜索-具有h(n)的知识
  • 贪婪搜索-最佳优先,可以被告知或不知情,f(n)不包含g(n)
  • 统一成本搜索-最佳第一,不是贪婪,是无知,f(n)= g(n)
  • A *搜索-最佳第一,不是贪婪,被告知,f(n)= g(n)+ h(n)
  • 贪婪的最佳第一搜索-最佳第一,贪婪,被告知,f(n)= h(n)

这是正确的吗?有人可以为这些术语提供具体而全面的定义吗?似乎“贪婪”和“最佳第一”经常互换使用。

甚至Wikipedia的定义也有冲突...

Greedy algorithm - Wikipedia

  

Dijkstra算法和相关的A *搜索算法是可验证的最优贪婪算法

Best-first search - Wikipedia

  

A *搜索算法是最佳优先搜索算法的一个示例,B *也是如此。最佳优先算法通常用于组合搜索中的路径查找。 A *和B *都不是贪婪的最佳第一搜索方式,因为它们除了估计到目标的距离外,还包含从起点开始的距离。

是A *是贪婪的,A *是最佳优先的,但A *不是贪婪的最佳优先的吗?

请有人把所有这些条款整理出来...

0 个答案:

没有答案