Iterative+Deepening


 * Home * Search * Iterative Deepening**
 * [[image:ideep.jpg link="http://ray.sakura.ne.jp/search_problem/i_deepening.html"]] ||~  || **Iterative deepening** (ID) has been adopted as the basic time management strategy in depth-first searches, but has proved surprisingly beneficial as far as move ordering is concerned in alpha-beta and its enhancements.

It has been noticed, that even if one is about to search to a given depth, that iterative deepening is faster than searching for the given depth immediately. This is due to dynamic move ordering techniques such as; PV-, hash- and refutation moves determined in previous iteration(s), as well the history heuristic. || toc =How it Works= It works as follows: the program starts with a one ply search, then increments the search depth and does another search. This process is repeated until the time allocated for the search is exhausted. In case of an unfinished search, the program always has the option to fall back to the move selected in the last iteration of the search. Yet if we make sure that this move is searched first in the next iteration, then overwriting the new move with the old one becomes unnecessary. This way, also the results from the partial search can be accepted - though in case of a severe drop of the score it is wise to allocate some more time, as the first alternative is often a bad capture, delaying the loss instead of preventing it.
 * Iterative deepening search ||~  ||^   ||

Iterative deepening, using a TT, embed the depth-first algorithms like alpha-beta into a framework with best-first characteristics.

=History= Iterative or progressive deepening was first mentioned by Adriaan de Groot in //Thought and Choice in Chess//. Richard Korf on its "discovery" in //Depth-first Iterative-Deepening: An Optimal Admissible Tree Search// :

Tony Marsland in //Computer Chess and Search// on the History of ID :

=See also=
 * Alpha-Beta
 * Aspiration Windows
 * Best-First
 * Depth-First
 * Effective Branching Factor
 * Internal Iterative Deepening
 * Move Ordering
 * MTD(f)
 * Odd-Even Effect
 * Time Management
 * Transposition Table

=Publications=

1965 ...

 * Adriaan de Groot (**1965**). //Thought and Choice in Chess.// Mouton & Co Publishers, The Hague, The Netherlands. Second edition **1978**. ISBN 90-279-7914-6. ([|amazon])
 * John J. Scott (**1969**). //A Chess Playing Program//. in [|Machine Intelligence 4] (ed. Donald Michie), pp. 255-265

1970 ...

 * James Gillogly (**1972**). //The Technology Chess Program//. Artificial Intelligence, Vol. 3, pp. 145-163. ISSN 0004-3702. Reprinted (**1988**) in Computer Chess Compendium
 * David Slate, Larry Atkin (**1977**). //CHESS 4.5 - The Northwestern University Chess Program.// Chess Skill in Man and Machine, reprinted (**1988**) in Computer Chess Compendium

1980 ...

 * William Fink (**1982**). //An Enhancement to the Iterative, Alpha-Beta, Minimax Search Procedure//. ICCA Newsletter, Vol. 5, No. 1
 * Hans Berliner (**1983**). //Search//, Artificial Intelligence Syllabus, Department of Computer Science, Carnegie Mellon University
 * Richard Korf (**1985**). //Depth-first Iterative-Deepening: An Optimal Admissible Tree Search//. [|CiteSeerX]

1990 ...

 * Matthew L. Ginsberg (**1993**). //[|Essentials of artificial intelligence]//. [|Morgan Kaufmann Publishers], ISBN13: 9781558602212, 3.3 Iterative Deepening
 * Alexander Reinefeld, Tony Marsland (**1994**). //Enhanced Iterative-Deepening Search.// IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 16, No. 7, pp. 701-710. ISSN 0162-8828. [|pdf]

=Forum Posts=

1988

 * [|Re: "Iterative Deeping" reference wanted] by Ira Baxter, AIList Digest, December 06, 1988

1990 ...

 * [|Re: Computer Chess and alpha-beta pruning] by Johannes Fürnkranz, rgc, September 22, 1993 » Alpha-Beta
 * [|Tricks in iterative deepening; was Re: AEGON '97] by Ingo Althöfer, rgcc, April 26, 1997 » Aegon 1997
 * [|pv score oscillation] by Willie Wood, CCC, October 18, 1997
 * [|Selective deepening and Hashtables] by Werner Inmann, CCC, June 30, 1998

2000 ...

 * [|Iterative deepening deep increment] by Alvaro Jose Povoa Cardoso, CCC, February 27, 2001
 * [|iterative deepening and branching factor] by J. Wesley Cleveland, CCC, July 09, 2007 » Effective Branching Factor
 * [|Even more search questions] by Sven Schüle, Winboard Forum, July 17, 2007

2010 ...

 * [|Node counts at a given depth/iteration in search] by BB+, OpenChess Forum, May 23, 2011
 * [|Bigger steps when branching factor < 2?] by Marcel van Kervinck, CCC, November 05, 2011 » Effective Branching Factor
 * [|Restarting iterative deepening] by Harm Geert Muller, CCC, December 09, 2015 » Aspiration Windows, Fail-Low
 * [|How do you signal stalemate in iterative deepening?] by Kenneth Jones, CCC, February 17, 2016 » Stalemate
 * [|Iterative Deepening] by kickstone, OpenChess Forum, February 26, 2016
 * [|TT and Iterative Deepening] by kuket15, OpenChess Forum, February 26, 2016 » Transposition Table
 * [|Iterative Deepening Question] by David Cimbalista, CCC, July 23, 2016 » Aspiration Windows
 * [|(I)ID and PV dropout] by Harm Geert Muller, CCC, June 17, 2017 » Fail-Low, Internal Iterative Deepening

=External Links= > feat. Michał Urbaniak, [|Zbigniew Namysłowski], Urszula Dudziak, [|Kenny Kirkland], [|Tony Bunn], [|Laurenda Featherstone] > media type="youtube" key="Dav_CKDVGIM"
 * [|Iterative deepening depth-first search from Wikipedia]
 * [|Iterative deepening notes] by Charles Elkan
 * [|Chapter 3 Solving Problems by Searching] from [|C463 Artificial Intelligence Syllabus] by [|Raymond F. Wisman]
 * [|µ-Max Search: Iterative Deepening] by Harm Geert Muller
 * Urbaniak - [|Always Ready] (1977), [|YouTube] Video

=References=
 * Up one Level**