Graph Search
When descendant nodes can be reached with moves via two or more paths, we are really searching a more general graph than a tree.
Depth-First Search: Examine the nodes of the graph by fully exploring the “descendants” of a node before trying any “siblings” of a node.