Design and Analysis of Algorithms - PowerPoint PPT Presentation

Loading...

PPT – Design and Analysis of Algorithms PowerPoint presentation | free to download - id: 71c806-ZmZlN



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Design and Analysis of Algorithms

Description:

Design and Analysis of Algorithms Yoram Moses Lecture 11 June 3, 2010 http://www.ee.technion.ac.il/courses/046002 * – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 26
Provided by: ZivB
Learn more at: http://webcourse.cs.technion.ac.il
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Design and Analysis of Algorithms


1
Design and Analysis of Algorithms
  • Yoram Moses

Lecture 11 June 3, 2010
http//www.ee.technion.ac.il/courses/046002
2
Nondeterministic Polynomial Time (NP)
3
Shortest Path Search, Existence, Verification
  • Search problem
  • Input (G,w,s,t) a directed graph G with weight
    function w, a source s, and a sink
    t.
  • Goal find a shortest path from s to t. (or
    reject if none exists)
  • Complexity our solution runs in O(VE) O(n2)
    (Notice n size of
    input O(VE))
  • Existence problem
  • Input (G,w,s,t,k) G,w,s,t are as before a
    number k.
  • Goal decide whether there is a path from s to t
    of length k.
  • Complexity our solution runs in O(VE) O(n2)
  • Verification problem
  • Input (G,w,s,t,k,p) G,w,s,t,k as before. p is a
    path in G.
  • Goal decide whether p is a simple path from s to
    t of length k.
  • Complexity O(V) O(n).

4
Max Flow Search, Existence, Verification
  • Search problem
  • Input (G,c,s,t) a directed graph G with
    capacity function c, a source s, and a sink t.
  • Goal find a maximum flow in G. (or reject if
    none exists)
  • Complexity O(VE2) O(n3)
  • Existence problem
  • Input (G,c,s,t,k) G,c,s,t as before a number
    k.
  • Goal decide whether there is a flow in G with
    value k.
  • Complexity O(VE2) O(n3)
  • Verification problem
  • Input (G,c,s,t,k,f) G,c,s,t,k as before. f is a
    function from edges of G to real numbers.
  • Goal decide whether f is a legal flow with value
    k.
  • Complexity O(E) O(n).

5
Hamiltonian Cycle Search, Existence,
Verification
  • Search problem
  • Input an undirected graph G.
  • Goal find a Hamiltonian cycle in G (or reject if
    none exists).
  • Complexity O(VxV!) O(n2n log n)
  • Existence problem
  • Input an undirected graph G.
  • Goal decide whether G has a Hamiltonian cycle.
  • Complexity O(VxV!) O(n2n log n)
  • Verification problem
  • Input (G,p) an undirected graph G and a
    sequence of nodes p.
  • Goal decide whether p is a Hamiltonian cycle in
    G.
  • Complexity O(V) O(n).

6
3-Coloring Search, Existence, Verification
  • Search problem
  • Input G an undirected graph
  • Goal find a 3-Coloring of G. (or reject if none
    exists)
  • Complexity O(E 3V) O(n2n log 3)
  • Existence problem
  • Input G as before.
  • Goal decide whether G has a 3-Coloring.
  • Complexity O(E 3V) O(n2n log 3)
  • Verification problem
  • Input (G,?) G as before and ? V? 1,2,3.
  • Goal decide whether ? is a 3-Coloring of G.
  • Complexity O(E) O(n).

7
Search and Existence vs. Verification
  • Conclusion in many natural examples
  • Search and existence are computationally
    equivalent
  • Verification is easier
  • Sometimes its just a little easier (Shortest
    Path, Max flow)
  • Sometimes its a lot easier (Hamiltonian cycle,
    3-Coloring)

8
Verification Relations
  • Language L ? 0,1
  • Definition A verification relation for L is a
    relation R ?
    0,1 ? 0,1 s.t. for all x ? 0,1
  • x ? L ? there is at least one y ? 0,1 s.t.
    (x,y) ? R.
  • x ? L ? there is no y ? 0,1
    s.t. (x,y) ? R.
  • y is called the certificate for x
  • A.k.a. its witness or proof
  • Remarks
  • Every input x ? L has at least one certificate y.
  • If (x,y) ? R, then y is a certificate for x.
  • An input x ? L may have several certificates.
  • A language L has many verification relations.

9
Verification Relations Examples
  • Shortest path
  • x (G,w,s,t,k), y a path p
  • Language (G,w,s,t,k) G has an s-t path of
    length k
  • Certificate s-t path of length k
  • Verification relation
    ((G,w,s,t,k),p) p is an
    s-t path of length k in G
  • Hamiltonian cycle
  • x undirected graph G, y a path p
  • Language G that has a Hamiltonian cycle
  • Certificate a Hamiltonian cycle in G
  • Verification relation (G,p) p is a Hamiltonian
    cycle in G

10
Nondeterministic Polynomial Time
  • Definition A binary relation R is polynomially
    bounded, if there exists some c gt 0 s.t. for
    every (x,y) ? R, y xc.
  • Definition L is polynomial-time verifiable, if
    it has a verification relation R, which satisfies
    both
  • R is polynomially bounded, and
  • R is polynomial-time decidable.
  • Definition The class NP (Nondeterministic
    Polynomial Time) is the set of all
    polynomial-time verifiable languages.

11
NP Examples
  • Examples of languages in NP
  • Decision Shortest Path, Decision Max Flow,
    Decision LP
  • Hamiltonian Cycle, TSP, 3-Coloring, SAT, k-SAT,
    Clique
  • Examples of languages not known to be in NP
  • HC-complement given a graph G, decide whether G
    has no Hamiltonian cycles.

12
Nondeterministic Algorithms
  • Definition A nondeterministic algorithm is an
    algorithm N that, on input x,
  • First, N nondeterministically guesses a
    witness y.
  • Then, N runs a deterministic verification
    algorithm on (x,y).
  • Note N may make different nondeterministic
    guesses in different runs on the same input x.

Nondeterministic Algorithm N
Verification
Nondeterministic guess
y
x
(x,y)
yes/no
13
Decision by Nondeterministic Algorithms
  • Definition A nondeterministic algorithm N is
    said to decide language L if
  • For every input x ? L, there is at least one
    guess y s.t. N accepts (x,y).
  • For every input x ? L, the verification algorithm
    N rejects (x,y), for all guesses y.
  • A polynomial-time nondeterministic algorithm is
    one in which
  • The guesses (ys) are of polynomial size (in
    x), and
  • The verification algorithm runs in polynomial
    time.
  • Lemma L ? NP iff L is decidable by a
    polynomial-time nondeterministic algorithm.

14
An NP Algorithm for Clique
  • Nondeterministic guess (input x (G,k))
  • for i 1,,k
  • vi ? nondeterministic guess of a node in
    VV(G)
  • output y (v1,,vk)
  • Verification algorithm (input (x,y))
  • If x is not a valid encoding of a graph G and an
    integer k, reject.
  • If y is not a valid encoding of k nodes v1,,vk
    in G, reject.
  • If v1,,vk are not distinct, reject.
  • for i ?1,,k-1 do
  • for j ? i1,,k do
  • if vi,vj ? E reject.
  • accept

15
P vs. NP
  • Lemma P ? NP
  • Biggest open problem of computer science
    is P NP?
  • Two possibilities
  • Current belief P ? NP
  • Search Existence strictly harder than
    Verification.

P NP?
P NP
NP
P
16
Time Hierarchy
  • f N ? N a complexity measure.
  • Time(f(n)) all languages decidable in time
    O(f(n)).
  • Lemma
  • Let f(n),g(n) be two complexity measures. If
    there exists a constant c, s.t. for all n gt c,
    f(n) g(n), then
  • Time(f(n)) ? Time(g(n)).
  • Theorem (Time Hierarchy)
  • Let f(n),g(n) be two complexity measures. If
    there exists a constant c, s.t. for all n gt c,
    f(n) g(n)1/2, then
  • Time(f(n)) ? Time(g(n)).

17
P, NP, and EXP
  • Definition
  • Lemma P ? EXP but P ? EXP
  • Lemma NP ? EXP (exercise)
  • Open problem is NP EXP?
  • 3 Possibilities

EXP
EXP
EXP NP
NP P
P
NP
P
P
18
NP-Completeness (NPC)
  • Problems in NP not known to be in P
  • Hamiltonian Cycle, Clique, SAT, k-SAT (k 3),
    k-Coloring (k 3), TSP, . (many
    others)
  • All of these are NP-Complete
  • NP-Complete Problems
  • Belong to NP
  • If any of them belongs to P, then NP P.
  • Two possibilities

NP
NP NPC P
NPC
P
19
NP-Hardness (NPH)
  • Definition A language L is NP-hard if
    L p L holds for all L ? NP.
  • NPH class of all NP-hard problems.
  • Lemma If any NP-hard problem belongs to P, then
    NP P.
  • If one NPH problem is easy, then all of NP is
    easy.
  • Lemma If L ? NPH and L p L, then L ? NPH.

20
NP-Completeness
  • Definition A language L is NP-complete if both
  • L ? NP and
  • L is NP-hard
  • NPC class of NP-complete problems
  • NPC NP ? NPH
  • Theorem
  • If some NPC language is in P, then P NP.
  • (P ? NPC ? ? ? NP P NPC).
  • If some NPC language is not in P, then no NPC
    language is in P.
  • (NPC ? P ? P ? NPC ? ? NP ? P).

21
NP-Completeness
  • NPC hardest problems in NP
  • Behave as a single block either all in P or
    all outside P
  • Lemma If L1,L2 ? NPC, then both
  • L1 p L2 and L2 p L1.

22
Proving NP-Completeness
  • How to prove that a given language L is NPC?
  • Show that L ? NP, and
  • Show that L p L holds for every L ? NP.
  • Easier alternative
  • Show that L ? NP, and
  • Find some NPC problem L and show L p L.
  • How do we obtain the first NPC problem?
  • Using the first alternative
  • Cook-Levin theorem Circuit-SAT is NP-complete.

23
NP-Completeness the Full Recipe
  • To show that L is NPC
  • Prove L is in NP
  • Show a polynomial time nondeterministic algorithm
    for L
  • Select an NPC problem L
  • Show a polynomial-time reduction f from L to L
  • Prove that x ? L iff f(x) ? L
  • Show a polynomial-time algorithm to compute f

24
Example Clique is NPC
  • Clique is in NP (seen today)
  • 3-SAT is NPC (will show this later on)
  • 3-SAT p Clique (seen in previous lecture)
  • Therefore Clique is also NP-Complete!

25
End of Lecture 11
About PowerShow.com