CSE 421 Algorithms - PowerPoint PPT Presentation

About This Presentation
Title:

CSE 421 Algorithms

Description:

Assignment of colors to the vertices. Polynomial time reductions ... 3-SAT P Graph Coloring. 3-SAT P Subset Sum ... 3-Coloring. 3-SAT. Succinct certificate ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 47
Provided by: csWash
Category:
Tags: cse | algorithms

less

Transcript and Presenter's Notes

Title: CSE 421 Algorithms


1
CSE 421Algorithms
  • Richard Anderson
  • Lecture 27
  • NP Completeness

2
Algorithms vs. Lower bounds
  • Algorithmic Theory
  • What we can compute
  • I can solve problem X with resources R
  • Proofs are almost always to give an algorithm
    that meets the resource bounds
  • Lower bounds
  • How do we show that something cant be done?

3
Theory of NP Completeness
Most significant mathematical theory associated
with computing
4
The Universe
NP-Complete
NP
P
5
Polynomial Time
  • P Class of problems that can be solved in
    polynomial time
  • Corresponds with problems that can be solved
    efficiently in practice
  • Right class to work with theoretically

6
What is NP?
  • Problems solvable in non-deterministic polynomial
    time . . .
  • Problems where yes instances have polynomial
    time checkable certificates

7
Decision Problems
  • Theory developed in terms of yes/no problems
  • Independent set
  • Given a graph G and an integer K, does G have an
    independent set of size at least K
  • Vertex cover
  • Given a graph G and an integer K, does the graph
    have a vertex cover of size at most K.

8
Certificate examples
  • Independent set of size K
  • The Independent Set
  • Satifisfiable formula
  • Truth assignment to the variables
  • Hamiltonian Circuit Problem
  • A cycle including all of the vertices
  • K-coloring a graph
  • Assignment of colors to the vertices

9
Polynomial time reductions
  • Y is Polynomial Time Reducible to X
  • Solve problem Y with a polynomial number of
    computation steps and a polynomial number of
    calls to a black box that solves X
  • Notations Y ltP X

10
Lemma
  • Suppose Y ltP X. If X can be solved in polynomial
    time, then Y can be solved in polynomial time.

11
Lemma
  • Suppose Y ltP X. If Y cannot be solved in
    polynomial time, then X cannot be solved in
    polynomial time.

12
NP-Completeness
  • A problem X is NP-complete if
  • X is in NP
  • For every Y in NP, Y ltP X
  • X is a hardest problem in NP
  • If X is NP-Complete, Z is in NP and X ltP Z
  • Then Z is NP-Complete

13
Cooks Theorem
  • The Circuit Satisfiability Problem is NP-Complete

14
Garey and Johnson
15
History
  • Jack Edmonds
  • Identified NP
  • Steve Cook
  • Cooks Theorem NP-Completeness
  • Dick Karp
  • Identified standard collection of NP-Complete
    Problems
  • Leonid Levin
  • Independent discovery of NP-Completeness in USSR

16
Populating the NP-Completeness Universe
  • Circuit Sat ltP 3-SAT
  • 3-SAT ltP Independent Set
  • 3-SAT ltP Vertex Cover
  • Independent Set ltP Clique
  • 3-SAT ltP Hamiltonian Circuit
  • Hamiltonian Circuit ltP Traveling Salesman
  • 3-SAT ltP Integer Linear Programming
  • 3-SAT ltP Graph Coloring
  • 3-SAT ltP Subset Sum
  • Subset Sum ltP Scheduling with Release times and
    deadlines

17
Cooks Theorem
  • The Circuit Satisfiability Problem is NP-Complete
  • Circuit Satisfiability
  • Given a boolean circuit, determine if there is an
    assignment of boolean values to the input to make
    the output true

18
Circuit SAT
Satisfying assignment x1 T, x2 F, x3 F x4
T, x5 T
AND
OR
OR
Find a satisfying assignment
AND
AND
AND
AND
NOT
OR
NOT
OR
AND
AND
OR
NOT
AND
NOT
OR
NOT
AND
x3
x4
x5
x1
x2
19
Proof of Cooks Theorem
  • Reduce an arbitrary problem Y in NP to X
  • Let A be a non-deterministic polynomial time
    algorithm for Y
  • Convert A to a circuit, so that Y is a Yes
    instance iff and only if the circuit is
    satisfiable

20
Satisfiability
  • Given a boolean formula, does there exist a truth
    assignment to the variables to make the
    expression true

21
Definitions
  • Boolean variable x1, , xn
  • Term xi or its negation !xi
  • Clause disjunction of terms
  • t1 or t2 or tj
  • Problem
  • Given a collection of clauses C1, . . ., Ck, does
    there exist a truth assignment that makes all the
    clauses true
  • (x1 or !x2), (!x1 or !x3), (x2 or !x3)

22
3-SAT
  • Each clause has exactly 3 terms
  • Variables x1, . . ., xn
  • Clauses C1, . . ., Ck
  • Cj (tj1 or tj2 or tj3)
  • Fact Every instance of SAT can be converted in
    polynomial time to an equivalent instance of
    3-SAT

23
Find a satisfying truth assignment
(x y z) (!x !y !z) (!x y)
(x !y) (y !z) (!y z)
24
Theorem CircuitSat ltP 3-SAT
25
Theorem 3-SAT ltP IndSet
26
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
2
3
5
4
6
7
27
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
2
3
5
4
6
7
28
IS ltP 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

29
IS ltP VC
Find a maximum independent set S
Show that V-S is a vertex cover
1
2
1
2
3
5
3
5
4
4
6
6
7
7
30
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
2
3
4
5
6
7
31
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
2
1
2
3
5
3
5
4
4
6
6
7
7
Construct the complement
32
IS ltP 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

33
Hamiltonian Circuit Problem
  • Hamiltonian Circuit a simple cycle including
    all the vertices of the graph

34
Thm Hamiltonian Circuit is NP Complete
  • Reduction from 3-SAT

35
Traveling Salesman Problem
Minimum cost tour highlighted
  • 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)

3
7
7
2
2
5
4
1
1
4
Find the minimum cost tour
36
NP-Completeness Reductions
  • If X is NP-Complete, Y is in NP, and X ltP
    Y, then Y is NP-Complete

37
Hamiltonian Circuit, Hamiltonian Path
How do you show that Hamiltonian Path is
NP-Complete?
38
Local Modification
  • Convert G to G
  • Pick a vertex v
  • Replace v by v and v
  • If (u,v) is an edge, include edges (u, v), (u,
    v)
  • G has a Hamiltonian Path from v to v iff G
    has a Hamiltonian Circuit

39
HamPath ltP DirHamPath
How do you show that Directed Hamiltonian Path is
NP-Complete?
40
Problem definition
  • Given a graph G, does G have an independent set?
  • Given a graph G, does G have an independent set
    of size 7?
  • Given a graph G, and an integer K, does G have an
    independent set of size K?

41
Graph Coloring
  • NP-Complete
  • Graph K-coloring
  • Graph 3-coloring
  • Polynomial
  • Graph 2-Coloring

42
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

43
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

44
What is NP?
  • Problems where yes instances can be efficiently
    verified
  • Hamiltonian Circuit
  • 3-Coloring
  • 3-SAT
  • Succinct certificate property

45
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?

46
What we dont know
  • P vs. NP

NP-Complete
NP P
NP
P
Write a Comment
User Comments (0)
About PowerShow.com