I really like the post, except for the conflation of brute force search and using recomputation as state restoration.<p>In my opinion, a brute force search algorithm is an algorithm that will explore the whole search space without any intelligent pruning of sub-trees (it will visit every element of the state space). Such an algorithm needs to use a state restoration policy, with three main flavours being saving undo-information (trailing asin SAT-solvers, Knuths dancing links), saving redo-information (in order to do recomputation), and copying (saving whole search states in each node) are all valid and useful. They can also be combined, with adaptive recomputation being quite nice in some cases (leaving copies of the seaerch state every now and then, closer togheter the farther down the tree one is).