Graph 贪婪算法和最佳优先搜索算法之间有什么区别? 最佳优先搜索-具有评估函数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)

Graph 贪婪算法和最佳优先搜索算法之间有什么区别? 最佳优先搜索-具有评估函数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),graph,a-star,greedy,heuristics,best-first-search,Graph,A Star,Greedy,Heuristics,Best First Search,这是正确的吗?有人能给这些术语下一个具体的、包罗万象的定义吗?“贪婪”和“最佳优先”似乎经常交替使用 甚至维基百科也有相互矛盾的定义 : Dijkstra算法和相关的A*搜索算法是可验证的最优贪婪算法 : A*搜索算法是最佳优先搜索算法的一个示例,B*也是。最佳优先算法通常用于组合搜索中的路径查找A*和B*都不是贪婪的最佳优先搜索,因为它们除了包含到目标的估计距离外,还包含从起点到目标的距离。 A*是贪婪的,A*是最佳优先,但A*不是贪婪的最佳优先 有人请把这些术语都整理一下…我认为A*最好先加

这是正确的吗?有人能给这些术语下一个具体的、包罗万象的定义吗?“贪婪”和“最佳优先”似乎经常交替使用

甚至维基百科也有相互矛盾的定义

:

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

:

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

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


有人请把这些术语都整理一下…

我认为A*最好先加上启发式的“h”。你可以通过降低H的权重来变成贪婪的A。更多。。