CS151 Complexity Theory Lecture 7 April 23, 2019.

Slides:



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

Complexity Theory Lecture 6
COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Circuit and Communication Complexity. Karchmer – Wigderson Games Given The communication game G f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find.
Isolation Technique April 16, 2001 Jason Ku Tao Li.
Having Proofs for Incorrectness
Probabilistic algorithms Section 10.2 Giorgi Japaridze Theory of Computability.
Randomized Algorithms Kyomin Jung KAIST Applied Algorithm Lab Jan 12, WSAC
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
CS151 Complexity Theory Lecture 6 April 15, 2015.
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 20, 2004.
Randomized Computation Roni Parshani Orly Margalit Eran Mantzur Avi Mintz
CS151 Complexity Theory Lecture 7 April 20, 2015.
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
–Def: A language L is in BPP c,s ( 0  s(n)  c(n)  1,  n  N) if there exists a probabilistic poly-time TM M s.t. : 1.  w  L, Pr[M accepts w]  c(|w|),
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
Complexity ©D. Moshkovitz 1 And Randomized Computations The Polynomial Hierarchy.
1 The PCP starting point. 2 Overview In this lecture we’ll present the Quadratic Solvability problem. In this lecture we’ll present the Quadratic Solvability.
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
The Complexity of Primality Testing. What is Primality Testing? Testing whether an integer is prime or not. – An integer p is prime if the only integers.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
1 2 Probabilistic Computations  Extend the notion of “efficient computation” beyond polynomial-time- Turing machines.  We will still consider only.
Computation Model and Complexity Class. 2 An algorithmic process that uses the result of a random draw to make an approximated decision has the ability.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Randomization Carmella Kroitoru Seminar on Communication Complexity.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
Computability & Complexity II Chris Umans Caltech.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
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.
PROBABILITY AND COMPUTING RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS CHAPTER 1 IWAMA and ITO Lab. M1 Sakaidani Hikaru 1.
Complexity Theory in Practice
The NP class. NP-completeness
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
Umans Complexity Theory Lectures
Computational Complexity Theory
Property Testing (a.k.a. Sublinear Algorithms )
Probabilistic Algorithms
Information Complexity Lower Bounds
Umans Complexity Theory Lectures
Richard Anderson Lecture 26 NP-Completeness
CS21 Decidability and Tractability
Umans Complexity Theory Lectures
Algorithms and Complexity
Intro to Theory of Computation
Intro to Theory of Computation
CS 154, Lecture 6: Communication Complexity
CS151 Complexity Theory Lecture 13 May 15, 2017.
ICS 353: Design and Analysis of Algorithms
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
Chapter 11 Limitations of Algorithm Power
Umans Complexity Theory Lectures
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
The Polynomial Hierarchy
Umans Complexity Theory Lectures
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 1 April 2, 2019.
More NP-Complete Problems
Instructor: Aaron Roth
Instructor: Aaron Roth
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Presentation transcript:

CS151 Complexity Theory Lecture 7 April 23, 2019

Randomness 3 examples of the power of randomness communication complexity polynomial identity testing complexity of finding unique solutions randomized complexity classes April 23, 2019

1. Communication complexity two parties: Alice and Bob function f:{0,1}n x {0,1}n → {0,1} Alice holds x ∈ {0,1}n; Bob holds y ∈ {0,1}n Goal: compute f(x, y) while communicating as few bits as possible between Alice and Bob count number of bits exchanged (computation free) at each step: one party sends bits that are a function of held input and received bits so far April 23, 2019

Communication complexity simple function (equality): EQ(x, y) = 1 iff x = y simple protocol: Alice sends x to Bob (n bits) Bob sends EQ(x, y) to Alice (1 bit) total: n + 1 bits (works for any predicate f) April 23, 2019

Communication complexity Can we do better? deterministic protocol? probabilistic protocol? at each step: one party sends bits that are a function of held input and received bits so far and the result of some coin tosses required to output f(x, y) with high probability over all coin tosses April 23, 2019

Communication complexity Theorem: no deterministic protocol can compute EQ(x, y) while exchanging fewer than n+1 bits. Proof: “input matrix”: Y = {0,1}n X = {0,1}n f(x,y) April 23, 2019

Communication complexity assume 1 bit sent at a time, alternating (same proof works in general setting) A sends 1 bit depending only on x: Y = {0,1}n inputs x causing A to send 1 X = {0,1}n inputs x causing A to send 0 April 23, 2019

Communication complexity B sends 1 bit depending only on y and received bit: Y = {0,1}n inputs y causing B to send 1 X = {0,1}n inputs y causing B to send 0 April 23, 2019

Communication complexity at end of protocol involving k bits of communication, matrix is partitioned into at most 2k combinatorial rectangles bits sent in protocol are the same for every input (x, y) in given rectangle conclude: f(x,y) must be constant on each rectangle April 23, 2019

Communication complexity Y = {0,1}n Matrix for EQ: 1 1 1 X = {0,1}n 1 any partition into combinatorial rectangles with constant f(x,y) must have 2n + 1 rectangles protocol that exchanges ≤ n bits can only create 2n rectangles, so must exchange at least n+1 bits. April 23, 2019

Communication complexity protocol for EQ employing randomness? Alice picks random prime p in {1...4n2}, sends: p (x mod p) Bob sends: (y mod p) players output 1 if and only if: (x mod p) = (y mod p) April 23, 2019

Communication complexity O(log n) bits exchanged if x = y, always correct if x ≠ y, incorrect if and only if: p divides |x – y| # primes in range is ≥ 2n # primes dividing |x – y| is ≤ n probability incorrect ≤ 1/2 Randomness gives an exponential advantage!! April 23, 2019

2. Polynomial identity testing Given: polynomial p(x1, x2, …, xn) as arithmetic formula (fan-out 1): * multiplication (fan-in 2) addition (fan-in 2) negation (fan-in 1) - * * + - x1 x2 x3 … xn April 23, 2019

Polynomial identity testing Question: Is p identically zero? i.e., is p(x) = 0 for all x ∈ Fn (assume |F| larger than degree…) “polynomial identity testing” because given two polynomials p, q, we can check the identity p ≡ q by checking if (p – q) ≡ 0 April 23, 2019

Polynomial identity testing try all |F|n inputs? may be exponentially many multiply out symbolically, check that all coefficients are zero? may be exponentially many coefficients can randomness help? i.e., flip coins, allow small probability of wrong answer April 23, 2019

Polynomial identity testing Lemma (Schwartz-Zippel): Let p(x1, x2, …, xn) be a total degree d polynomial over a field F and let S be any subset of F. Then if p is not identically 0, Prr1,r2,…,rn∈S[ p(r1, r2, …, rn) = 0] ≤ d/|S|. April 23, 2019

Polynomial identity testing Proof: induction on number of variables n base case: n = 1, p is univariate polynomial of degree at most d at most d roots, so Pr[ p(r1) = 0] ≤ d/|S| April 23, 2019

Polynomial identity testing write p(x1, x2, …, xn) as p(x1, x2, …, xn) = Σi (x1)i pi(x2, …, xn) k = max. i for which pi(x2, …, xn) not id. zero by induction hypothesis: Pr[ pk(r2, …, rn) = 0] ≤ (d-k)/|S| whenever pk(r2, …, rn) ≠ 0, p(x1, r2, …, rn) is a univariate polynomial of degree k Pr[p(r1,r2,…,rn)=0 | pk(r2,…,rn) ≠ 0] ≤ k/|S| April 23, 2019

Polynomial identity testing Pr[ pk(r2, …, rn) = 0] ≤ (d-k)/|S| Pr[p(r1,r2,…,rn)=0 | pk(r2,…,rn) ≠ 0] ≤ k/|S| conclude: Pr[ p(r1, …, rn) = 0] ≤ (d-k)/|S| + k/|S| = d/|S| Note: can add these probabilities because Pr[E1] = Pr[E1|E2]Pr[E2] + Pr[E1|¬E2]Pr[¬E2] ≤ Pr[E2] + Pr[E1|¬E2] April 23, 2019

Polynomial identity testing Given: polynomial p(x1, x2, …, xn) Is p identically zero? Note: degree d is at most the size of input * - * * + - x1 x2 x3 … xn April 23, 2019

Polynomial identity testing randomized algorithm: field F, pick a subset S ∈ F of size 2d pick r1, r2, …, rn from S uniformly at random if p(r1, r2, …, rn) = 0, answer “yes” if p(r1, r2, …, rn) ≠ 0, answer “no” if p identically zero, never wrong if not, Schwartz-Zippel ensures probability of error at most ½ April 23, 2019

Polynomial identity testing Given: polynomial p(x1, x2, …, xn) Is p identically zero? * What if polynomial is given as arithmetic circuit? max degree? does the same strategy work? - * * + - x1 x2 x3 … xn April 23, 2019

3. Unique solutions a positive instance of SAT may have many satisfying assignments maybe the difficulty comes from not knowing which to “work on” if we knew # satisfying assignments was 1 or 0, could we zoom in on the 1 efficiently? April 23, 2019

Unique solutions Question: given polynomial-time algorithm that works on SAT instances with at most 1 satisfying assignment, can we solve general SAT instances efficiently? Answer: yes but (currently) only if “efficiently” allows randomness April 23, 2019

Unique solutions Theorem (Valiant-Vazirani): there is a randomized poly-time procedure that given a 3-CNF formula φ(x1, x2, …, xn) outputs a 3-CNF formula φ’ such that if φ is not satisfiable then φ’ is not satisfiable if φ is satisfiable then with probability at least 1/(8n) φ’ has exactly one satisfying assignment April 23, 2019

Unique solutions Proof: given subset S ∈ {1, 2, …, n}, there exists a 3-CNF formula θS on x1, x2, …, xn and additional variables such that: θS is satisfiable iff an even number of variables in {xi}i∈S are true for each such setting of the xi variables, this satisfying assignment is unique |θS| = O(n) not difficult; details omitted April 23, 2019

Prk∈{0,1,2,…,n-1}[2k ≤ |T| ≤ 2k+1] ≥ 1/n Unique solutions set φ0 = φ for i = 1, 2, …, n pick random subset Si set φi = φi-1 ∧ θSi output random one of the φi T = set of satisfying assignments for φ Claim: if |T| > 0, then Prk∈{0,1,2,…,n-1}[2k ≤ |T| ≤ 2k+1] ≥ 1/n April 23, 2019

Si contains even # of positions i where ti ≠ ti’ Unique solutions Claim: if 2k ≤ |T| ≤ 2k+1, then the probability φk+2 has exactly one satisfying assignment is ≥ 1/8 fix t, t’ ∈ T Pr[t “agrees with” t’ on Si] = ½ Pr[t agrees with t’ on S1, S2, …, Sk+2] = (½)k+2 t = 0101 00101 0111 t’ = 1010 111000101 Si contains even # of positions i where ti ≠ ti’ Si April 23, 2019

Unique solutions Pr[t agrees with some t’ on S1,…, Sk+2] ≤ (|T|-1)(½)k+2 < ½ Pr[t satisfies S1, S2, …, Sk+2] = (½)k+2 Pr[t unique satisfying assignment of φk+2] > (½)k+3 sum over at least 2k different t ∈ T (disjoint events); claim follows. April 23, 2019

Randomized complexity classes model: probabilistic Turing Machine deterministic TM with additional read-only tape containing “coin flips” BPP (Bounded-error Probabilistic Poly-time) L ∈ BPP if there is a p.p.t. TM M: x ∈ L ⇒ Pry[M(x,y) accepts] ≥ 2/3 x ∉ L ⇒ Pry[M(x,y) rejects] ≥ 2/3 “p.p.t” = probabilistic polynomial time April 23, 2019

Randomized complexity classes RP (Random Polynomial-time) L ∈ RP if there is a p.p.t. TM M: x ∈ L ⇒ Pry[M(x,y) accepts] ≥ ½ x ∉ L ⇒ Pry[M(x,y) rejects] = 1 coRP (complement of Random Polynomial-time) L ∈ coRP if there is a p.p.t. TM M: x ∈ L ⇒ Pry[M(x,y) accepts] = 1 x ∉ L ⇒ Pry[M(x,y) rejects] ≥ ½ April 23, 2019

Randomized complexity classes One more important class: ZPP (Zero-error Probabilistic Poly-time) ZPP = RP ∩ coRP Pry[M(x,y) outputs “fail”] ≤ ½ otherwise outputs correct answer April 23, 2019

Randomized complexity classes These classes may capture “efficiently computable” better than P. “1/2” in ZPP, RP, coRP definition unimportant can replace by 1/poly(n) “2/3” in BPP definition unimportant can replace by ½ + 1/poly(n) Why? error reduction we will see simple error reduction by repetition more sophisticated error reduction later April 23, 2019

Error reduction for RP given L and p.p.t TM M: new p.p.t TM M’: x ∈ L ⇒ Pry[M(x,y) accepts] ≥ ε x ∉ L ⇒ Pry[M(x,y) rejects] = 1 new p.p.t TM M’: simulate M k/ε times, each time with independent coin flips accept if any simulation accepts otherwise reject April 23, 2019

Error reduction if x ∈ L: if x ∉ L: x ∈ L ⇒ Pry[M(x,y) accepts] ≥ ε x ∉ L ⇒ Pry[M(x,y) rejects] = 1 if x ∈ L: probability a given simulation “bad” ≤ (1 – ε) probability all simulations “bad” ≤ (1–ε)(k/ε) ≤ e-k Pry’[M’(x, y’) accepts] ≥ 1 – e-k if x ∉ L: Pry’[M’(x,y’) rejects] = 1 April 23, 2019

Error reduction for BPP given L, and p.p.t. TM M: x ∈ L ⇒ Pry[M(x,y) accepts] ≥ ½ + ε x ∉ L ⇒ Pry[M(x,y) rejects] ≥ ½ + ε new p.p.t. TM M’: simulate M k/ε2 times, each time with independent coin flips accept if majority of simulations accept otherwise reject April 23, 2019

Error reduction for BPP Xi random variable indicating “correct” outcome in i-th simulation (out of m = k/ε2 ) Pr[Xi = 1] ≥ ½ + ε Pr[Xi = 0] ≤ ½ - ε E[Xi] ≥ ½+ε X = ΣiXi μ = E[X] ≥ (½ + ε)m Chernoff: Pr[X ≤ m/2] ≤ 2-Ω(ε2 μ) April 23, 2019

Error reduction for BPP x ∈ L ⇒ Pry[M(x,y) accepts] ≥ ½ + ε x ∉ L ⇒ Pry[M(x,y) rejects] ≥ ½ + ε if x ∈ L Pry’[M’(x, y’) accepts] ≥ 1 – (½)Ω(k) if x ∉ L Pry’[M’(x,y’) rejects] ≥ 1 – (½)Ω(k) April 23, 2019

Randomized complexity classes We have shown: polynomial identity testing is in coRP a poly-time algorithm for detecting unique solutions to SAT implies NP = RP April 23, 2019