next up previous index
Next: Depth-First Search with Up: Bounded Depth-First Search Previous: Bounded Depth-First Search

Depth-First Iterative Deepening

When this strategy is used, first all goals are expanded only up to a given depth. If no solution is found, the depth limit is incremented and the whole goal is repeated. This is executed until a (or all) solution is found, or until a given limiting depth is encountered. Although it might seem that this approach is very inefficient because all higher levels are repeated for the deeper ones, it has been shown that is performs only about b/(b - 1) times as many operations than the corresponding breadth-first search, where b is the branching factor of the proof tree.

The available predicates are

dfid(Goal, StartDepth, MaxDepth, Increment)
which calls Goal using the dfid rule, starting at the depth StartDepth, up to the depth MaxDepth, with depth being incremented by Increment.

and

dfid(Goal)
which is equivalent to dfid(Goal, 0, maxint, 1).



Micha Meier
Mon Mar 4 12:11:45 MET 1996