2014-01-29 6 views
1

Я не могу найти причину, по которой A * превосходит IDA * большую часть времени. Мой профессионал сказал, что причина заключается не в том, что ранние (ближе к корневым) узлам сохраняются повторно как backtracks IDA после достижения f-предела, а потому, что поскольку A * поддерживает открытый и закрытый список, так что данное состояние не исследуется несколько раз через дерево, тогда как в IDA *, если есть несколько путей к данному узлу в дереве, он будет снова и снова исследовать эти узлы. Мой вопрос - то же самое с IDA * т.е. разве невозможно реализовать IDA * с открытым и закрытым списком, и если не почему?Astar vs IDAstar performance

ответ

3

Я не уверен, что вы полностью понимаете IDA *. IDA * использует повторяющуюся ограниченную глубину depth-first-search es, чтобы уменьшить потребность в памяти, связанную с A * (где A * обычно использует больше процесса breadth-first-search (BFS)).

Если вы изменяете IDA * для использования открытого и закрытого списка, вы, вероятно, вернетесь к процессу, подобному BFS, так что вы по существу вернетесь к A *.