Minimax procedure
Statically evaluate positions at depth d
From then on work upwards
Score of max nodes is the max of child nodes
Score of min nodes is the min of child nodes
Doing this from the bottom up eventually gives score of possible moves from root node
Can still do this depth first, so space efficient