|
Die iterative Tiefensuche (engl. iterative deepening search oder iterative deepening depth-first
search) ist ein Suchverfahren für baumartige
Datenstrukturen, das die Vorteile von Tiefensuche und Breitensuche verbindet. Der Algorithmus entspricht dem der Tiefensuche, nur wird die Suche auf eine maximale Tiefe begrenzt und diese
maximale Tiefe beginnend bei 0 bei jeder Iteration um eins erhöht.
Das Verfahren ist wie die Breitensuche optimal (bei nicht-negativen Pfadkosten) und vollständig (bei endlichem
Verzweigungsgrad des Baums), hat dabei aber den gleichen Speicherverbrauch wie die Tiefensuche.
Die iterative Tiefensuche eignet sich gut für große Suchräume, bei denen die Tiefe der Lösung unbekannt ist.
Komplexität
Bei einem Verzweigungsgrad (engl. branching factor) b und der Tiefe der Lösung
d ist die Zeitkomplexität
O(bd) und die Platzkomplexität O(bd).
|