Backtracking (a.k.a. Systematic Search)
Incrementally establish a solution
If complete solution is constructed, succeed!
If solution fails, roll back and alter recent choices
Usually asymptotically no better than brute force.
Key to success is pruning the search space.
Key to pruning is domain knowledge and learning!