Search by partial solutions
nodes are partial or complete states graphs are DAGs (may be trees) source (root) is empty state sinks (leaves) are complete states directed edges represent setting parameter values
4 queens: separate row and column complete solutions possible pruning
Implications of partial solutions pruning of “impossible” partial solutions need partial evaluation function
Partial Solution Trees and DAGs trees: search might use tree traversal methods based on BFS, DFS advantage: depth is limited! (contrast to complete solution space) DAGs: spanning trees
Partial solution algorithms greedy divide and conquer dynamic programming branch and bound A*
Greedy algorithm make best ‘local’ parameter selection at each step: complete solutions
Greedy SAT partial evaluation order of setting propositions T/F P = {P 1, P 2,…,P n } f(P) = D 1 D 2 ... D k e.g., D i = P f ~P g P h How much pre-processing?
Greedy TSP partial evaluation order of adding edges Cities: C 1, C 2,…,C n symmetric distances How much preprocessing? C1C1 C2C2 C2C2
Branch and bound Avoid traversing paths to complete solutions based on partial evaluation Does not avoid exponential performance
4 queens: separate row and column complete solutions possible pruning More in next slide set…