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

Slides:



Advertisements
Similar presentations
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Advertisements

The Stable Circuit Problem A Short Introduction Brendan Juba.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
NP-Completeness: Reductions
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Semi-Definite Algorithm for Max-CUT Ran Berenfeld May 10,2005.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
NP-Complete Problems Problems in Computer Science are classified into
NP-complete and NP-hard problems
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Analysis of Algorithms CS 477/677
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
Clique Cover Cook’s Theorem 3SAT and Independent Set
The Maximum Independent Set Problem Sarah Bleiler DIMACS REU 2005 Advisor: Dr. Vadim Lozin, RUTCOR.
Hardness Results for Problems
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
Design Techniques for Approximation Algorithms and Approximation Classes.
Lecture 22 More NPC problems
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Stephane Durocher 1 Debajyoti Mondal 1 Md. Saidur Rahman 2 1 Department of Computer Science, University of Manitoba 2 Department of Computer Science &
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
1.1 Chapter 3: Proving NP-completeness Results Six Basic NP-Complete Problems Some Techniques for Proving NP-Completeness Some Suggested Exercises.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
Inspiration Versus Perspiration: The P = ? NP Question.
28.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
CSC 413/513: Intro to Algorithms
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
Approximation Algorithms based on linear programming.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
CHAPTER SIX T HE P ROBABILISTIC M ETHOD M1 Zhang Cong 2011/Nov/28.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Chapter 10 NP-Complete Problems.
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
CS154, Lecture 16: More NP-Complete Problems; PCPs
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP-Completeness
NP-Completeness Yin Tat Lee
CSE 6408 Advanced Algorithms.
CS154, Lecture 16: More NP-Complete Problems; PCPs
Trevor Brown DC 2338, Office hour M3-4pm
Instructor: Aaron Roth
Presentation transcript:

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 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

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

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

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

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

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:

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

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 x 3 x x 5 x # of cliques = 2 n # of vertices = k2 k

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 })

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