CS151 Complexity Theory Lecture 6 April 15, 2004.

Slides:



Advertisements
Similar presentations
COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Advertisements

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.
The Theory of NP-Completeness
Great Theoretical Ideas in Computer Science for Some.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
CS151 Complexity Theory Lecture 6 April 15, 2015.
CS151 Complexity Theory Lecture 5 April 13, 2015.
CS21 Decidability and Tractability
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
CS151 Complexity Theory Lecture 5 April 13, 2004.
On the Hardness of Graph Isomorphism Jacobo Tor á n SIAM J. Comput. Vol 33, p , Presenter: Qingwu Yang April, 2006.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Graphs 4/16/2017 8:41 PM NP-Completeness.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
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.
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.
Lecture 22 More NPC problems
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 3-COLOURING: Input: Graph G Question: Does there exist a way to 3-colour the vertices of G so that adjacent vertices are different colours? 1.What could.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
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.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong The Cook-Levin.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 29.
1 Suppose I construct a TM M f which: 1. Preserves its input u. 2. Simulates a machine M b on input ε. 3. If M b hangs on input ε, force an infinite loop.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
CSC 413/513: Intro to Algorithms
NP-Completeness Note. Some illustrations are taken from (KT) Kleinberg and Tardos. Algorithm Design (DPV)Dasgupta, Papadimitriou, and Vazirani. Algorithms.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Given this 3-SAT problem: (x1 or x2 or x3) AND (¬x1 or ¬x2 or ¬x2) AND (¬x3 or ¬x1 or x2) 1. Draw the graph that you would use if you want to solve this.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
P & NP.
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Computability and Complexity
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Chapter 34: NP-Completeness
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Instructor: Aaron Roth
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Lecture 23 NP-Hard Problems
Presentation transcript:

CS151 Complexity Theory Lecture 6 April 15, 2004

CS151 Lecture 62 Outline CLIQUE monotone circuits and problems Razborov’s lower bound for monotone circuits computing CLIQUE

April 15, 2004CS151 Lecture 63 Clique Recall… IS = { (G, k) | G is a graph with an independent set V’  V of size ≥ k } (independent set = set of vertices no 2 of which are connected by an edge) IS is NP-complete.

April 15, 2004CS151 Lecture 64 Clique CLIQUE = { (G, k) | G is a graph with a clique of size ≥ k } (clique = set of vertices every pair of which are connected by an edge) CLIQUE is NP-complete. –reduction?

April 15, 2004CS151 Lecture 65 Circuit lower bounds We think that NP requires exponential-size circuits. Where should we look for a problem to attempt to prove this? Intuition: “hardest problems” – i.e., NP- complete problems

April 15, 2004CS151 Lecture 66 Circuit lower bounds Formally: –if any problem in NP requires super- polynomial size circuits –then every NP-complete problem requires super-polynomial size circuits –Proof idea: poly-time reductions can be performed by poly-size circuits using a variant of CVAL construction

April 15, 2004CS151 Lecture 67 Monotone problems Definition: monotone language = language L  {0,1} * such that x  L implies x’  L for all x  x’. –flipping a bit of the input from 0 to 1 can only change the output from “no” to “yes” (or not at all)

April 15, 2004CS151 Lecture 68 Monotone problems some NP-complete languages are monotone –e.g. CLIQUE (given as adjacency matrix): –others: HAMILTON CYCLE, SET COVER… –but not SAT, KNAPSACK…

April 15, 2004CS151 Lecture 69 Monotone circuits A restricted class of circuits: Definition: monotone circuit = circuit whose gates are ANDs (  ), ORs (  ), but no NOTs can only compute monotone functions –monotone functions closed under AND, OR

April 15, 2004CS151 Lecture 610 Monotone circuits A question: Do all poly-time computable monotone functions have poly-size monotone circuits? –recall: true in non-monotone case

April 15, 2004CS151 Lecture 611 Monotone circuits A monotone circuit for CLIQUE n,k Input: graph G = (V,E) as adj. matrix, |V|=n –variable x i,j for each possible edge (i,j) ISCLIQUE(S) = monotone circuit that = 1 iff S  V is a clique:  i,j  S x i,j CLIQUE n, k computed by monotone circuit:  S  V, |S| = k ISCLIQUE(S)

April 15, 2004CS151 Lecture 612 Monotone circuits Size of this monotone circuit for CLIQUE n,k : when k = n 1/4, size is approximately:

April 15, 2004CS151 Lecture 613 Monotone circuits Theorem (Razborov 85): monotone circuits for CLIQUE n, k with k = n 1/4 must have size at least 2 Ω(n 1/8 ). Proof: –rest of lecture

April 15, 2004CS151 Lecture 614 Proof idea “method of approximation” suppose C is a monotone circuit for CLIQUE n, k build another monotone circuit CC that “approximates” C gate-by-gate 

April 15, 2004CS151 Lecture 615 Proof idea on test collection of positive/negative instances of CLIQUE n,k : –local property: few errors at each gate –global property: many errors on test collection Conclude: C has many gates

April 15, 2004CS151 Lecture 616 Notation input: graph G = (V, E) variable x j,k for each potential edge (j, k) CC(X 1, X 2, … X m ), where X i  V, means:  i (  j,k  X i x j,k ) For example: CC(X 1, X 2, … X m ) where the X i range over all k-subsets of V –this is the obvious monotone circuit for CLIQUE n,k from a previous slide.

April 15, 2004CS151 Lecture 617 Preview approximate circuit CC(X 1, X 2, … X m ) n = # nodes k = n 1/4 = size of clique h = n 1/8 = max. size of subsets X i –this is “global property” that ensures lots of errors –many graphs G with no k-cliques, but clique on X i of size h G XiXi

April 15, 2004CS151 Lecture 618 Preview approximate circuit CC(X 1, X 2, … X m ) p = n 1/8 log n M = (p – 1) h h! max # of subsets is M (so m ≤ M) –critical for “local property” that ensures few errors at each gate

April 15, 2004CS151 Lecture 619 Building CC CC (“crude circuit”) for circuit C defined inductively as follows: –CC for single variable x is just CC({x}) no errors yet! –CC for circuit C of form: –“approximate OR” of CC for C’, CC for C’’  C’C’’

April 15, 2004CS151 Lecture 620 Building CC –CC for circuit C of form: –“approximate AND” of CC for C’, CC for C’’ –“approximate OR” and “approximate AND” steps introduce errors  C’C’’

April 15, 2004CS151 Lecture 621 Approximate OR CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) exact OR: CC(X 1,X 2,…X m’,Y 1,Y 2,…Y m’’ ) –set sizes still ≤ h –may be up to 2M sets; need to reduce to M  C’C’’

April 15, 2004CS151 Lecture 622 Approximate OR –throw away sets? bad:many errors –throw away overlapping sets? – better –throw away special configuration of overlapping sets – best

April 15, 2004CS151 Lecture 623 Sunflowers Definition: (h, p)-sunflower is a family of p sets (“petals”) each of size at most h, such that intersection of every pair is a subset S (the “core”).

April 15, 2004CS151 Lecture 624 Sunflowers Lemma (Erdös-Rado): Every family of more than M = (p-1) h h! sets, each of size at most h, contains an (h, p)-sunflower. Proof: –not hard –in Papadimitriou

April 15, 2004CS151 Lecture 625 Approximate OR CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) exact OR: CC(X 1,X 2,…X m’,Y 1,Y 2,…Y m’’ ) –while more than M sets, find (h, p)-sunflower; replace with its core (“pluck”) approximate OR: CC(pluck(X 1,X 2,…X m’,Y 1,Y 2,…Y m’’ ) )  C’C’’

April 15, 2004CS151 Lecture 626 Approximate AND CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) exact AND: CC( {(X i  Y j ) : 1 ≤ i ≤ m’, 1 ≤ j ≤ m’’} ) –some sets may be larger than h; discard them –may be up to M 2 sets. While > M sets, find (h, p)- sunflower; replace with its core (“pluck”) approximate AND: CC( pluck ( {(X i  Y j ) : |X i  Y j | ≤ h } ))  C’C’’

April 15, 2004CS151 Lecture 627 Test collection Positive instances: all graphs G on n nodes with a k-clique and no other edges. G

April 15, 2004CS151 Lecture 628 Test collection Negative instances: –k-1 colors –color each node uniformly at random with one of the colors –edge (x, y) iff x, y different colors –no k-clique –include graphs in their multiplicities makes analysis easier (k-1)-partite graph

April 15, 2004CS151 Lecture 629 Analysis “false positive”: –negative example –gate is supposed to output 0, but our CC outputs 1 Lemma: each approximation step introduces at most M 2 (k-1) n /2 p false positives.

April 15, 2004CS151 Lecture 630 Analysis Proof: –case 1: OR CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) CC(pluck(X 1,X 2,…X m’,Y 1,Y 2,…Y m’’ )) –given “plucking”: replace Z 1 … Z p with Z –bad case: clique on Z, and each petal is missing at least one edge  C’C’’

April 15, 2004CS151 Lecture 631 Analysis –what is the probability of a repeated color in each Z i but no repeated colors in Z? Pr[R(Z 1 )  R(Z 2 )…R(Z p )   R(Z)] ≤ Pr[R(Z 1 )  R(Z 2 )…R(Z p )|  R(Z)] (definition of conditional probability) =  i Pr[R(Z i ) |  R(Z)] (independent events given no repeats in Z) ≤  i Pr[R(Z i )] (obviously larger) event R(S) = repeated colors in S

April 15, 2004CS151 Lecture 632 Analysis –for every pair of vertices in Z i, probability of same color is 1/(k-1) –R(Z i ) ≤ (h choose 2)/(k-1) ≤ ½ –  i Pr[R(Z i )] ≤ (½) p –# negative examples is (k-1) n –# false positives in given plucking step is at most (½) p (k-1) n –at most M plucking steps –# false positives at OR ≤ M(½) p (k-1) n

April 15, 2004CS151 Lecture 633 Analysis –case 2: AND CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) CC(pluck( {(X i  Y j ) : |X i  Y j | ≤ h } )) –discarding sets (X i  Y j ) larger than h can only make circuit accept fewer examples no false positives here  C’C’’

April 15, 2004CS151 Lecture 634 Analysis –up to M 2 pluckings –each introduces at most (½) p (k-1) n false positives (previous slides) –# false positives at AND ≤ M 2 (½) p (k-1) n

April 15, 2004CS151 Lecture 635 Analysis “false negative”: –positive example; –gate is supposed to output 1, but our CC outputs 0 Lemma: each approximation step introduces at most false negatives.

April 15, 2004CS151 Lecture 636 Analysis Proof: –Case 1: OR –plucking can only make circuit accept more examples no false negatives here. –Case 2: AND CC’(X 1,X 2,…X m’ ) CC’’(Y 1,Y 2,…Y m’’ ) CC(pluck( {(X i  Y j ) : |X i  Y j | ≤ h } ))  C’C’’

April 15, 2004CS151 Lecture 637 Analysis –discarding set Z = (X i  Y j ) larger than h may introduce false negatives –any clique that includes Z is a problem; there are at most such positive examples, since |Z|>h –at most M 2 such deletions –we’ve seen plucking doesn’t matter

April 15, 2004CS151 Lecture 638 Analysis Lemma: every non-trivial CC outputs 1 on at least ½ of the negative examples. Proof: –CC contains some set X of size at most h –accepts all neg. examples with different colors in X –probability X has repeated colors is R(X) ≤ (h choose 2)/(k-1) ≤ ½ –probability over negative examples that CC accepts is at least ½.

April 15, 2004CS151 Lecture 639 Finishing up First possibility: trivial CC, rejects all positive examples –every positive example must have been false negative at some gate –number of gates must be at least:

April 15, 2004CS151 Lecture 640 Finishing up Second possibility: CC accepts at least ½ of negative examples –every negative example must have been false positive at some gate –number of gates must be at least:

April 15, 2004CS151 Lecture 641 Finishing up Both quantities are at least 2 Ω(n 1/8 )

April 15, 2004CS151 Lecture 642 Conclusions A question (true in non-monotone case): Do all poly-time computable monotone functions have poly-size monotone circuits? if yes, then we would have just proved P ≠ NP –why?

April 15, 2004CS151 Lecture 643 Conclusions unfortunately, answer is no Razborov later showed similar (super- polynomial) lower bound for MATCHING, which is in P…