I don't understand how IDA*
saves memory space.
From how I understand IDA*
is A*
with iterative deepening.
What's the difference between the amount of memory A*
uses vs IDA*
.
Wouldn't the last iteration of IDA*
behave exactly like A*
and use the same amount of memory. When I trace IDA*
I realize that it also has to remember a priority queue of the nodes that are below the f(n)
threshold.
I understand that ID-Depth first search helps depth first search by allowing it to do a breadth first like search while not having to remember every every node. But I thought A*
already behaves like depth first as in it ignores some sub-trees along the way. How does Iteratively deepening make it use less memory?
Another question is Depth first search with iterative deepening allows you to find the shortest path by making it behave breadth first like. But A*
already returns optimal shortest path (given that heuristic is admissible). How does iterative deepening help it. I feel like IDA*'s last iteration is identical to A*
.