1 np-completeness: 3d matching andreas klappenecker
TRANSCRIPT
![Page 1: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/1.jpg)
1
NP-Completeness:3D Matching
Andreas Klappenecker
![Page 2: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/2.jpg)
Bipartite Matching
Let G be a bipartite graph with 2n nodes, with n nodes on each side. The bipartite matching problem is to decide whether there exist a perfect matching, that is, whether there exist n edges that are incident with all 2n nodes. Example: n boys and n girls, edges represent `like each other’. A perfect matching would find n couples.
2
![Page 3: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/3.jpg)
Bipartite Matching
A bipartite matching can be found in polynomial time. For example, a network flow algorithm can be used. [Add a source node and edges from source to all boy nodes. Add a sink node and edges from all girl nodes to the sink.]
3
![Page 4: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/4.jpg)
Hypergraph
A hypergraph G is a pair (V,E), where• V is a set• E is a subset of P(V)\{} .The elements in V are called vertices. The
elements in E are called hyperedges or links.
4
![Page 5: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/5.jpg)
Uniform Hypergraphs
A hypergraph is called k-uniform if and only if all its links have cardinality k.
For example, an undirected graph is a 2-uniform hypergraph. The links of a 3-uniform hypergraph consist of unordered triples.
5
![Page 6: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/6.jpg)
3-Dimensional Matching
Let G=(V,E) be a 3-uniform hypergraph, where V is a union of 3 disjoints sets,
V = AB C, |A|=|B|=|C|=nsuch that each link in E contains precisely one element from each set A, B, and C.A perfect matching in G consists of n links such that their union yields V.The 3D matching problem is to decide whether a perfect matching exists in G.
6
![Page 7: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/7.jpg)
Example
Let A be a set of n boys, B a set of n girls, and C a set of n pets.
We would like to form n harmonious households {a, b, c} such that a in A, b in B, c in C. The edges of the hypergraph list compatibilities. All n households together contain all boys, girls, and pets.
7
![Page 8: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/8.jpg)
3D Matching
Theorem: 3D matching is NP-complete
Proof: Obviously, 3D matching is contained in NP. We will show that 3SAT p 3D matching.
We need to construct gadgets in 3D matching that behave like Boolean variables and logical clauses.
8
![Page 9: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/9.jpg)
Simplification
Before constructing gadgets, we note that one can transform any 3SAT instance in one that contains each Boolean literal at most twice.
9
![Page 10: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/10.jpg)
Boolean Variable Gadget
Consider
T0 = {b0, g0, p1}
T1 = {b0, g1, p0}
T2 = {b1, g0, p2}
T3 = {b1, g1, p3}
Suppose that the boys b0 and b1 and the girls g0 and g1 are not involved in any other triples. Then any matching must contain either (T0 and T3 ) or (T1 and T2 ). The two alternatives represent false and true, respectively. The choice of pet will decide whether the variable is negated or not.
10
![Page 11: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/11.jpg)
Boolean Variable Gadgets
To transform an instance of 3SAT to one of 3D matching, we create a copy of the preceding gadget for each variable. If x is a Boolean variable, then we createT0 = {bx0, gx0, px1} // x = false
T1 = {bx0, gx1, px0} // x = true
T2 = {bx1, gx0, px2} // x = true
T3 = {bx1, gx1, px3} // x = false
11
![Page 12: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/12.jpg)
Clause Gadgets
Next, we must create triples that mimic logical clauses. For each clause c , we introduce three triples that contain new boys and girls. The pets in these triples will reflect the three ways in which the clause can be satisfied.
12
![Page 13: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/13.jpg)
Clause Gadgets
If the clause is c = (x y z) then this clause can be satisfied by setting (a) x = true, (b) y = false or (c) z = true.For the case (a), we add either
{ bc, gc, px1 } or { bc, gc, px3 }
since px0 and px2 will be taken by the
variable gadget. We will use the first choice if c is the first clause containing x, and the second choice otherwise. Recall that we assume that each literal occurs at most twice.
13
![Page 14: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/14.jpg)
Clause Gadgets
If the clause is c = (x y z) then this clause can be satisfied by setting (a) x = true, (b) y = false or (c) z = true.For the case (b), we add either
{ bc, gc, py0 } or { bc, gc, py2 }
For the case (c), we add either { bc, gc, pz1 } or { bc, gc, pz3 }
14
![Page 15: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/15.jpg)
Lost Pets
After all the triples have been created, there might be some pets left unmatched. If n variables and m clauses are used, then r = 2n-m pets will be left unmatched. Thus, we add r new boys and girls that love all pets.
Now, from any perfect matching, we can recover a satisfying truth assignment. If no satisfying truth assignment exists, then evidently no perfect matching can exist.
15
![Page 16: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/16.jpg)
ExampleConsider a b with a= (x y z) , b=(x y z) Variables:{bx0, gx0, px1}, {bx0, gx1, px0}, {bx1, gx0, px2}, {bx1, gx1, px3},
{by0, gy0, py1}, {by0, gy1, py0}, {by1, gy0, py2}, {by1, gy1, py3},
{bz0, gz0, pz1}, {bz0, gz1, pz0}, {bz1, gz0, pz2}, {bz1, gz1, pz3}
Clauses:{ba, ga, px1}, {ba, ga, py0}, {ba, ga, pz1},
{bb, gb, px3}, {bb, gb, py2}, {bb, gb, pz2}
Lost pets: (12 pets, but matching only used 8 so far){bc, gc, px0}, {bc, gc, px1}, … , {bc, gc, pz3}, …
{bf, gf, px0}, {bf, gf, px1}, … , {bf, gf, pz3}.
16
![Page 17: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/17.jpg)
Zero-One Equations
In zero-one equations, we are given an m x n matrix A with entries in {0,1} and the goal is to find a vector x in {0,1}n such that
Ax = (1,…,1)t , a vector with m ones. We call this problem ZOE.
Theorem: ZOE is an NP-complete problem!
17
![Page 18: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/18.jpg)
Proof
The problem clearly belongs to NP. Since we can verify whether or not a given vector x satisfies this equation in polynomial time.
We show that 3D Matching p ZOE
18
![Page 19: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/19.jpg)
Reduction
Let G be an instance of 3D matching.Suppose that G=(V,E) with • vertex set V=A B C, where the three sets have cardinality n=|A|=|B|=|C| and |V|=3n.
• and hyperedge set E={t1,…,tn}.
We can think of the elements in E as n triples of boys, girls, and pets.
19
![Page 20: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/20.jpg)
Reduction
Let A be the incidence matrix of the hypergraph G, that is, A is an 3n x n matrix, where • rows of A are indexed by the elements in V • columns of A are indexed by hyperedges in E.
• The entry (A)v,e = 1 if v is contained in the hyperedge e, and 0 otherwise.
20
![Page 21: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/21.jpg)
Reduction
Let x be an incidence vector of a perfect matching, i.e., xe=1 if e is contained in the matching and xe=0 otherwise. Then
Ax=(1,…,1)t
as a perfect matching contains for each v in V precisely one triple that contains v.
21
![Page 22: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/22.jpg)
Reduction
Conversely, if we solveAx=(1,…,1)t
for x in {0,1}n, then each row has the following interpretation:
For v in V, v is contained in precisely one of the triples in M ={ e in E | xe = 1}.
The fact that Ax evaluates to the all one vector means that each element of V occurs precisely once among the hyperedges in M.
So M is a perfect matching. Q.e.d 22
![Page 23: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/23.jpg)
Integer Linear Programming
The integer linear programming problem is: For a given matrix A with integer entries, and a vector b of integer entries, find a vector x with integer entries such that
Ax bThe corresponding decision problem ILP is whether such a vector x exists.
23
![Page 24: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/24.jpg)
ILP
Theorem: ILP is NP-complete.
Proof: We note that ZOE is a special case of ILP. Indeed, each row equation ax=b of ZOE can be written in terms of the inequalities ax<=b and –ax<=-b. Add for each variable xi the inequalities
xi <= 1 and -xi <=0. q.e.d.
24
![Page 25: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/25.jpg)
25
Dealing with NP-Complete Problems
[based on slides by Prof. Welch]
![Page 26: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/26.jpg)
26
Dealing with NP-Completeness
• Suppose the problem you need to solve is NP-complete. What do you do next?
• hope/show bad running time does not happen for inputs of interest
• find heuristics to improve running time in many cases (but no guarantees)
• find a polynomial time algorithm that is guaranteed to give an answer close to optimal
![Page 27: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/27.jpg)
27
Optimization Problems
• Concentrate on approximation algorithms for optimization problems:• every candidate solution has a positive cost
• Minimization problem: goal is to find smallest cost solution• Ex: Vertex cover problem, cost is size of VC
• Maximization problem: goal is to find largest cost solution• Ex: Clique problem, cost is size of clique
![Page 28: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/28.jpg)
28
Approximation Algorithms
• An approximation algorithm for an optimization problem• runs in polynomial time and• always returns a candidate solution
![Page 29: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/29.jpg)
29
Measuring How Good an Approximation Algorithm Is
• Ratio bound: bound the ratio of the cost of the solution returned by the approximation algorithm and the cost of an optimal solution• minimization problem: cost of approx solution / cost of optimal solution• maximization problem:cost of optimal solution / cost of approx solution
• So ratio is always at least 1, goal is to get it as close to 1 as we can
![Page 30: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/30.jpg)
30
Alternative Measurements
• Relative error:|cost of approx soln – cost of optimal
soln|/cost of optimal soln• Difference:|cost of approx soln – cost of optimal
soln|
![Page 31: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/31.jpg)
31
Approximation Algorithm for Minimum Vertex Cover Problem• input: G = (V,E)• C := • E' := E• while E' ≠ do• pick any (u,v) in E'• C := C U {u,v}• remove from E' every edge incident on u or
v• endwhile• return C
![Page 32: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/32.jpg)
32
Min VC Approx Algorithm
• Time is O(E), which is polynomial.• How good an approximation does it
provide?• Let's look at an example.
![Page 33: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/33.jpg)
33
Min VC Approx Alg Example
a gfe
dcb
choose (b,c): remove (b,c), (b,a), (c,e), (c,d)choose (e,f): remove (e,f), (e,d), (d,f)Answer: {b,c,e,f,d,g}Optimal answer: {b,d,e}Algorithm's ratio bound is 6/3 = 2.
![Page 34: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/34.jpg)
34
Ratio Bound of Min VC Alg
Theorem: Min VC approximation algorithm has ratio bound of 2.
Proof: Let A be the total set of edges chosen to be removed.
• Size of VC returned is 2*|A| since no two edges in A share an endpoint.
• Size of A is at most size of a min VC since min VC must contain at least one node for each edge in A.
• Thus cost of approx solution is at most twice cost of optimal solution
![Page 35: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/35.jpg)
35
More on Min VC Approx Alg
• Why not run the approx alg and then divide by 2 to get the optimal cost?
• Because answer is not always exactly twice the optimal, just never more than twice the optimal.
• For instance, a different choice of edges to remove gives a different answer:• Choosing (d,e) and then (b,c) produces answer
{b,c,d,e} with cost 4 as opposed to optimal cost 3
![Page 36: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/36.jpg)
36
Triangle Inequality
• Assume TSP inputs with the triangle inequality:• distances satisfy property that for all cities
a, b, and c, dist(a,c) ≤ dist(a,b) + dist(b,c)• i.e., shortest path between 2 cities is direct
route
• Depending on what you are modeling with the distances, an application might or might satisfy this condition.
![Page 37: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/37.jpg)
37
TSP Approximation Algorithm
• input: set of cities and distances b/w them that satisfy the triangle inequality
• create complete graph G = (V,E), where V is set of cities and weight on edge (a,b) is dist(a,b)
• compute MST of G• Go twice around the MST to get a tour
(that will have duplicates)• Remove duplicates to avoid visiting a city
more than once
![Page 38: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/38.jpg)
38
Analysis of TSP Approx Alg
• Running time is polynomial (creating complete graph takes O(V2) time, Kruskal's MST algorithm takes time O(E log E) = O(V2log V).
• How good is the quality of the solution?
![Page 39: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/39.jpg)
39
Analysis of TSP Approx Alg
• cost of approx solution ≤ 2*weight of MST, by triangle inequality
• Why?
ca
bwhen tour created bygoing around the MST is adjusted to remove duplicatenodes, the two red edgesare replaced with thegreen diagonal edge
![Page 40: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/40.jpg)
40
Analysis of TSP Approx Alg
• weight of MST < length of min tour• Why? • Min tour minus one edge is a
spanning tree T, whose weight must be at least the weight of MST.
• And weight of min tour is greater than weight of T.
![Page 41: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/41.jpg)
41
Analysis of TSP Approx Alg
• Putting the pieces together:• cost of approx solution ≤ 2*weight of MST
≤ 2*cost of min tour• So approx ratio is at most 2.
Suppose we don't have triangle inequality.How well can we approximate min tour?
![Page 42: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/42.jpg)
42
TSP Without Triangle Inequality
Theorem: If P ≠ NP, then no polynomial time approximation algorithm for TSP (w/o triangle inequality) can have a constant ratio bound.
Proof: We will show that if there is such an approximation algorithm, then we could solve a known NP-complete problem (Hamiltonian cycle) in polynomial time, so P would equal NP.
![Page 43: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/43.jpg)
43
HC Exact Algorithm using TSP Approximation Algorithm
input: G = (V,E)1. convert G to this TSP input:
• one city for each node in V• distance between cities u and v is 1 if
(u,v) is in E• distance between cities u and v is r*|V| if
(u,v) is not in E, where r is the ratio bound of the TSP approx alg
• Note: This TSP input does not satisfy the triangle inequality
![Page 44: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/44.jpg)
44
HC (Exact) Algorithm Using TSP Approximation Algorithm
2. run TSP approx alg on the input just created
3. if cost of approx solution returned in step 2 is ≤ r*|V| then return YES else return NO
Running time is polynomial.
![Page 45: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/45.jpg)
45
Correctness of HC Algorithm
• If G has a HC, then optimal tour in TSP input constructed corresponds to that cycle and has weight |V|.
• Approx algorithm returns answer with cost at most r*|V|.
• So if G has HC, then algorithm returns YES.
![Page 46: 1 NP-Completeness: 3D Matching Andreas Klappenecker](https://reader036.vdocuments.mx/reader036/viewer/2022062407/56649e705503460f94b6d7b8/html5/thumbnails/46.jpg)
46
Correctness of HC Algorithm
• If G has no HC, then optimal tour for TSP input constructed must use at least one edge not in G, which has weight r*|V|.
• So weight of optimal tour is > r*|V|, and answer returned by approx alg has weight > r*|V|.
• So if G has not HC, then algorithm returns NO.