iterative deepening definition algorithm
that will find the shortest path with some given property, even when the graph contains cycles
. When searching for a path through a graph, starting at a given initial node
, where the path (or its end node) has some desired property, a depth-first search
may never find a solution if it enters a cycle in the graph. Rather than avoiding cycles (i.e. never extend a path with a node it already contains), iterative deepening explores all paths up to length (or "depth") N, starting from N=0 and increasing N until a solution is found.