Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems or other “intractable” problems: b Use a strategy that guarantees solving the problem exactly but doesn’t guarantee to find a solution in polynomial time b Use an approximation algorithm that can find an approximate (sub-optimal) solution in polynomial time
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Exact solutions The exact solution approach includes the strategies: b exhaustive search (brute force) useful only for small instancesuseful only for small instances b backtracking eliminates some cases from considerationeliminates some cases from consideration b branch-and-bound further cuts down on the searchfurther cuts down on the search fast solutions for most instancesfast solutions for most instances worst case is still exponentialworst case is still exponential
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Backtracking b Construct the state space tree: nodes: partial solutionsnodes: partial solutions edges: choices in completing solutionsedges: choices in completing solutions b Explore the state space tree using depth-first search b “Prune” non-promising nodes dfs stops exploring subtree rooted at nodes leading to no solutions and...dfs stops exploring subtree rooted at nodes leading to no solutions and... “backtracks” to its parent node“backtracks” to its parent node
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Example: The n-Queen problem b Place n queens on an n by n chess board so that no two of them are on the same row, column, or diagonal
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter State-space of the four-queens problem
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Example: The m-coloring problem b Given a graph and an integer m, color its vertices using no more than m colors so that no two adjacent vertices are the same color. cd a eb
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Branch and Bound b An enhancement of backtracking b Applicable to optimization problems b Uses a lower bound for the value of the objective function for each node (partial solution) so as to: guide the search through state-space guide the search through state-space rule out certain branches as “unpromising” rule out certain branches as “unpromising”
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Select one element in each row of the cost matrix C so that: no two selected elements are in the same column; and no two selected elements are in the same column; and the sum is minimized the sum is minimized For example: Job 1Job 2Job 3Job 4 Person a Person b Person c Person d Lower bound: Any solution to this problem will have total cost of at least: Example: The assignment problem
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Assignment problem: lower bounds
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter State-space levels 0, 1, 2
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Complete state-space
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter
Copyright © 2007 Pearson Addison-Wesley. All rights reserved Design and Analysis of Algorithms - Chapter Traveling salesman example: