Computational Models - Lecture...
Transcript of Computational Models - Lecture...
Computational Models - Lecture 11 1
Handout Mode
Iftach Haitner and Yishay Mansour.
Tel Aviv University.
May 7/9, 2012
1Based on frames by Benny Chor, Tel Aviv University, modifying frames byMaurice Herlihy, Brown University.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 1 / 64
Talk Outline
Reminder – deterministic and nondeterministic time classes
Additional NP languages
The class co-NP
P Verses NP
NP-completeness
Satisfiability
Reductions
Sipser’s book, 7.4–7.5
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 2 / 64
Reminder – Deterministic Time
Definition 1 (deterministic Time)
A deterministic TM M runs in time t , where t : N 7→ N, if for every inputw , the number of steps that M(w) uses is at most t(|w |).
Definition 2 ( DTIME)
For t : N 7→ N, letDTIME(t) = {L ⊆ Σ∗ : L is decided by an O(t)-time single tape TM}
The bound on the running time is required to hold also for input not inthe language (i.e., L).
Definition 3 ( P)
P =⋃
c≥0 DTIME(nc)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 3 / 64
Reminder – NonDeterministic Time
Definition 4 (nondeterministic Time)
A non-deterministic TM N runs in time t , where t : N 7→ N, if for everyinput w , the maximum number of steps that N(w) uses on any branchof its computation tree, is at most t(|w |).
Notice that also non-accepting branches must reject within therequired time.
Definition 5 ( NTIME)
For t 7→ N 7→ N let NTIME(t) ={L ⊆ Σ∗ : L is decided by an O(t)-time single tape NTM}
Definition 6 ( NP)
NP =⋃
c≥0 NTIME(nc)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 4 / 64
Reminder – NonDeterministic Time, cont.
Definition 7 (verifier)
A verifier for a language L, is an algorithm V withL = {w : V accepts 〈w , c〉 for some string c}.
Theorem 8A language is in NP iff it has a polynomial time verifier.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 5 / 64
Section 1
Additional NP Languages
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 6 / 64
CLIQUE
A clique in a graph is a subgraph where every two nodes areconnected by an edge.A k-clique is a clique of size k .
Question 9What is the largest k-clique in the figure?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 7 / 64
CLIQUE cont.
CLIQUE = {〈G, k〉 : G is an undirected graph with a k-clique}
Theorem 10CLIQUE ∈ NP
Proof’s idea: The clique is the certificate.
Algorithm 11 ( V)
On input (〈G, k〉, c)Accept if c is a k-clique subgraph of G;Otherwise Reject.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 8 / 64
SUBSET-SUM
A collection of non-negative integers x1, . . . , xk
A target number t
Question: does some subcollection add up to t?
Example 12
{4,11,16,21,27},25) ∈ SUBSET-SUM because 4 + 21 = 25.
{4,11,16,21,27},26) /∈ SUBSET-SUM (why?)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 9 / 64
SUBSET-SUM cont.
SUBSET-SUM = {〈S = {x1, . . . , xk}, t〉 : ∃{y1, . . . , y`} ⊆S :
∑`j=1 yj = t}
Collections are sets: repetitions not allowed.
Theorem 13SUBSET-SUM ∈ NP
Proof’s idea: The subset is the certificate.
Algorithm 14 ( V)
On input (〈S = {x1, . . . , xk}, t〉, c):Accept if the following holds (otherwise Reject):
1 c is a collection of numbers summing to t .2 c is a subset of S
Theorem 15There is a pseudo-polynomial algorithm for SUBSET-SUM
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 10 / 64
Graph characterization of SUBSET-SUM
Definition 16For 〈S = {x1, . . . , xk}, t〉, let G(S, t) = (V ,E)
V = V0 ·⋃
V1 . . . ·⋃
Vk , where Vi = {vi ,0, . . . , vi ,t}
E = E1 ·⋃. . . ·
⋃Ek , where
Ei = {(vi−1,j , vi ,j), (vi−1,j , vi ,j+xi) : j ∈ {0, . . . , t}}
Claim 17vi ,j is reachable from v0,0 in G(S, t), iff〈{x1, . . . , xi}, j〉 ∈ SUBSET-SUM.
Proof?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 11 / 64
Pseudo-polynomial algorithm for SUBSET-SUM
Algorithm 18
Input 〈S, t〉
Return TRUE iff vk ,t is reachable from v0,0 in G(S, t).
Correctness
Size of G(S, t) is O(|S| · t), and therefore the resulting algorithmfor SUBSET-SUM runs in time poly(|S| · t).
Not poly(log2 t) but poly(t) (i.e., pseudo-polynomial)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 12 / 64
Independent Set
An independent set in a graph is a set of vertexes, no two of which arelinked by an edge.
A k-IS is an independent set of size k .
Question 19What is the largest k-IS in the figure?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 13 / 64
IND-SET cont.
IND-SET = {〈G, k〉 : G contains an independent set of size k}
Theorem 20IND-SET ∈ NP
Proof’s idea: The independent set is the certificate.
Algorithm 21 ( V)
On input (〈G, k〉, c)Accept if c is a k-IS of G (no edges between nodes in c, and |c| = k);Otherwise Reject.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 14 / 64
KNAPSACK
A collection of non-negative integers x1, . . . , xk (size)
A collection of non-negative integers y1, . . . , yk (benefit)
A capacity B
A target number t
Question: does some S ⊂ [1, k ] has∑
i∈S xi ≤ B and∑
i∈S yi ≥ t?
Example 22
({4,11,16,21,27}, {7,3,9,5,35},B = 20, t = 16) ∈ KNAPSACKbecause S = {1,3}.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 15 / 64
KNAPSACK cont.
Theorem 23KNAPSACK ∈ NP
Proof’s idea: The subset is the certificate.
Algorithm 24 ( V)
On input (〈{x1, . . . , xk}, {y1, . . . , yk},B, t〉, c):Accept if the following holds (otherwise Reject):
1∑
i∈c xi ≤ B2
∑i∈c yi ≥ t .
3 c is a subset of [1, . . . , k ]
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 16 / 64
Pseudo-polynomial algorithm for KNAPSACK
Theorem 25There is a pseudo-polynomial algorithm for KNAPSACK
Running time O(k · t)
Not poly(log2 t) but poly(t) (i.e., pseudo-polynomial)
Algorithm 26 (KNAPSACK)
A(0,0) = 0 and A(0,p) = ∞ for p 6= 0.For i = 1 to k DOFor p = 0 to t DOA(i ,p) = min{A(i − 1,p), xi + A(i − 1,p − yi)}ENDTest t ≤ max{p|A(k ,p) ≤ B}.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 17 / 64
Section 2
The Class coNP
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 18 / 64
The Class co-NP
CLIQUE and SUBSET-SUM seem not to be members of NP .
It is harder to efficiently verify that something does not exist than toefficiently verify that something does exist..
Definition 27 ( co-NP)
co-NP = {L : L ∈ NP}.
So far, no one knows if co-NP is distinct from NP.
Claim 28P ⊆ co-NP .
Proof?
L ∈ P =⇒ L ∈ P =⇒ L ∈ NP =⇒ L ∈ co-NP
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 19 / 64
Section 3
P vs. NP
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 20 / 64
P Vs. NP
NP
P P=NP
The question P?= NP is one of the great unsolved mysteries in
contemporary mathematics.
Most computer scientists believe the two classes are not equal
Most bogus proofs show them equal (why?)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 21 / 64
Observations
If P differs from NP , then the distinction between P and NP \ P ismeaningful and important.
languages in P are tractable
languages in NP \ P are intractable
Until we can prove that P 6= NP, there is no hope of proving that aspecific language lies in NP \ P .
Nevertheless, we can prove statements of the form
If A ∈ NP \ P then B ∈ NP \ P.
If co-NP 6= NP then P 6= NP .
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 22 / 64
Section 4
NP Completeness
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 23 / 64
NP Completeness
P
NP
NP-complete
The class of NP-complete languages are“hardest” languages in NP
“least likely” to be in P
If any NP-complete L ∈ P, then NP = P .Such languages, “carry on their backs” the burden of all of NP.
Question 29Are there NP-complete languages?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 24 / 64
Polynomial-Time Computable Functions
Definition 30 (poly-time computable functions)
A function f : Σ∗ 7→ Σ∗ is polynomial-time computable, if there is apoly-time deterministic TM that
starts with input w , and
halts with f (w) on tape.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 25 / 64
Polynomial-Time Reducibility
Definition 31A language A is polynomial time mapping reducible to B, denotedA ≤P B, if exists poly-time computable f such that
w ∈ A ⇐⇒ f (w) ∈ B.
for every w ∈ Σ∗.The function f is called a polynomial-time reduction from A to B.
The mapping f efficiently converts questions about membership in A tomembership in B.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 26 / 64
Reductions to P
Theorem 32
If A ≤P B and B ∈ P then A ∈ P.
Proof:
Let f the reduction from A to B, computed by TM Mf .On input x , the TM Mf makes at most cf · |x |af steps.Let MB be the poly-time decider for B.On input y , the TM MB makes at most cB · |y |aB steps.
Algorithm 33 (Decider MA for A)
On input x , return MB(f (x))
MA decides ARunning time of MB(x), is at mostcB · (cf · |x |af )aB = (cB · caB
f ) · |x |af ·aB ∈ poly(|x |)Hence, A ∈ P
♣Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 27 / 64
Remarks
Question 34Assume that {0n1n : n ≥ 0} ≤P L. Does it yield that L ∈ P?
L = HTM
If x = 0n1n then f (x) = Mstop
Otherwise f (x) = Mrun.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 28 / 64
NP Completeness, Formal Definition
Definition 35 ( NP-complete)
A language B is NP-complete, if
B ∈ NP , and
Every A ∈ NP is poly-time reducible to B (i.e., A ≤P B)
We let NPC denote the class of all NP-complete languages.
Compare to
Definition 36 (RE-Complete)
A language B is RE-complete, if
B ∈ RE , and
Every A ∈ RE is mapping reducible to B.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 29 / 64
Why NP Completeness?
Theorem 37
If B ∈ NPC and B ∈ P, then P = NP .
Proof: Immediately follows by Thm 32. ♣
To show P = NP (and make an instant fortune, seewww.claymath.org/millennium/P_vs_NP/), suffices to find apolynomial-time algorithm for any NP-complete problem.
Question 38Is NPC empty?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 30 / 64
NPC Is Not Empty
ANP = {〈M, x ,1n〉 : M is a TM ∧ ∃c ∈Σ∗ s.t. M(x , c) accepts within n steps}
Theorem 39ANP ∈ NPC
Proof:
Clearly ANP ∈ NP
Let L ∈ NP , let V be a verifier for L and let p ∈ poly be a bound onthe running time of V (i.e., V(w , ·) halts within p(|w |) steps, forevery w ∈ Σ∗)).
Define f (x) = 〈V, x ,1p(|x|)〉.
Clearly f is poly-time computable and x ∈ L ⇐⇒ f (x) ∈ ANP.
♣
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 31 / 64
Finding Additional NP-complete Languages
Theorem 40Assume that
1 B ∈ NP
2 A ∈ NPC and A ≤P B
then B ∈ NPC.
Proof: Home exercise . . .♣
We would like to find L ∈ NPC that is “natural" and “easy" to reduce to.
The most useful such language is the language of satisfied formulas.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 32 / 64
Section 5
Satisfiability
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 33 / 64
Boolean Variables
A Boolean variable assumes valuesI TRUE (written 1), and FALSE (written 0).
Boolean operations:I and: ∧I or: ∨I not: ¬
Examples:
0 ∧ 1 = 0
0 ∨ 1 = 1
0 = 1
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 34 / 64
Boolean Formulas and SATA Boolean formula is an expression involving Boolean variables andoperations.
φ = (x ∧ y) ∨ (x ∧ z)
Definition 41 (satisfiable formula)
A formula is satisfiable, if some assignment of 0s and 1s to thevariables makes the formula evaluate to 1.
The formula φ = (x ∧ y) ∨ (x ∧ z) is satisfiable by the assignment
x = 0
y = 1
z = 0
The language of satisfied formulas:
SAT = {〈φ〉 : φ is a satisfiable Boolean formula}
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 35 / 64
SAT ∈ NPC
SAT = {〈φ〉 : φ is satisfiable Boolean formula}
Theorem 42 (Cook-Levin (early 70s))
SAT ∈ NPC.
The “most important" NP-complete language.
It is easy to see that SAT ∈ NP
For the proof of other part wait for next week . . .
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 36 / 64
The Language 3SATIt is useful to consider a special version of SAT
A literal is a variable or negated variable: x or x .A clause is several literals joined by ∨s: (x1 ∨ x2 ∨ x3)
A Boolean formula is in conjunctive normal form (CNF) if itconsists of clauses, connected with ∧s.For example: (x1 ∨ x2 ∨ x3 ∨ x4) ∧ (x3 ∨ x5 ∨ x6) ∧ (x3 ∨ x6)
Definition 43A Boolean formula is in k-CNF form, if it is a CNF formula, and allclauses have k literals.
Example of 3CNF: (x1 ∨ x2 ∨ x3) ∧ (x3 ∨ x5 ∨ x6) ∧ (x3 ∨ x6 ∨ x4)
The language of satisfied 3CNF formulas:
3SAT = {〈φ〉 : φ is satisfiable 3CNF formula}
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 37 / 64
3SAT ∈ NPC
It is trivial that 3SAT ≤P SAT
Clearly 3SAT ∈ NP
We later show that SAT ≤P 3SAT, yielding that 3SAT ∈ NPC.
Since 3SAT has more structure than SAT, it is simpler to reduce itto other languages
In the following we prove that several NP languages are NPC, byshowing a reduction from 3SAT to them
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 38 / 64
1SAT,2SAT ∈ P
Question 44Is 1SAT ∈ P ?
Question 45Is 2SAT ∈ P ?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 39 / 64
A Graph characterization for 2CNF
Definition 46For 2CNF formula φ with variables x1, . . . , xk , define G(φ) = (V ,E) as
V = {x1, x1, . . . , xk , xk}
E = {(`, `′), (`′, `) : (` ∨ `′) ∈ φ} (taking x = x).
Claim 47
G(φ) contains path from ` to `′ =⇒ in any satisfying assignment of φwith ` = 1, it holds that `′ = 1.
Proof?
Claim 48
G(φ) contains path from ` to `′ =⇒ G(φ) contains path from `′ to `
Proof?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 40 / 64
A Graph characterization for 2CNF , cont
Definition 49A variable x in a a 2CNF φ is bad, if there are paths in G(φ) from x tox and from x to x .
Claim 50A 2CNF formula is satisfiable iff it contains no bad variables.
φ has bad =⇒ φ is unsatisfiable. Proof? by Claim 47φ has no bad variables =⇒ φ is satisfiable. Proof?
Algorithm 511 Pick unassigned literal ` ∈ V that has no path from ` to `2 Assign 1 to all literals reachable from `, and 0 to their negations.3 Repeat.
Can there be conflicts?Same iteration? No since φ has no bad variablesDifferent iterations? No by Claim 48.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 41 / 64
Poly-time algorithm for 2SAT
Algorithm 52 ( TwoSatSolver)
Input: 2CNF φReturn TRUE if there exist no bad variables in φ:
Efficiency?
Correctness?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 42 / 64
Section 6
Clique
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 43 / 64
3SAT ≤P CLIQUE
CLIQUE = {〈G, k〉 : G is an undirected graph with a k-clique}
Claim 533SAT ≤P CLIQUE
Since CLIQUE ∈ NP, it follows that CLIQUE ∈ NPCProof’s idea: We’ll construct a poly-time reduction f that maps 3CNFformulae φ to graphs and numbers 〈G, k〉.
The function f will have the property that φ is satisfiable, iff G has aclique of size k .
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 44 / 64
Proving 3SAT ≤P CLIQUE
Let φ be a 3CNF formula with k clauses.On going example:
(x1 ∨ x2 ∨ x3) ∧ (x3 ∨ x5 ∨ x6) ∧ (x3 ∨ x6 ∨ x4)
We define a graph G = G(φ) as follows:
Nodes in G are organized into triples t1, . . . , tk .
Each triple corresponds to a clause of φ
Each node in a triple corresponds to a literal in correspondingclause.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 45 / 64
Nodes of G
φ = (x1 ∨ x2 ∨ x3) ∧ (x3 ∨ x5 ∨ x6) ∧ (x3 ∨ x6 ∨ x4)
Add a node per literal
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 46 / 64
Edges of G
φ = (x1 ∨ x2 ∨ x3) ∧ (x3 ∨ x5 ∨ x6) ∧ (x3 ∨ x6 ∨ x4)
Add edges between all vertex pairs, exceptwithin same triplebetween contradictory literals (e.g., x3 and x3)
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 47 / 64
φ ∈ 3SAT =⇒ 〈G, k〉 ∈ CLIQUE
Proof: Suppose φ is satisfiable by an assignment ψ.With respect to ψ:
At least one literal is assigned to 1 in every clause (why?)
Select a 1-literal in every tuple;These literals can be joined by edges (why?)Yielding a k-clique in G. ♣
♣Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 48 / 64
〈G, k〉 ∈ CLIQUE =⇒ φ ∈ 3SAT
Proof: Suppose G has a k-clique.
No two of the cliques nodes are in the same triple. (why?)G has k vertexes and k clauses, so each triple has exactly oneclique node.Assign 1 to each node in clique;Assignment has no contradictions (why?)Yielding a satisfying assignment to φ.
♣Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 49 / 64
Recap
We’ve constructed a poly-time computable function f .
We saw that f has the property that φ ∈ 3SAT iff f (φ) ∈ CLIQUE.
Therefore, f is a poly-time reduction from 3SAT to CLIQUE
=⇒ 3SAT ≤P CLIQUE. ♣
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 50 / 64
Section 7
Independent Set
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 51 / 64
Independent Set
Definition 54An independent set in a graph is a set of vertexes, no two of which arelinked by an edge.
The language of independent sets:
IND-SET = {〈G, k〉 : G contains an independent set of size k}
Clearly IND-SET ∈ NP. We show that CLIQUE ≤P IND-SET anddeduce that IND-SET ∈ NPC
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 52 / 64
CLIQUE ≤P IND-SET
Proof:
Definition 55The complement of a graph G = (V ,E) is a graph Gc = (V ,Ec), where
Ec = {(v1, v2) : v1, v2 ∈ V and (v1, v2)6∈E}.
Claim 56If U is an independent set in G, then U is a clique in Gc.
The reduction from CLIQUE to IND-SET simply compute thecomplement of the graph. ♣
Remark 57Same reduction shows that IND-SET ≤P CLIQUE
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 53 / 64
Independent Set 7→ Clique
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 54 / 64
Section 8
Hamiltonian Paths and Cycles
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 55 / 64
Reminder – Hamiltonian Path
A Hamiltonian path in a directed G visits each node exactly once.
HAMPATH = {〈G, s, t〉 : G has Hamiltonian path from s to t}
Theorem 58HAMPATH ∈ NPC.
Not today . . .
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 56 / 64
Hamiltonian Cycle
A Hamiltonian Cycle in a graph is an Hamiltonian path that ends upwhere it starts (i.e., s = t).
HAMCYCLE = {〈G〉 : G has Hamiltonian cycle}
Clearly HAMCYCLE ∈ NP . We will show thatHAMPATH ≤P HAMCYCLE, and deduce that HAMCYCLE ∈ NPC
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 57 / 64
HAMPATH ≤P HAMCYCLE.
Proof’s idea:
Hey, is the new vertex really needed? Why not just add an edge from tto s?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 58 / 64
HAMPATH ≤P HAMCYCLE.
Why the new vertex really needed? Why not just add an edge from t tos?
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 59 / 64
HAMCYCLE ≤P HAMPATH.
Claim 59HAMCYCLE ≤P HAMPATH.
Left as an easy (recommended) exercise.
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 60 / 64
Section 9
Traveling Salesman
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 61 / 64
Traveling Salesman
Input: set of cities C and set of inter-city distances DGoal: find a an hamiltonian cycle (TS tour) of total distance atmost k
TRAVELING-SALESMAN ={〈C,D, k〉 : (C,D) has a TS tourof total distance ≤ k}
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 62 / 64
HAMCYCLE ≤P TRAVELING-SALESMAN
Proof: Given a directed graph G = (V ,E), construct travelingsalesman instance.
The cities are identical to the nodes of the original graph, C = V .The distance of going from v1 to v2 is 1 if (v1, v2) ∈ E , and 2otherwise.The bound on the total distance of a tour is k = |V |.
correctness:=⇒ Suppose G has a Hamiltonian cycle.The distance assigned by the reduction to all edges in this cycle is1. Thus in (C,D) there is a traveling salesman tour of total distance|V | = k , namely (C,D, k) ∈ TRAVELING-SALESMAN.⇐= Suppose (C,D) has a traveling salesman tour of total distance|V | = k .Tour cannot contain any edge of distance 2. Therefore it gives aHamiltonian cycle in G.
Efficiency: reduction done in quadratic time (filling up distancesfor all edges of the complete graph).
♣Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 63 / 64
Chains of Reductions: NPC ProblemsSAT
IntegerProg 3SAT
Clique
IndepSet
VertexCover
SetCover
3ExactCover
Knapsack
Scheduling
3Color HamPath
HamCircuit
TRAVELING-SALESMAN
Iftach Haitner and Yishay Mansour (TAU) Computational Models Lecture 11 May 7/9, 2012 64 / 64