Iterative Deepening

#uninformed

This is basically a combination of Breadth First Search and Depth First Search

  1. Run depth first search with a small depth limit
  2. Check if answer is good enough
  3. If not increase depth limit by 1
  4. Fully run depth first search again
  • Def. Repeated depth first searches with increasing depth limit
  • Combines the best of DFS and BFS
    • Both complete and memory efficient
    • However it is slower than either

You have to completely redo the previous search after each iteration, this seems inefficient however because of the way the algorithm scales a small percentage of the time is actually spent redoing searches.