Presentation is loading. Please wait.

Presentation is loading. Please wait.

A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications Ryan Williams Computer Science Department, Carnegie Mellon University Presented.

Similar presentations


Presentation on theme: "A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications Ryan Williams Computer Science Department, Carnegie Mellon University Presented."— Presentation transcript:

1 A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications Ryan Williams Computer Science Department, Carnegie Mellon University Presented by Mu-Fen Hsieh

2 MAX-CUT Given a graph G = (V,E), positive integer N, is there a partition of V into disjoint sets S and T=V-S such that the number of the edges from E that have one endpoint in S and one endpoint in T is at least N? Proved to be NP-hard by reducing from MAX- 2-SAT [Karp, 1972] Can be solved in polynomial time if G is planar [Hadlock, 1975], [Orlova et al., 1972] Can be transformed to an instance of MAX-2-SAT in polynomial time

3 MAX 2-Satisfiability Given a set U of n variables, a collection C of m clauses over U such that each clause has |c| = 2, positive integer N ≤ |C|, is there a truth assignment for U that simultaneously satisfies at least N of the clauses in C? [Garey et al., 1976] Solvable in polynomial time if N = |C| [Even et al., 1976] Approximated in O((2-ε) n ), O((2-ε) m ) [Dantsin et al.,2001] Previous best worst-case bound: O*(2 m/5 ) [Hirsch et al., 2003] This paper counts number of truth assignments that simultaneously satisfies exactly N of the clauses in C in O(m 3 2 ωn/3 ) time

4 Encode Max-Cut as Max-2-SAT The size of the cut associated to the assignment = |E| - number of violated clauses TT T FFF

5 Split and listsplit list Split and list: split the set of n variables into k partitions of equal size, and list 2 n/k variable assignments for each partition. Set k=3, we get O(m 3 2 ωn/3 ) MAX-CUT MAX-2-SAT k-CLIQUE Matrix Multiplication Polynomial-time transformation Split and list

6 Fast k-Clique Detecting and Counting Locate 3-clique: given G = (V,E) with n = |V|, let A(G) be its adjacency matrix. tr(A(G) 3 ) = 6 * (number of triangles in G) 0 1 1 1 0 1 1 1 0 A(G)= 2 1 1 1 2 1 1 1 2 A(G)2=A(G)2= 2 3 3 3 2 3 3 3 2 A(G)3=A(G)3=

7 Fast k-Clique Detecting and Counting Locate k-clique: build a graph G k/3 = (V k/3,E k/3 ) where V k/3 = {(k/3)-cliques in G} and E k/3 = {{c 1,c 2 }:c 1,c 2 V k/3,c 1 c 2 is a (2k/3)-clique in G} Each triangle in G k/3 corresponds to a unique k-clique in G? Time complexity: For example, to locate 6-clique:

8 Split and List Step 1: Delegating responsibility Define responsibility map r: C →(|k| ) x 1 x 2 0 0 0 1 1 0 1 1 x 3 x 4 0 0 0 1 1 0 1 1 x 5 x 6 0 0 0 1 1 0 1 1

9 Split and List (Cont.) Step 2: Weighting accordingly Consider the partitions as a weighted k- partite complete graph. Assign weights to both vertices and edges. x 1 x 2 0 0 0 1 1 0 1 1 x 3 x 4 0 0 0 1 1 0 1 1 x 5 x 6 0 0 0 1 1 0 1 1 # of cliques = 2 n # of vertices = k2 k

10 Split and List (Cont.) Step 3: Enumerate unweighted graphs reducing from the weighted graph in step 2. Each unweighted graph, constructed in amortized time O(1), consists of cliques of weight N. Decompose N into different combinations of weights ( nonnegative integers) Consider variables y 1,2, y 1,3,…,y k-1,k where y 1,2 {0,1,2,…,N}. Solve the following equation: y 1,2 +y 1,3 +…+y 1,k + y 2,1 …+y k-1,k = N v i : some node in partition i w(): weight of some node or some edge w(v 1 ) + w(v 2 ) + w({v 1,v 2 }) w(v j ) + w({v i,v j }) w({v i,v j })

11 Time Complexity Set k=3, we get O(m 3 2 ωn/3 )


Download ppt "A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications Ryan Williams Computer Science Department, Carnegie Mellon University Presented."

Similar presentations


Ads by Google