CSE 326: Data Structures: Graphs - PowerPoint PPT Presentation

About This Presentation
Title:

CSE 326: Data Structures: Graphs

Description:

Title: Lecture notes for CSE326 Author: Dan Suciu Last modified by: Dan SUciu Created Date: 1/1/1601 12:00:00 AM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 23
Provided by: DanS90
Category:

less

Transcript and Presenter's Notes

Title: CSE 326: Data Structures: Graphs


1
CSE 326 Data Structures Graphs
  • Lecture 24Friday, March 7th, 2003

2
Today
  • Finish NP complete problems
  • Course evaluation forms

3
NP-Complete Problems
  • Recall
  • A Hamiltonean path a paths that goes through
    each node exactly once
  • How to find one ? Try out all paths.
  • Exponential time, and nobody knows better
  • Why dont we prove that there is no better
    algorithm ?
  • Because we dont know how to prove it

4
P and NP
  • Recall
  • A problem is in P (or PTIME) if we can solve it
    in time O(nk), for some k gt 0
  • A problem is in NP if we can check a candidate
    solution in P
  • Hamiltonean cycle (HC) is in NP
  • In fact, P ? NP
  • But what about NP ? P or NP ? P ? Nobody knows.

5
Another NP Problem
  • SAT Given a formula in Boolean logic, e.g.
  • determine if there is an assignment of values to
    the variables that makes the formula true (1).
  • Why is it in NP?

6
SAT is NP-Complete
  • Cook (1971) showed the following
  • Including Hamiltonean Cycle (HC)
  • In some sense, SAT is the hardest problem in NP
  • We say that SAT is NP-Hard
  • A problem that is NP-Hard and in NP is called
    NP-complete

Theorem Suppose that we can solve the SAT problem
in polynomial time. Then there is a way to solve
ANY NP problem in polynomial time !!!
7
SAT is NP-Complete
  • Proof of Cooks theorem
  • Suppose we can solve SAT in time O(m7), where m
    is the size of the formula
  • Let some other problem in NP we can check a
    candidate solution in, say, time O(n5), where n
    is the size of the problems input

8
SAT is NP-Complete Proof
  • To solve that other problem, do the following
  • We have a program A that checks some candidate
    solution in time O(n5)
  • Construct a HUGE boolean formula that represents
    the execution of A its variables are the
    candidate solution (which we dont know) plus all
    memory bits
  • Then check if this formula is satisfiable (i.e.
    there exists some candidate solution)

9
SAT is NP-Complete Proof
Programcounter
Memory(at most n5 memory words (why ?))
Candidatesolution (unknown)
Input
Time 0


Time 1


Time n5


Answer (0 or 1)
HUGE boolean formula of size O(n5 ? n5 ? n5) ?
check satisfiability in time O((n5 ? n5 ? n5)7)
10
The Graph of NP-Completeness
  • What is special about SAT ?
  • Nothing ! There are hundreds of NP-complete
    problems
  • Directed Hamiltonean Path (DHP)
  • Vertex Cover
  • Clique
  • etc, etc, ...

11
Directed Hamiltonean Path is NP-Complete
  • Proof by reducing SAT to DHP
  • Then use transitivity to argue than we can solve
    any NP problem in polynomial time
  • Ill show you how to prove the lemma...

Theorem Directed Hamiltonean Path (DHP) is NP
Complete
Lemma If we can solve DHP in polynomial time,
thenwe can solve SAT in polynomial time
12
Directed Hamiltonean Path is NP-Complete
  • Suppose you are given a boolean formula in
    conjunctive normal form
  • Construct a directed graph G s.t. it admits a
    Hamiltonean cycle iff the formula is satisfiable

13
c1
c2
c3
Step 1 construct this subgraph
14
Step 2 now replicate it once for each boolean
variable
a
b
c
15
Step 3 now add a new node for each clause c1,
c2, ...
c1
a
c2
c3
b
c
16
Step 4 now connect the variable graphs to the
clause nodes in clever wayE.g. for c2
Right-left for?a
c1
a
c2
c3
b
Left-right for c
c
17
c1
c2
c3
Step 5 finally, the formula is satisfiable iff
there exists a Hamiltonean path ! E.g a1, b0,
c1
c1 (true becauseof a)
a?
c1
c2
c3
c2(true becauseof c)
b ?
c1
c2
c3
c3(true becauseof c)
c ?
c1
c2
c3
18
c1
c2
c3
E.g a1, b0, c1
c1 (true becauseof a)
a?
c1
c2
c3
c2(true becauseof c)
b ?
c1
c2
c3
c3(true becauseof c)
c ?
c1
c2
c3
19
A Great Book You Should Own!
  • Computers and Intractability A Guide to the
    Theory of NP-Completeness, by Michael S. Garey
    and David S. Johnson

20
Your Chance to Win a Turing Award P NP?
  • Nobody knows whether NP ? P
  • Proving or disproving this will bring you instant
    fame!
  • It is generally believed that P ? NP, i.e. there
    are problems in NP that are not in P
  • But no one has been able to show even one such
    problem!
  • Practically all of modern complexity theory is
    premised on the assumption that P ? NP
  • A very large number of useful problems are in NP

Alan Turing(1912-1954)
21
P, NP, and Exponential Time Problems
  • All currently known algorithms for NP-complete
    problems run in exponential worst case time
  • Finding a polynomial time algorithm for any NPC
    problem would mean
  • Diagram depicts relationship between P, NP, and
    EXPTIME (class of problems that provably require
    exponential time to solve)

EXPTIME
NPC
NP
P
It is believed that P ? NP ? EXPTIME
22
Coping with NP-Completeness
  • Settle for algorithms that are fast on average
    Worst case still takes exponential time, but
    doesnt occur very often.
  • But some NP-Complete problems are also
    average-time NP-Complete!
  • Settle for fast algorithms that give near-optimal
    solutions But finding even approximate solutions
    to some NP-Complete problems is NP-Complete!
  • Just get the exponent as low as possible! Much
    work on exponential algorithms for Boolean
    satisfiability in practice can often solve
    problems with 1,000 variables
  • But even 2n/100 will eventual hit the exponential
    curve!
Write a Comment
User Comments (0)
About PowerShow.com