Multithreading and Dataflow Architectures CPSC 321 Andreas Klappenecker.
1 NP-Completeness: 3D Matching Andreas Klappenecker.
-
Upload
gerald-ford -
Category
Documents
-
view
225 -
download
2
Transcript of 1 NP-Completeness: 3D Matching Andreas Klappenecker.
1
NP-Completeness:3D Matching
Andreas Klappenecker
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
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
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
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
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
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
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
Simplification
Before constructing gadgets, we note that one can transform any 3SAT instance in one that contains each Boolean literal at most twice.
9
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
25
Dealing with NP-Complete Problems
[based on slides by Prof. Welch]
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
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
28
Approximation Algorithms
• An approximation algorithm for an optimization problem• runs in polynomial time and• always returns a candidate solution
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
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|
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
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.
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.
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
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
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.
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
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?
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
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.
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?
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.
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
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.
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.
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.