CS151 Complexity Theory Lecture 13 May 15, 2017.

Slides:



Advertisements
Similar presentations
Sublinear Algorithms … Lecture 23: April 20.
Advertisements

COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Complexity Theory Lecture 8
A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Complexity Theory Lecture 7
Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
IP=PSPACE Nikhil Srivastava CPSC 468/568. Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Dana Moshkovitz. Back to NP L  NP iff members have short, efficiently checkable, certificates of membership. Is  satisfiable?  x 1 = truex 11 = true.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 20, 2004.
1 Adapted from Oded Goldreich’s course lecture notes.
1 Perfect Matchings in Bipartite Graphs An undirected graph G=(U  V,E) is bipartite if U  V=  and E  U  V. A 1-1 and onto function f:U  V is a perfect.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
CS151 Complexity Theory Lecture 15 May 18, CS151 Lecture 152 Outline IP = PSPACE Arthur-Merlin games –classes MA, AM Optimization, Approximation,
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
1 Interactive Proofs proof systems interactive proofs and their power Arthur-Merlin games.
May 9, New Topic The complexity of counting.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
CS151 Complexity Theory Lecture 12 May 6, QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
Probabilistic verification Mario Szegedy, Rutgers www/cs.rutgers.edu/~szegedy/07540 Lecture 1.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
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.
The NP class. NP-completeness
More NP-Complete and NP-hard Problems
P & NP.
Topic 36: Zero-Knowledge Proofs
Umans Complexity Theory Lectures
Computational Complexity Theory
Probabilistic Algorithms
Introduction to Randomized Algorithms and the Probabilistic Method
Hard Problems Introduction to NP
Perfect Matchings in Bipartite Graphs
CS21 Decidability and Tractability
Intro to Theory of Computation
Intro to Theory of Computation
CS21 Decidability and Tractability
ICS 353: Design and Analysis of Algorithms
More NP-complete Problems
Richard Anderson Lecture 25 NP-Completeness
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Umans Complexity Theory Lectures
CS21 Decidability and Tractability
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
CSE 6408 Advanced Algorithms.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Umans Complexity Theory Lectures
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 7 April 23, 2019.
The Polynomial Hierarchy Enumeration Problems 7.3.3
CS151 Complexity Theory Lecture 12 May 10, 2019.
Instructor: Aaron Roth
Instructor: Aaron Roth
Lecture 23 NP-Hard Problems
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

CS151 Complexity Theory Lecture 13 May 15, 2017

Relationship to other classes To compare to classes of decision problems, usually consider P#P which is a decision class… easy: NP, coNP  P#P easy: P#P  PSPACE Toda’s Theorem (homework): PH  P#P. May 15, 2017

Relationship to other classes Question: is #P hard because it entails finding NP witnesses? …or is counting difficult by itself? May 15, 2017

Bipartite Matchings Definition: G = (U, V, E) bipartite graph with |U| = |V| a perfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint May 15, 2017

Bipartite Matchings Definition: G = (U, V, E) bipartite graph with |U| = |V| a perfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint May 15, 2017

Bipartite Matchings #MATCHING: given a bipartite graph G = (U, V, E) how many perfect matchings does it have? Theorem: #MATCHING is #P-complete. But… can find a perfect matching in polynomial time! counting itself must be difficult May 15, 2017

Cycle Covers Claim: 1-1 correspondence between cycle covers in G’ and perfect matchings in G #MATCHING and #CYCLE-COVER parsimoniously reducible to each other 2 3 1 2 3 4 5 1 4 1 2 3 4 5 5 G = (U, V, E) G’ = (V, E’) May 15, 2017

Cycle Covers cycle cover: collection of node-disjoint directed cycles that touch every node #CYCLE-COVER: given directed graph G = (V, E) how many cycle covers does it have? Theorem: #CYCLE-COVER is #P-complete. implies #MATCHING is #P-complete May 15, 2017

Cycle Cover is #P-complete variable gadget: every cycle cover includes left cycle or right cycle xi xi clause gadget: cycle cover cannot use all three outer edges and each of 7 ways to exclude at least one gives exactly 1 cover using those external edges May 15, 2017

Cycle Cover is #P-complete May 15, 2017

Cycle Cover is #P-complete May 15, 2017

Cycle Cover is #P-complete clause gadget corresponding to (ABC) has “xor” gadget between outer 3 edges and A, B, C A B B A u v xor v’ u’ xor gadget ensures that exactly one of two edges can be in cover C C May 15, 2017

Cycle Cover is #P-complete Proof outline (reduce from #SAT) (x1x2x3)(x3x1) … (x3x2) xor gadgets (exactly 1 of two edges is in cover) clause gadgets . . . x1 x1 x2 x2 x3 x3 N.B. must avoid reducing SAT to MATCHING! variable gadgets May 15, 2017

Cycle Cover is #P-complete Introduce edge weights cycle cover weight is product of weights of its edges “implement” xor gadget by weight of cycle cover that “obeys” xor multiplied by 4 (mod N) weight of cycle cover that “violates” xor multiplied by N large integer May 15, 2017

Cycle Cover is #P-complete N-1 Weighted xor gadget: weight of cycle cover that “obeys” xor multiplied by 4 (mod N) weight of cycle cover that “violates” xor multiplied by N u v u v xor N-1 v’ u’ v’ 2 u’ N-1 3 (unlabeled weights are 1) May 15, 2017

Cycle Cover is #P-complete Simulating positive edge weights need to handle 2, 3, 4, 5, …, N-1 2 2k k times 3 May 15, 2017

Cycle Cover is #P-complete (x1x2x3)(x3x1) … (x3x2) m = # xor gadgets; n = # variables; N > 4m2n # covers (mod N) = (4m)¢(#sat. assignments) xor gadget (exactly 1 of two edges is in cover) clause gadget . . . x1 variable gadgets: x1 x2 x2 x3 x3 May 15, 2017

New Topic proof systems interactive proofs and their power Arthur-Merlin games May 15, 2017

complexity insight: meaningless unless can be efficiently verified Proof systems L = { (A, 1k) : A is a true mathematical assertion with a proof of length k} What is a “proof”? complexity insight: meaningless unless can be efficiently verified May 15, 2017

Proof systems given language L, goal is to prove x  L proof system for L is a verification algorithm V completeness: x  L  9 proof, V accepts (x, proof) “true assertions have proofs” soundness: x  L  8 proof*, V rejects (x, proof*) “false assertions have no proofs” efficiency: 8 x, proof: V(x, proof) runs in polynomial time in |x| May 15, 2017

Classical Proofs previous definition: “classical” proof system recall: L  NP iff expressible as L = { x | 9y, |y| < |x|k, (x, y)  R } and R  P. NP is the set of languages with classical proof systems (R is the verifier) May 15, 2017

Interactive Proofs Two new ingredients: randomness: verifier tosses coins, errs with some small probability interaction: rather than “reading” proof, verifier interacts with computationally unbounded prover NP proof systems lie in this framework: prover sends proof, verifier does not use randomness May 15, 2017

Interactive Proofs interactive proof system for L is an interactive protocol (P, V) common input: x Prover Verifier . . . # rounds = poly(|x|) accept/reject May 15, 2017

Interactive Proofs interactive proof system for L is an interactive protocol (P, V) completeness: x  L  Pr[V accepts in (P, V)(x)]  2/3 soundness: x  L  8 P* Pr[V accepts in (P*, V)(x)]  1/3 efficiency: V is p.p.t. machine repetition: can reduce error to any ε May 15, 2017

IP = {L : L has an interactive proof system} Observations/questions: philosophically interesting: captures more broadly what it means to be convinced a statement is true clearly NP  IP. Potentially larger. How much larger? if larger, randomness is essential (why?) May 15, 2017

Graph Isomorphism graphs G0 = (V, E0) and G1 = (V, E1) are isomorphic (G0  G1) if exists a permutation π:V  V for which (x, y)  E0  (π(x), π(y))  E1 1 1 1 4 2 3 4 3 2 3 4 2 May 15, 2017

Graph Isomorphism GI = {(G0, G1) : G0  G1 } GNI = complement of GI in NP not known to be in P, or NP-complete GNI = complement of GI not known to be in NP Theorem (GMW): GNI  IP indication IP may be more powerful than NP May 15, 2017

GNI in IP interactive proof system for GNI: input: (G0, G1) Prover Verifier H = π(Gc) flip coin c  {0,1}; pick random π if H  G0 r = 0, else r = 1 r accept iff r = c May 15, 2017

GNI in IP completeness: soundness: if G0 not isomorphic to G1 then H is isomorphic to exactly one of (G0, G1) prover will choose correct r soundness: if G0  G1 then prover sees same distribution on H for c = 0, c = 1 no information on c  any prover P* can succeed with probability at most 1/2 May 15, 2017

The power of IP We showed GNI 2 IP GNI  IP suggests IP more powerful than NP, since we don’t know how to show GNI in NP GNI in coNP Theorem (LFKN): coNP  IP May 15, 2017

The power of IP Proof idea: input: φ(x1, x2, …, xn) prover: “I claim φ has k satisfying assignments” true iff φ(0, x2, …, xn) has k0 satisfying assignments φ(1, x2, …, xn) has k1 satisfying assignments k = k0 + k1 prover sends k0, k1 verifier sends random c {0,1} prover recursively proves “φ’ = φ(c, x2, …, xn) has kc satisfying assignments” at end, verifier can check for itself. May 15, 2017

The power of IP Analysis of proof idea: Completeness: φ(x1, x2, …, xn) has k satisfying assignments  accept with prob. 1 Soundness: φ(x1, x2, …, xn) does not have k satisfying assigns.  accept prob.  1 – 2-n Why? It is possible that k is only off by one; verifier only catches prover if coin flips c are successive bits of this assignment May 15, 2017

The power of IP Solution to problem (ideas): replace {0,1}n with (Fq)n verifier substitutes random field element at each step vast majority of field elements catch cheating prover (rather than just 1) Theorem: L = { (φ, k): CNF φ has exactly k satisfying assignments} is in IP May 15, 2017

The power of IP First step: arithmetization transform φ(x1, … xn) into polynomial pφ(x1, x2, … xn) of degree d over a field Fq; q prime > 2n recursively: xi  xi  φ  (1 - pφ) φ  φ’  (pφ)(pφ’) φ  φ’  1 - (1 - pφ)(1 - pφ’) for all x  {0,1}n we have pφ(x) = φ(x) degree d  |φ| can compute pφ(x) in poly time from φ and x May 15, 2017

The power of IP Prover wishes to prove: k = Σx1 = 0, 1Σx2 = 0,1 … Σxn = 0, 1pφ(x1, x2, …, xn) Define: kz = Σx2 = 0,1 … Σxn = 0, 1pφ(z, x2, …, xn) prover sends: kz for all z  Fq verifier: checks that k0 + k1 = k sends random z  Fq continue with proof that kz = Σx2 = 0,1 … Σxn = 0, 1pφ(z, x2, …, xn) at end: verifier checks for itself May 15, 2017

k = Σx1 = 0, 1Σx2 = 0,1 … Σxn = 0, 1pφ(x1, x2, …, xn) The power of IP Prover wishes to prove: k = Σx1 = 0, 1Σx2 = 0,1 … Σxn = 0, 1pφ(x1, x2, …, xn) Define: kz = Σx2 = 0,1 … Σxn = 0, 1pφ(z, x2, …, xn) a problem: can’t send kz for all z  Fq solution: send the polynomial ! recall degree d  |φ| May 15, 2017

The actual protocol input: (φ, k) Prover Verifier p1(x) p1(x) = Σx2,…,xn  {0,1} pφ(x, x2, …, xn) p1(0)+p1(1)=k? pick random z1 in Fq z1 p2(x) = Σx3,…,xn  {0,1} pφ(z1, x, x3, …, xn) p2(x) p2(0)+p2(1)=p1(z1)? pick random z2 in Fq z2 p3(x) = Σx4,…,xn  {0,1} pφ(z1, z2, x, x4 …, xn) p3(x) p3(0)+p3(1)=p2(z2)? pick random z3 in Fq . . pn(x) pn(0)+pn(1)=pn-1(zn-1)? pick random zn in Fq pn(zn) = pφ(z1, z2, …, zn)? May 15, 2017

Analysis of protocol Completeness: if (φ, k)  L then honest prover on previous slide will always cause verifier to accept May 15, 2017

Analysis of protocol Soundness: let pi(x) be the correct polynomials let pi*(x) be the polynomials sent by (cheating) prover (φ, k)  L  p1(0) + p1(1) ≠ k either p1*(0) + p1*(1) ≠ k (and V rejects) or p1* ≠ p1  Prz1[p1*(z1) = p1(z1)]  d/q  |φ|/2n assume (pi+1(0)+pi+1(1)= ) pi(zi) ≠ pi*(zi) either pi+1*(0) + pi+1*(1) ≠ pi*(zi) (and V rejects) or pi+1* ≠ pi+1  Przi+1[pi+1*(zi+1) = pi+1(zi+1)]  |φ|/2n May 15, 2017

Analysis of protocol Soundness (continued): if verifier does not reject, there must be some i for which: pi* ≠ pi and yet pi*(zi) = pi(zi) for each i, probability is  |φ|/2n union bound: probability that there exists an i for which the bad event occurs is n|φ|/2n  poly(n)/2n << 1/3 May 15, 2017

Analysis of protocol Conclude: L = { (φ, k): CNF φ has exactly k satisfying assignments} is in IP L is coNP-hard, so coNP IP Question remains: NP, coNP  IP. Potentially larger. How much larger? May 15, 2017

IP = PSPACE Theorem: (Shamir) IP = PSPACE Note: IP  PSPACE enumerate all possible interactions, explicitly calculate acceptance probability interaction extremely powerful ! An implication: you can interact with master player of Generalized Geography and determine if she can win from the current configuration even if you do not have the power to compute optimal moves! May 15, 2017