CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
-
Upload
stephanie-miles -
Category
Documents
-
view
214 -
download
0
Transcript of CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
![Page 1: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/1.jpg)
CSE 421Algorithms
Richard Anderson
Lecture 27
NP-Completeness and course wrap up
![Page 2: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/2.jpg)
Announcements
• Final Exam– Monday, March 16, 2:30-4:20 pm
• Closed book, closed notes
– Practice final and answer key available
• This week’s topic– NP-completeness– Reading: 8.1-8.8: Skim the chapter, and pay more
attention to particular points emphasized in class– It will be on the final
![Page 3: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/3.jpg)
Highlights from Wednesday
• NP Completeness Definition– Z in NP, for all Y in NP,
Y <P Z• NP Completeness
Proof:– A is NPC, B in NP,
A <PB, then B is NPC• Cook’s Theorem• Circuit Sat• Satisfiability• Independent Set
NP-Complete
NP
P
![Page 4: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/4.jpg)
Populating the NP-Completeness Universe
• Circuit Sat <P 3-SAT• 3-SAT <P Independent Set• 3-SAT <P Vertex Cover• Independent Set <P Clique• 3-SAT <P Hamiltonian Circuit• Hamiltonian Circuit <P Traveling Salesman• 3-SAT <P Integer Linear Programming• 3-SAT <P Graph Coloring• 3-SAT <P Subset Sum• Subset Sum <P Scheduling with Release times and
deadlines
NP-Complete
NP
P
![Page 5: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/5.jpg)
Sample Problems
• Independent Set– Graph G = (V, E), a subset S of the vertices is
independent if there are no edges between vertices in S
1
3
2
6 7
4 5
![Page 6: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/6.jpg)
Vertex Cover
• Vertex Cover– Graph G = (V, E), a subset S of the vertices is
a vertex cover if every edge in E has at least one endpoint in S
1
3
2
6 7
4 5
![Page 7: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/7.jpg)
IS <P VC
• Lemma: A set S is independent iff V-S is a vertex cover
• To reduce IS to VC, we show that we can determine if a graph has an independent set of size K by testing for a Vertex cover of size n - K
![Page 8: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/8.jpg)
IS <P VC
1
3
2
6 7
4 5
1
3
2
6 7
4 5
Find a maximum independent set S
Show that V-S is a vertex cover
![Page 9: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/9.jpg)
Clique
• Clique– Graph G = (V, E), a subset S of the vertices is
a clique if there is an edge between every pair of vertices in S
1
3
2
6
4 5
7
![Page 10: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/10.jpg)
Complement of a Graph
• Defn: G’=(V,E’) is the complement of G=(V,E) if (u,v) is in E’ iff (u,v) is not in E
1
3
2
6 7
4 5
1
3
2
6 7
4 5
![Page 11: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/11.jpg)
IS <P Clique
• Lemma: S is Independent in G iff S is a Clique in the complement of G
• To reduce IS to Clique, we compute the complement of the graph. The complement has a clique of size K iff the original graph has an independent set of size K
![Page 12: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/12.jpg)
Hamiltonian Circuit Problem
• Hamiltonian Circuit – a simple cycle including all the vertices of the graph
![Page 13: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/13.jpg)
Thm: Hamiltonian Circuit is NP Complete
• Reduction from 3-SAT
![Page 14: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/14.jpg)
Traveling Salesman Problem
• Given a complete graph with edge weights, determine the shortest tour that includes all of the vertices (visit each vertex exactly once, and get back to the starting point)
1
2
4
2
3
5
4
77
1
Find the minimum cost tour
![Page 15: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/15.jpg)
Thm: HC <P TSP
![Page 16: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/16.jpg)
Graph Coloring
• NP-Complete– Graph K-coloring– Graph 3-coloring
• Polynomial– Graph 2-Coloring
![Page 17: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/17.jpg)
Number Problems
• Subset sum problem– Given natural numbers w1,. . ., wn and a target
number W, is there a subset that adds up to exactly W?
• Subset sum problem is NP-Complete
• Subset Sum problem can be solved in O(nW) time
![Page 18: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/18.jpg)
Subset sum problem
• The reduction to show Subset Sum is NP-complete involves numbers with n digits
• In that case, the O(nW) algorithm is an exponential time and space algorithm
![Page 19: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/19.jpg)
What is NP?
• Problems where ‘yes’ instances can be efficiently verified– Hamiltonian Circuit– 3-Coloring– 3-SAT
• Succinct certificate property
![Page 20: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/20.jpg)
What about ‘negative instances’
• How do you show that a graph does not have a Hamiltonian Circuit
• How do you show that a formula is not satisfiable?
![Page 21: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/21.jpg)
What we don’t know
• P vs. NP
NP-Complete
NP
P
NP = P
![Page 22: CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.](https://reader035.fdocuments.us/reader035/viewer/2022062806/5697bf701a28abf838c7d839/html5/thumbnails/22.jpg)
Course summaryWhat did we cover in the last 27 lectures?
• Stable Matching (2)• Problems, Models of
computation and efficiency (2)• Basic graph algorithms
– BFS, Bipartiteness, SCC, Cycles, Topological Sort (2)
• Greedy Algorithms (2)– Interval Scheduling, HW
Scheduling– Correctness proofs
• Dijkstra’s Algorithm (1)• Minimum Spanning Trees (2)
• Recurrences (2)• Divide and Conquer
Algorithms (3)– Closest Pair, FFT
• Dynamic Programming (4)– Weighted interval scheduling,
subset sum, knapsack, longest common subsequence, shortest paths
• Network Flow (4)– Ford Fulkerson,
Maxflow/mincut, Applications
• NP-Completeness (3)
Number of lectures on each topic in parentheses