Download presentation
Presentation is loading. Please wait.
Published byClaud Haynes Modified over 9 years ago
1
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta ngupta@cs.du.ac.in
2
Table of Contents Hamiltonian Cycle
3
Hamiltonian Cycle Problem A Hamiltonian cycle in a graph is a cycle that visits each vertex exactly once Problem Statement Given A directed graph G = (V,E) To Find If the graph contains a Hamiltonian cycle
4
Hamiltonian Cycle Problem Hamiltonian Cycle Problem is NP-Complete Hamiltonian Cycle Problem is in NP. Given a directed graph G=(V,E), and a certificate containing an ordered list of vertices on a Hamiltonian Cycle. It can be verified in polynomial time that the list contains each vertex exactly once and that each consecutive pair in the ordering is joined by an edge.
5
Hamiltonian Cycle Problem Hamiltonian Cycle Problem is NP Hard 3-SAT ≤ p Hamiltonian Cycle We begin with an arbitrary instance of 3- SAT having variables x 1,…….,x n and clauses C 1,…….,C k We model one by one, the 2 n different ways in which variables can assume assignments, and the constraints imposed by clauses.
6
Hamiltonian Cycle Problem To correspond to the 2 n truth assignments, we describe a graph containing 2 n different Hamiltonian cycles. The graph is constructed as follows: Construct n paths P 1,…….,P n. Each P i consists of nodes v i1,….., v ib, where b = 2k (k being the number of clauses)
7
………………. P1P1 P2P2 P3P3
8
Hamiltonian Cycle Problem Draw edges from v ij to v i,j+1 ………………. P1P1 P2P2 P3P3
9
Hamiltonian Cycle Problem Draw edges from v i,j+1 to v i,j ………………. P1P1 P2P2 P3P3
10
Hamiltonian Cycle Problem For each i = 1,2,……..,n-1, define edges from v i1 to v i+1,1 and to v i+1,b. Also, define edges from v ib to v i+1,1 and v i+1,b ………………. P1P1 P2P2 P3P3
11
Add two extra nodes s and t. Define edges from s to v 11 and v 1b, from v n1 and v nb to t, and from t to s s t ………………. P1P1 P2P2 P3P3
12
Hamiltonian Cycle Problem Observations: Any Hamiltonian cycle must use the edge (t,s) Each P i can either be traversed left to right or right to left. This gives rise to 2 n Hamiltonian cycles. We have therefore modeled the n independent choices of how to set each variable; if P i is traversed left to right, x i =1, else x i =0
13
Hamiltonian Cycle Problem We now add nodes to model the clauses Consider the clause C = (x 1 ’ν x 2 ν x 3 ’) What is the interpretation of the clause? The path P 1 should be traversed right to left, or P 2 should be traversed left to right, or P 3 right to left.
14
We add a node that does this ………………. P1P1 P2P2 P3P3 s t C
15
Hamiltonian Cycle Problem In general We define a node c j for each clause C j. In each path P i, positions 2j-1 and 2j are reserved for variables that participate in clause C j If C j contains x i, add edges (v i,2j-1, c j )and (c j, v i,2j ) If C j contains x i ’, add edges (v i,2j, c j )and (c j, v i,2j-1 ) Gadget constructed !
16
Hamiltonian Cycle Problem Consider an instance of 3-SAT having 4 variables : x 1,x 2 x 3, x 4 3 clauses C 1 : (x 1 v x 2 v x 3 ’) C 2 : (x 2 ’ v x 3 v x 4 ) C 3 : (x 1 ’ v x 2 v x 4 ’)
17
Hamiltonian Cycle Problem We reduce the given instance as follows: n = 4k = 3b= 2*3 = 6 Construct 4 paths P 1, P 2, P 3, P 4 P 1 consists of nodes v 1,1, v 1,2,…….., v 1,6 P 2 consists of nodes v 2,1, v 2,2,…….., v 2,6 P 3 consists of nodes v 3,1, v 3,2,…….., v 3,6 P 4 consists of nodes v 4,1, v 4,2,…….., v 4,6
18
126543 P1P1 126543 P2P2 12643 P3P3 126543 P4P4 s t C1C1 5 C2C2 C3C3
19
Hamiltonian Cycle Problem Claim: 3-SAT instance is satisfiable if and only if G has a Hamiltonian cycle Proof: Part I Given A satisfying assignment for the 3-SAT instance If x i = 1, traverse P i left to right, else right to left. Since each clause C j is satisfied by the assignment, there has to be at least one path P i that moves in the right direction to be able to cover node c j. This P i can be spliced into the tour there via edges incident on v i,2j-1 and v i,2j
20
Hamiltonian Cycle Problem Let us try to verify this with our example Given A satisfying assignment for 3-SAT, say x 1 = 1 x 2 = 0 x 3 = 1 x 4 = 0 Let us check out a corresponding Hamiltonian cycle
21
126543 P1P1 126543 P2P2 12643 P3P3 126543 P4P4 s t C1C1 5 C2C2 C3C3
22
Hamiltonian Cycle Problem Part II Given A Hamiltonian cycle in G. Observe that if the cycle enters a node c j on an edge from v i,2j-1 it must depart on an edge to v i,2j. Why?
23
Hamiltonian Cycle Problem Because otherwise, the tour will not be able to cover this node while still maintaining the Hamiltonian property Similarly, if the path enters from v i,2j, it has to depart immediately to v i,2j-1.
24
Hamiltonian Cycle Problem However, in some situations it may so happen that the path enters c j from the first (or last) node of P i and departs at the first (or last) node of P i+1. In either case the following holds true: The nodes immediately before and after any c j in the cycle are joined by an edge in G, say e. Let us consider the following Hamiltonian cycle given on our graph
25
126543 P1P1 126543 P2P2 12643 P3P3 126543 P4P4 s t C1C1 5 C2C2 C3C3
26
Hamiltonian Cycle Problem Obtain a Hamiltonian cycle on the subgraph G – {c1,……ck} by removing c j and adding ‘e’ as shown below
27
126543 P1P1 126543 P2P2 12643 P3P3 126543 P4P4 s t C1C1 5 C2C2 C3C3
28
Hamiltonian Cycle Problem We now use this new cycle on the subgraph to obtain the truth assignments for the 3-SAT instance. If it traverses P i left to right, set x i =1, else set x i = 0. We therefore get the following assignments: x 1 = 1 x 2 = 0 x 3 = 0 x 4 = 1
29
Hamiltonian Cycle Problem Can we claim that the assignment thus determined would satisfy all clauses. YES ! Since the larger cycle visited each clause node cj, at least one Pi was traversed in the right direction relative to the node cj
30
Acknowledgements BIG Thanks to Sonika Arora
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.