java 迭代深化A*星解释
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10509571/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Iterative Deepening A* Star Explanation
提问by yudayyy
Can somebody explain about Iterative Deepening A*? I still don't understand how it works. Iterative deepeningsearch w/ Depth First Search, and If still not found the solution; increase the Depth++ until found solution.
有人可以解释一下迭代深化 A*吗?我仍然不明白它是如何工作的。 使用深度优先搜索的迭代深化搜索,如果仍然没有找到解决方案;增加深度++ 直到找到解决方案。
If Iterative deepening using Depth, then Iterative Deepening A* use what to limit their search?
如果使用Depth进行迭代深化,那么迭代深化 A* 使用什么来限制他们的搜索?
Here are a picture if you need to explain how it IDA* Works, i just don't understand how it works.
如果您需要解释 IDA* 是如何工作的,这里有一张图片,我只是不明白它是如何工作的。
(1,2,4,9)and etc, is the step
(1,2,4,9)等,是步骤
0+2=2 is f(n)=g(n)+h(n)
0+2=2 就是f(n)=g(n)+h(n)
回答by Shaggy Frog
If Iterative deepening using Depth, then Iterative Deepening A* use what to limit their search?
如果使用 Depth 进行迭代深化,那么迭代深化 A* 使用什么来限制他们的搜索?
The naive implementation of IDA* would just have something like threshold++
at the end of every iteration, similar to your depth++
above. This is to keep IDA* admissible.
IDA* 的幼稚实现threshold++
在每次迭代结束时都会有类似的东西,类似于depth++
上面的内容。这是为了保持 IDA* 可接受。
A better algorithm (that still keeps IDA* admissible) would be to increase the threshold by the next smallest g() cost that is available (from the closed set to the open set).
更好的算法(仍然保持 IDA* 可接受)是通过可用的下一个最小 g() 成本(从封闭集到开放集)来增加阈值。
See: http://webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Courses/657/Notes/10.Single-agentSearch.pdf
请参阅:http: //webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Courses/657/Notes/10.Single-agentSearch.pdf