Alpha-Beta Pruning
   - When you are going forward with minimax, you want to avoid as
       many branches as possible.
 
   - Why?
 
   - You can use pruning and this won't adversely effect what is happening.
   
 
   - Minimax(root) = max(min(3,12,8),min(2,x,y), min (1,z,w))= 3.
 
   - The key here is that I don't need to expand x, y, z and w.
 
   - No matter what happens, the current ply will never choose those branches.
   
 
   - This of course works the other way too.
 
   - Minimax(root) = min(max(3,12,8),max(20,x,y),max(13,z,w)) = 12
 
   - In the average case, you can prune half the branches; this might
       get you an extra ply.