我似乎无法解决为什么A *在大多数情况下优于IDA *的原因。我的proffessor说,原因不是因为早期(更接近根)节点在达到f限制后仍然被重新开发为IDA *回溯,而是因为A *维护一个打开和关闭的列表,以便给定的状态不是通过树多次探索,而在IDA *中,如果树中有给定节点的多条路径,它将一次又一次地探索这些节点。我的问题是与IDA *相同。是不是可以用开放和封闭的列表实现IDA *,如果不是为什么?
答案 0 :(得分:3)
我不确定你完全理解IDA *。 IDA *使用重复的有限深度depth-first-search来减少与A *相关的内存需求(其中A *通常使用更多breadth-first-search (BFS)类似的过程)。
如果您修改IDA *以使用打开和关闭列表,您可能会回到类似BFS的过程,因此您基本上会回到A *。