a) What should the search-space tree look like for this backtracking algorithm? (You do NOT need to draw the entire tree -- only enough to make it clear what you are doing).
b) Describe in English what pruning criteria can be used by a promising function when deciding if a node is to be pruned or not.
c) What state information is needed at each node in the search-space tree?
d) What information in your answer to part (c) could be kept global?
Customize the recursive, backtracking template below to solve the problem.
Expand_Backtrack( treeNode n ) {
treeNode c;
for each child c of n do
if promising(c) then
if c is a solution that's better than best then
best = c
else
Expand_Backtrack(c)
end if
end if
end for
} // end Expand_Backtrack