Systematic state space search via depth-first decision trees with pruning
2 standard techniques
Push, recurse, pop.
Stop branch when partial cannot succeed.