Iterative Deepening
   - These games are typically time bound.
 
   - So, the agent selects a move and then the player does.
 
   - Each gets say one minute.
 
   - The agent builds his tree, and then selects his move.
 
   - This throws away a large part of the tree, but he can still
       keep the branch he selected.
 
   - So, if he had 12 plys, he now has 11.
 
   - The player is going to select one branch so he'll be down to 10 ply.
 
   - Of course, he can keep calculating while the player thinks.
 
   - Perhaps the agent will be back to 12 or even 13 ply by then.
 
   - Once the user selects the agent is back to 11 or 12, but can continue
       from there.
 
   - Each move you keep what you have and iteratively deepen.