目前,我是AI的新手。我对贪婪搜索算法有疑问。我在教程中看到的一个问题,但无法理解如何回答。请帮我。任何帮助表示赞赏。
考虑给定的图1.每个节点中的值代表该节点的启发式成本 到目标节点(G),圆弧内的值表示两个节点之间的路径成本。
[![1.If B is the starting node and G is the goal node,
(i) Find the traversal using Greedy Search Algorithm.
(ii) Find the traversal using A* Search Algorithm
2. Using the result of part(1) show that greedy search is not optimal.
答案 0 :(得分:0)
我假设您所引用的贪婪搜索算法具有如下贪婪选择策略:选择与当前节点相邻且与当前节点的成本/距离最小的下一个节点。 / strong>请注意,贪婪的解决方案根本不使用启发式成本。
红色突出显示的路径表示贪婪算法采用的路径,绿色突出显示的路径表示启发式A *算法采用的路径。
说明:
贪婪算法
“贪婪算法”的路径成本(红色突出显示):B -> E -> F -> H -> G
= 5+6+6+3
= 20
A *算法(在继续之前,请查看A *算法的wiki页面,并了解g(n)
和h(n)
是什么还不了解这个概念):
f(n) = g(n) + h(n)
。这里g(n)是弧上的立即成本,h(n)
是节点上的启发式值
f(n)
最少的节点。所以我们移到节点B。B -> C -> D -> H -> G
,其成本为6+6+4+3
= 19
通过上面的示例,我们可以看到启发式路径的成本小于贪婪算法。因此,贪心算法并不总是最优的。