2. Introduction
• Iterative deepening A* or IDA* is similar to
iterative-deepening depth-first, but with the
following modifications:
• The depth bound modified to be an f-limit
1. Start with limit = h(start)
2. Prune any node if f(node) > f-limit
3. Next f-limit=minimum cost of any node pruned
2
3. Iterative Deepening Search
• Iterative Deepening is a kind of uniformed
search strategy
• Combines the benefits of depth-first and
breadth- first search
• Advantage-
– it is optimal and complete like breadth first search
– Modest memory requirement like depth-first
search
3
4. IDA*(Iterative Deepening A*) Search
• Perform depth-first search LIMITED to some f-
bound.
• If goal found: ok.
• Else: increase de f-bound and restart.
• How to establish the f-bounds?
• - initially: f(S)
• generate all successors
• record the minimal f(succ) > f(S)
• Continue with minimal f(succ) instead of f(S)
f4
f3
f2
f1
4
8. IDA* Analysis
• IDA* is complete, optimal,
and optimally efficient
(assuming a consistent,
admissible heuristic), and
requires only a polynomial
amount of storage in the
worst case:
• IDA* is complete & optimal
Space usage is linear in the
depth of solution. Each
iteration is depth first
search, and thus it does not
require a priority queue.
8