DEPTH FIRST SEARCH Depth-first search is a way for computers to organize searches of a tree without having to store the entire tree in its memory at once. A / \ / \ Computer's move / \ B C / | \ / | \ / | \ / | \ Human's move / | \ / | \ D E F G H I A depth-first search of this tree would look at these positions in the order A, B, D, B, E, B, F, B, A, C, G, C, H, C, I, C, A. At each stage, the computer sees if it has more options to consider; if it does not (either because it has reached the maximum look-ahead depth, which in this case is 2, or because it has already examined all the options of the current position), then it computes the minimax value of the position and moves back up the tree. Using this procedure, it is possible to do a complete search of the tree without actually storing the whole thing in memory at any one time. Only the positions that are relevant to the current path through the tree and a small number of side-branches need to be stored at any single instant.