1 / 11

A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications

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

alissa
Download Presentation

A New Algorithm for Optimal 2-Constraint Satisfaction and Its Implications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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*(2m/5) [Hirsch et al., 2003] • This paper counts number of truth assignments that simultaneously satisfies exactly N of the clauses in C in O(m32ωn/3) time

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

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

  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) 2 3 3 3 2 3 3 3 2 0 1 1 1 0 1 1 1 0 2 1 1 1 2 1 1 1 2 A(G)3= A(G)= A(G)2=

  7. Fast k-Clique Detecting and Counting • Locate k-clique: build a graph Gk/3 = (Vk/3,Ek/3) whereVk/3 = {(k/3)-cliques in G} and Ek/3 ={{c1,c2}:c1,c2 Vk/3,c1c2 is a (2k/3)-clique in G} • Each triangle in Gk/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| ) x5x6 0 00 11 01 1 x1x2 0 00 11 01 1 x3x4 0 00 11 01 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. x5x6 0 00 11 01 1 # of vertices = k2k x1x2 0 00 11 01 1 x3x4 0 00 11 01 1 # of cliques = 2n

  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 y1,2, y1,3,…,yk-1,k where y1,2 {0,1,2,…,N}. Solve the following equation:y1,2+y1,3+…+y1,k + y2,1 …+yk-1,k = N vi:some node in partition iw(•): weight of some node or some edge w(vj) + w({vi,vj}) w({vi,vj}) w(v1) + w(v2) + w({v1,v2})

  11. Time Complexity • Set k=3, we get O(m32ωn/3)

More Related