【问题标题】:Iterative Deepening A* Star Explanation迭代深化A*星解释
【发布时间】:2012-05-09 03:49:32
【问题描述】:

有人可以解释一下Iterative Deepening A*吗?我仍然不明白它是如何工作的。 迭代深化搜索w/深度优先搜索,如果仍然没有找到解决方案;增加深度++,直到找到解决方案。

如果使用Depth进行迭代加深,那么迭代加深A*使用什么来限制他们的搜索?

如果您需要解释 IDA* 的工作原理,这里有一张图片,我只是不明白它是如何工作的。

(1,2,4,9) 等,就是步骤

0+2=2 是 f(n)=g(n)+h(n)

【问题讨论】:

    标签: java algorithm artificial-intelligence iterative-deepening


    【解决方案1】:

    如果使用 Depth 进行迭代加深,那么迭代加深 A* 使用什么来限制他们的搜索?

    IDA* 的幼稚实现在每次迭代结束时都会有类似threshold++ 的内容,类似于上面的depth++。这是为了保持 IDA* 的可接受性。

    更好的算法(仍然保持 IDA* 可接受)是将阈值增加下一个可用的最小 g() 成本(从封闭集到开放集)。

    见:http://webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Courses/657/Notes/10.Single-agentSearch.pdf

    【讨论】:

    • search a node as long as f <= threshold 因此,如果 f() 成本 阈值的第一个值是多少?
    • @yudayyy 从起始节点的最小出边的值。
    • 实际上,如果生成孩子的 f-cost 并检测到它在当前 f-cost 界限之外,那么您应该使用 unexplored child 的最低 f-cost,而不仅仅是父母的 f 成本加上孩子的 g 成本。
    猜你喜欢
    • 2011-05-21
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2011-11-15
    • 2017-04-01
    • 2012-10-19
    • 1970-01-01
    相关资源
    最近更新 更多