Randomized Computation

Size: px
Start display at page:

Download "Randomized Computation"

Transcription

1 Randomized Computation Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee

2

3 We do not assume anything about the distribution of the instances of the problem to be solved. Instead we incorporate randomization into the algorithm itself... It may seem at first surprising that employing randomization leads to efficient algorithm. This claim is substantiated by two examples. The first has to do with finding the nearest pair in a set of n points in R k. The second example is an extremely efficient algorithm for determining whether a number is prime. Michael Rabin,

4 We study probabilistic computation, and complexity classes associated with it. NB! It is an open question whether or not the universe has any randomness. Still, we assume that true random number generators exist. Then arguably, a realistic model for a real-life computer is a Turing machine with a random number generator, which we call a Probabilistic Turing Machine (PTM). It is natural to wonder whether difficult problems like 3SAT are efficiently solvable using a PTM. 3

5 We will formally define the class BPP of languages decidable by polynomialtime PTMs and discuss its relation to previously studied classes such as P/poly and PH. One consequence is that if PH does not collapse, then 3SAT does not have efficient probabilistic algorithms. We also show that probabilistic algorithms can be very practical by presenting ways to greatly reduce their error to absolutely minuscule quantities. Thus the class BPP (and its sister classes RP, corp and ZPP) are arguably as important as P in capturing efficient computation. 3

6 Probabilistic Turing Machines Syntactically, a PTM is no different from a non-deterministic TM: it is a TM with two transition functions δ 0, δ 1. The difference lies in how we interpret the graph of all possible computations: instead of asking whether there exists a sequence of choices that makes the TM accept, we ask how large is the fraction of choices for which this happens. More precisely, if M is a PTM, then we envision that in every step in the computation, M chooses randomly which one of its transition functions to apply (with probability half applying δ 0 and with probability half applying δ 1 ). We say that M decides a language if it outputs the right answer with probability at least 3/4. 4

7 Notice, the ability to pick (with equal probability) one of δ 0, δ 1 to apply at each step is equivalent to the machine having a fair coin, which, each time it is tossed, comes up Heads or Tails with equal probability regardless of the past history of Heads/Tails. 4

8 BPTIME and BPP Def.: For T : N N and L {0, 1}, we say that a PTM M decides L in time T (n), if for every x {0, 1}, M halts in T ( x ) steps regardless of its random choices, and Pr[M(x) = L(x)] 3/4, where we denote L(x) = 1 if x L and L(x) = 0 if x L. We let BPTIME(T (n)) denote the class of languages decided by PTMs in O(T (n)) time and let BPP = c>0 BPTIME(n c ), i.e. L is in BPP if there is a poly-time PTM M such that: x L Pr[1 M(x)] 3 4 x L Pr[1 M(x)]

9 Relations with other classes Since a deterministic TM is a special case of a PTM (where both transition functions are equal), the class P BPP. Under plausible complexity assumptions it holds that BPP = P. Nonetheless, as far as we know it may even be that BPP = EXP. Note that BPP EXP, since given a polynomial-time PTM M and input x {0, 1} n in time 2 poly(n) it is possible to enumerate all possible random choices and compute precisely the probability that M(x) = 1. We will show that BPP P/poly and BPP Σ p 2 Πp 2. 6

10 One-sided error: the class RP The class BPP captured what we call probabilistic algorithms with two sided error. That is, it allows the machine M to output (with some small probability) both 0 when x L and 1 when x L. However, many probabilistic algorithms have the property of one sided error. For example if x L they will never output 1, although they may output 0 when x L. This is captured by the definition of RP. Def.: L RP if there is a probabilistic poly-time M such that x {0, 1} : x L Pr[1 M(x)] 3 4 x L Pr[1 M(x)] = 0. Note that RP NP, since every accepting branch is a certificate that the input is in the language. In contrast, we do not know if BPP NP. 7

11 corp The class corp = {L: L RP} captures one-sided error algorithms with the error in the other direction (i.e., may output 1 when x L but will never output 0 if x L. Def.: L corp if there is a probabilistic poly-time M such that x {0, 1} : x L Pr[1 M(x)] = 1 x L Pr[1 M(x)] 1 4. Note also that RP BPP and corp BPP. 8

12 The class ZPP Def.: A probabilistic Turing machine M is said to be expected poly-time, if there is c > 0 such that for every x the average running time of M(x) is x c. Note that the event that M(x) never stops (i.e. the running time is infinitely large) is possible but must have zero probability: T (M, x) = p p p Def.: L ZPP if there is an expected poly-time M that never errs, i.e.: x L Pr[1 M(x)] = 1, x L Pr[0 M(x)] = 1. 9

13 ZPP = RP corp This ought to be slightly surprising, since the corresponding statement for nondeterminism is open; i.e., whether or not P = NP\coNP. Proof : The inclusions ZPP RP and ZPP corp are straightforward. So, it remains to show that RP corp ZPP. Let L RP corp. Let M be the RP-machine for L and M be the corp-machine for L. The ZPP algorithm for L can be constructed as follows: (1) If 1 M(x) then output 1 and halt. (2) If 0 M (x) then output 0 and halt. (3) Go back to step (1). If x L the with probability 3 4 the algorithm will output 1 at step (1). If x L then with probability 4 3 the algorithm will output 0 at step (2). So, the 10

14 probability that x is not yet correctly decided at step m is 1 4 m and hence the probability that x is eventually decided is The average running time is: 1 lim m 1 4 m = 1. t t( x ) + t ( x ) + 2(t( x ) + t ( x )) (t( x ) + t ( x )) = [t( x ) + t ( x )] ( ) [t( x ) + t ( x )] ( ) = 2[t( x ) + t ( x )], because of m+1 4 m 1 2 m, which directly follows from m m. 10

15 Improving Randomized Algorithms by Iteration If L RP and M is the corresponding poly-time PTM, then by using the following iterated algorithm M m : (1) If 1 M(x) then output 1 and halt. (2) m := m 1 (3) If m > 0 then goto (1), otherwise output 0 and halt. we get that for any x {0, 1} : x L Pr[1 M m (x)] = m x L Pr[1 M m (x)] = 0. The same technique can be used for improving corp algorithms. 11

16 Improving BPP Algorithms by using Voting Any BPP algorithm M can be improved by using the following voting algorithm M m (where m > 0 is an odd number): Generate m samples: b i M(x) If i b i > m 2 then output 1, otherwise output 0 For every i = 1... m we define a new random variable x i which is 1, if and only if b i erroneously indicates x L, i.e. either x L and b i = 0 or x L and b i = 1. By definition of BPP, we know that Pr[x i = 1] 1 4. The voting algorithm is correct about x, iff m i=1 x i < m 2. To analyze the quality of the voting algorithm, we need Chernoff bounds from Probability Theory. 12

17 Chernoff Bounds Theorem(Chernoff bound): Let x 1,..., x m be independent 0/1 random variables with the same probability distribution. Let p = Pr[x i = 1] and X = m i=1 x i. Then for any 0 Θ 1: Pr[X (1 + Θ)pm] e Θ2 3 pm (1) Pr[X (1 Θ)pm] e Θ2 2 pm. (2) The proof is based on two lemmas: Lemma 1: If 0 Θ 1 then Θ2 2 Θ (1 + Θ) ln(1 + Θ) Θ2 3. Lemma 2: If 0 Θ 1 then Θ (1 Θ) ln(1 Θ) Θ

18 Proof (1): Pr[X (1 + Θ)pm] = Pr[e tx e t(1+θ)pm ] for any 0 < t. Markovi inequality implies Pr[e tx k E[e tx ]] 1/k for any k > 0. We take k = e t(1+θ)pm (E[e tx ]) 1. Then Pr[X (1 + Θ)pm] e t(1+θ)pm E[e tx ]. As E[e tx ] = (E[e tx 1]) m = (1 + p(e t 1)) m, then after substitution we obtain: Pr[X (1 + Θ)pm] e t(1+θ)pm (1 + p(e t 1)) m e t(1+θ)pm e pm(et 1). Here we used the fact that (1 + a) m e am for every a > 0. Finally, by taking t = ln(1 + Θ), we obtain from Lemma 1 that Pr[X (1 + Θ)pm] e pm[θ (1+Θ) ln(1+θ)] e Θ2 3 pm. 14

19 Proof (2): Pr[X (1 Θ)pm]=Pr[pm X Θpm]=Pr[e t(pm X) e tθpm ] for any 0 < t. Markovi ineq. implies Pr[e t(pm X) k E[e t(pm X) ]] 1 k for any k > 0. We take k = e tθpm (E[e t(pm X) ]) 1. Then Pr[X (1 Θ)pm] e tθpm E[e t(pm X) ] = e t(1 Θ)pm E[e tx ]. As E[e tx ] = (E[e tx 1]) m = (1 p(1 e t )) m, we obtain Pr[X (1 Θ)pm] e t(1 Θ)pm (1 p(1 e t )) m e t(1 Θ)pm e pm(1 e t ) = e pm[t(1 Θ)+1 e t]. Finally, taking t = ln(1 Θ) we obtain from Lemma 2 that Pr[X (1 Θ)pm] e pm[θ (1 Θ) ln(1 Θ)] e Θ2 2 pm. 15

20 Proof of Lemma 1 Lemma 1: If 0 Θ 1 then Θ2 2 Θ (1 + Θ) ln(1 + Θ) Θ2 3. Proof : First, note that Θ (1 + Θ) ln(1 + Θ) = Θ (1 + Θ) ( ) Θ 1 Θ2 2 + Θ3 3 Θ = Θ Θ3 2 3 Θ Θ = n=2 Θ n ( 1) n 1 n(n 1). As the series r = 2 3 Θ3 3 4 Θ Θ5... is with alternating signs and their absolute values are strongly decreasing, then the sum of this series is Inequality Θ n (n 1)n Θn+1 n(n+1) is a direct consequence of n 1 n+1 Θ 1. 16

21 positive, because the fist term is positive. Consequently: Θ (1 + Θ) ln(1 + Θ) = Θ2 2 + r Θ2 2. Analogously, we claim that the series s = Θ4 sum and hence: Θ Θ6... has positive Θ (1 + Θ) ln(1 + Θ) = Θ2 2 + Θ3 3 s Θ2 2 + Θ3 3 Θ2 2 + Θ2 3 = Θ

22 Proof of Lemma 2 Lemma 2: If 0 Θ 1 then Θ (1 Θ) ln(1 Θ) Θ2 2. Proof : It is easy to see that Θ (1 Θ) ln(1 Θ) = Θ Θ Θ = from which the inequality directly follows. n=2 Θ n n(n 1), 17

23 Analysis of the Voting Algorithm For i = 1... m let x i {0, 1} be the error variables, i.e. x i = 1 iff the i-th sample b i of M(x) wrongly reflects the truth value of x L. By the definition of BPP, we have p = Pr[x i = 1] 1 4. By taking Θ = 1 in the first Chernoff bound, we obtain Pr m x i m e 12 m. i=1 2 Hence, the voting algorithm has error < e m

24 BPPɛ Let ɛ: N [0... 1] be a function. Def : A language L {0, 1} belongs to the class BPP ɛ if there is a polytime probabilistic Turing machine N such that for every x {0, 1} n : x L Pr[N(x) = 1] > 1 ɛ( x ); x L Pr[N(x) = 1] < ɛ( x ). Exercise: By using Chernoff bounds, prove the following: If ɛ(n) = 2 no(1), then BPP ɛ = BPP. If ɛ(n) = n O(1), then BPP 12 ɛ = BPP. 19

25 Theorem: BPP P/poly. BPP P/poly Proof : Let L BPP. As BPP = BPP 2 n, there is probabilistic Turing machine M with running time t(n) = n O(1) such that for every x {0, 1} n the probability of error is: Hence, Pr a [M(x, a) [x L]] < 2 n. Pr a [ x {0, 1}n : M(x, a) [x L]] < x {0,1} n 2 n = 1, and there exists a n {0, 1} t(n) such that for every x {0, 1} n : M(x, a n ) = [x L]. Therefore, the machine M with advice string a = (a 0, a 1,...) decides L and hence L P/poly. 20

26 BPP is in PH Theorem(Sipser-Gács): BPP Σ p 2 Πp 2. Proof : Suppose L BPP = BPP 2 n, i.e. there is a poly-time M that uses m = poly(n) random bits such that for any n and x {0, 1} n : x L Pr[1 M(x, r)] 1 2 n r x L Pr r [1 M(x, r)] 2 n. Let S x denote the set of rs for which M accepts the input pair (x, r). Then either S x (1 2 n )2 m or S x 2 n 2 m, depending on whether x L. We show how to check with two alternations, which case is true. 21

27 For k = m+1 n, let U = {u 1,..., u k } be a set of k strings in {0, 1} m. We define G U to be a graph with vertex set {0, 1} m and edges (r, s) for every r, s such that r = s u i for some i {1,..., k}. (where denotes vector addition modulo 2, or equivalently, bitwise XOR). Note that the degree of G U is k. For a set S {0, 1} m, define Γ U (S) to be all the neighbors of S in the graph G U. That is, r Γ U (S) if there is an s S and i {1,..., k} such that r = s u i. Claim 1: For every set S {0, 1} m with S 2 m n and every set U of size k, it holds that Γ U (S) {0, 1} m. Indeed, since G U has degree k, it holds that Γ U (S) k S m+1 n2 n 2 m < 2 m. Note that there is n 0, such that for every n > n 0 we have m + 1 < n2 n. Claim 2: For every set S {0, 1} m with S (1 2 n )2 m there exists a set U of size k such that Γ U (S) = {0, 1} m. We show this by the 21

28 probabilistic method, by proving that for every S, if we choose U at random by taking k random strings u 1,..., u k, then Pr[Γ U (S) = {0, 1} m ] > 0. Indeed, for r {0, 1} m, let B r denote the bad event that r is not in Γ U (S). Then, B r = i [k] B i r where B i r is the event that r S u i, or equivalently, that r u i S (using the fact that modulo 2, a b = c a = c b). Yet, r u i is a uniform element in {0, 1} m, and so it will be in S with probability at least 1 2 n. Since B 1 r,..., B k r are independent and each of it happens with probability 2 n, the probability that B r happens is at most (2 n ) k < 2 m. By the union bound, the probability that Γ U (S) {0, 1} m is bounded by r Pr[B r ] < 1. Together Claims 1 and 2 show x L if and only if the following statement is true (with just a finite number of possible exceptions in case x n 0 ): u 1,..., u k {0, 1} m r {0, 1} m k i=1 M(x, r u i) = 1 thus showing L Σ p 2. As L BPP implies L BPP, we also have that L Σ p 2 which is equivalent to L Πp 2. 21

1 Randomized Computation

1 Randomized Computation CS 6743 Lecture 17 1 Fall 2007 1 Randomized Computation Why is randomness useful? Imagine you have a stack of bank notes, with very few counterfeit ones. You want to choose a genuine bank note to pay at

More information

Lecture Examples of problems which have randomized algorithms

Lecture Examples of problems which have randomized algorithms 6.841 Advanced Complexity Theory March 9, 2009 Lecture 10 Lecturer: Madhu Sudan Scribe: Asilata Bapat Meeting to talk about final projects on Wednesday, 11 March 2009, from 5pm to 7pm. Location: TBA. Includes

More information

Lecture 12: Randomness Continued

Lecture 12: Randomness Continued CS 710: Complexity Theory 2/25/2010 Lecture 12: Randomness Continued Instructor: Dieter van Melkebeek Scribe: Beth Skubak & Nathan Collins In the last lecture we introduced randomized computation in terms

More information

Notes on Complexity Theory Last updated: November, Lecture 10

Notes on Complexity Theory Last updated: November, Lecture 10 Notes on Complexity Theory Last updated: November, 2015 Lecture 10 Notes by Jonathan Katz, lightly edited by Dov Gordon. 1 Randomized Time Complexity 1.1 How Large is BPP? We know that P ZPP = RP corp

More information

Randomized Complexity Classes; RP

Randomized Complexity Classes; RP Randomized Complexity Classes; RP Let N be a polynomial-time precise NTM that runs in time p(n) and has 2 nondeterministic choices at each step. N is a polynomial Monte Carlo Turing machine for a language

More information

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome!

Computational Complexity: A Modern Approach. Draft of a book: Dated January 2007 Comments welcome! i Computational Complexity: A Modern Approach Draft of a book: Dated January 2007 Comments welcome! Sanjeev Arora and Boaz Barak Princeton University complexitybook@gmail.com Not to be reproduced or distributed

More information

1 Randomized complexity

1 Randomized complexity 80240233: Complexity of Computation Lecture 6 ITCS, Tsinghua Univesity, Fall 2007 23 October 2007 Instructor: Elad Verbin Notes by: Zhang Zhiqiang and Yu Wei 1 Randomized complexity So far our notion of

More information

Lecture 18: Oct 15, 2014

Lecture 18: Oct 15, 2014 E0 224 Computational Complexity Theory Indian Institute of Science Fall 2014 Department of Computer Science and Automation Lecture 18: Oct 15, 2014 Lecturer: Chandan Saha Scribe:

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Umans Complexity Theory Lectures Lecture 8: Introduction to Randomized Complexity: - Randomized complexity classes, - Error reduction, - in P/poly - Reingold s Undirected Graph Reachability in RL Randomized

More information

Lecture 24: Randomized Complexity, Course Summary

Lecture 24: Randomized Complexity, Course Summary 6.045 Lecture 24: Randomized Complexity, Course Summary 1 1/4 1/16 1/4 1/4 1/32 1/16 1/32 Probabilistic TMs 1/16 A probabilistic TM M is a nondeterministic TM where: Each nondeterministic step is called

More information

: On the P vs. BPP problem. 30/12/2016 Lecture 11

: On the P vs. BPP problem. 30/12/2016 Lecture 11 03684155: On the P vs. BPP problem. 30/12/2016 Lecture 11 Promise problems Amnon Ta-Shma and Dean Doron 1 Definitions and examples In a promise problem, we are interested in solving a problem only on a

More information

Handout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0.

Handout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0. Notes on Complexity Theory Last updated: October, 2005 Jonathan Katz Handout 5 1 An Improved Upper-Bound on Circuit Size Here we show the result promised in the previous lecture regarding an upper-bound

More information

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010 CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010 So far our notion of realistic computation has been completely deterministic: The Turing Machine

More information

: On the P vs. BPP problem. 30/12/2016 Lecture 12

: On the P vs. BPP problem. 30/12/2016 Lecture 12 03684155: On the P vs. BPP problem. 30/12/2016 Lecture 12 Time Hierarchy Theorems Amnon Ta-Shma and Dean Doron 1 Diagonalization arguments Throughout this lecture, for a TM M, we denote M t to be the machine

More information

Chapter 5 : Randomized computation

Chapter 5 : Randomized computation Dr. Abhijit Das, Chapter 5 : Randomized computation Probabilistic or randomized computation often provides practical methods to solve certain computational problems. In order to define probabilistic complexity

More information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 18, 2012 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

Review of Complexity Theory

Review of Complexity Theory Review of Complexity Theory Breno de Medeiros Department of Computer Science Florida State University Review of Complexity Theory p.1 Turing Machines A traditional way to model a computer mathematically

More information

The Polynomial Hierarchy

The Polynomial Hierarchy The Polynomial Hierarchy Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Motivation..synthesizing circuits is exceedingly difficulty. It is even

More information

Lecture 17. In this lecture, we will continue our discussion on randomization.

Lecture 17. In this lecture, we will continue our discussion on randomization. ITCS:CCT09 : Computational Complexity Theory May 11, 2009 Lecturer: Jayalal Sarma M.N. Lecture 17 Scribe: Hao Song In this lecture, we will continue our discussion on randomization. 1 BPP and the Polynomial

More information

A An Overview of Complexity Theory for the Algorithm Designer

A An Overview of Complexity Theory for the Algorithm Designer A An Overview of Complexity Theory for the Algorithm Designer A.1 Certificates and the class NP A decision problem is one whose answer is either yes or no. Two examples are: SAT: Given a Boolean formula

More information

20.1 2SAT. CS125 Lecture 20 Fall 2016

20.1 2SAT. CS125 Lecture 20 Fall 2016 CS125 Lecture 20 Fall 2016 20.1 2SAT We show yet another possible way to solve the 2SAT problem. Recall that the input to 2SAT is a logical expression that is the conunction (AND) of a set of clauses,

More information

Lecture 2 Sep 5, 2017

Lecture 2 Sep 5, 2017 CS 388R: Randomized Algorithms Fall 2017 Lecture 2 Sep 5, 2017 Prof. Eric Price Scribe: V. Orestis Papadigenopoulos and Patrick Rall NOTE: THESE NOTES HAVE NOT BEEN EDITED OR CHECKED FOR CORRECTNESS 1

More information

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010 CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010 We now embark on a study of computational classes that are more general than NP. As these classes

More information

Pr[X = s Y = t] = Pr[X = s] Pr[Y = t]

Pr[X = s Y = t] = Pr[X = s] Pr[Y = t] Homework 4 By: John Steinberger Problem 1. Recall that a real n n matrix A is positive semidefinite if A is symmetric and x T Ax 0 for all x R n. Assume A is a real n n matrix. Show TFAE 1 : (a) A is positive

More information

Handout 7. and Pr [M(x) = χ L (x) M(x) =? ] = 1.

Handout 7. and Pr [M(x) = χ L (x) M(x) =? ] = 1. Notes on Coplexity Theory Last updated: October, 2005 Jonathan Katz Handout 7 1 More on Randoized Coplexity Classes Reinder: so far we have seen RP,coRP, and BPP. We introduce two ore tie-bounded randoized

More information

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 1/29/2002. Notes for Lecture 3

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 1/29/2002. Notes for Lecture 3 U.C. Bereley CS278: Computational Complexity Handout N3 Professor Luca Trevisan 1/29/2002 Notes for Lecture 3 In this lecture we will define the probabilistic complexity classes BPP, RP, ZPP and we will

More information

CSCI 1590 Intro to Computational Complexity

CSCI 1590 Intro to Computational Complexity CSCI 1590 Intro to Computational Complexity Interactive Proofs John E. Savage Brown University April 20, 2009 John E. Savage (Brown University) CSCI 1590 Intro to Computational Complexity April 20, 2009

More information

Computational Complexity Theory

Computational Complexity Theory Computational Complexity Theory Marcus Hutter Canberra, ACT, 0200, Australia http://www.hutter1.net/ Assumed Background Preliminaries Turing Machine (TM) Deterministic Turing Machine (DTM) NonDeterministic

More information

Theory of Computer Science to Msc Students, Spring Lecture 2

Theory of Computer Science to Msc Students, Spring Lecture 2 Theory of Computer Science to Msc Students, Spring 2007 Lecture 2 Lecturer: Dorit Aharonov Scribe: Bar Shalem and Amitai Gilad Revised: Shahar Dobzinski, March 2007 1 BPP and NP The theory of computer

More information

Non-Approximability Results (2 nd part) 1/19

Non-Approximability Results (2 nd part) 1/19 Non-Approximability Results (2 nd part) 1/19 Summary - The PCP theorem - Application: Non-approximability of MAXIMUM 3-SAT 2/19 Non deterministic TM - A TM where it is possible to associate more than one

More information

Randomness and non-uniformity

Randomness and non-uniformity Randomness and non-uniformity JASS 2006 Course 1: Proofs and Computers Felix Weninger TU München April 2006 Outline Randomized computation 1 Randomized computation 2 Computation with advice Non-uniform

More information

Average Case Complexity: Levin s Theory

Average Case Complexity: Levin s Theory Chapter 15 Average Case Complexity: Levin s Theory 1 needs more work Our study of complexity - NP-completeness, #P-completeness etc. thus far only concerned worst-case complexity. However, algorithms designers

More information

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch 6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch Today Probabilistic Turing Machines and Probabilistic Time Complexity Classes Now add a new capability to standard TMs: random

More information

Lecture 23: More PSPACE-Complete, Randomized Complexity

Lecture 23: More PSPACE-Complete, Randomized Complexity 6.045 Lecture 23: More PSPACE-Complete, Randomized Complexity 1 Final Exam Information Who: You On What: Everything through PSPACE (today) With What: One sheet (double-sided) of notes are allowed When:

More information

The Complexity Classes NP-Hard, BPP.

The Complexity Classes NP-Hard, BPP. SE 3310b Theoretical Foundations of Software Engineering The Complexity Classes NP-Hard, BPP. Aleksander Essex 1 / 26 The NP-Hard Class 2 / 26 The NP-Hard Class Recall the NP-complete complexity class

More information

CS 151 Complexity Theory Spring Solution Set 5

CS 151 Complexity Theory Spring Solution Set 5 CS 151 Complexity Theory Spring 2017 Solution Set 5 Posted: May 17 Chris Umans 1. We are given a Boolean circuit C on n variables x 1, x 2,..., x n with m, and gates. Our 3-CNF formula will have m auxiliary

More information

In Search of an Easy Witness: Exponential Time vs. Probabilistic Polynomial Time

In Search of an Easy Witness: Exponential Time vs. Probabilistic Polynomial Time In Search of an Easy Witness: Exponential Time vs. Probabilistic Polynomial Time Russell Impagliazzo Department of Computer Science University of California, San Diego La Jolla, CA 92093-0114 russell@cs.ucsd.edu

More information

Randomness and non-uniformity

Randomness and non-uniformity Randomness and non-uniformity Felix Weninger April 2006 Abstract In the first part, we introduce randomized algorithms as a new notion of efficient algorithms for decision problems. We classify randomized

More information

Exponential time vs probabilistic polynomial time

Exponential time vs probabilistic polynomial time Exponential time vs probabilistic polynomial time Sylvain Perifel (LIAFA, Paris) Dagstuhl January 10, 2012 Introduction Probabilistic algorithms: can toss a coin polynomial time (worst case) probability

More information

-bit integers are all in ThC. Th The following problems are complete for PSPACE NPSPACE ATIME QSAT, GEOGRAPHY, SUCCINCT REACH.

-bit integers are all in ThC. Th The following problems are complete for PSPACE NPSPACE ATIME QSAT, GEOGRAPHY, SUCCINCT REACH. CMPSCI 601: Recall From Last Time Lecture 26 Theorem: All CFL s are in sac. Facts: ITADD, MULT, ITMULT and DIVISION on -bit integers are all in ThC. Th The following problems are complete for PSPACE NPSPACE

More information

Lecture 2. 1 More N P-Compete Languages. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Lecture 2. 1 More N P-Compete Languages. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 2 1 More N P-Compete Languages It will be nice to find more natural N P-complete languages. To that end, we ine

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Complexity Theory Umans Complexity Theory Lectures Lecture 1a: Problems and Languages Classify problems according to the computational resources required running time storage space parallelism randomness

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Adleman Theorem and Sipser Gács Lautemann Theorem. CS422 Computation Theory CS422 Complexity Theory

Adleman Theorem and Sipser Gács Lautemann Theorem. CS422 Computation Theory CS422 Complexity Theory Adleman Theorem and Sipser Gács Lautemann Theorem CS422 Computation Theory CS422 Complexity Theory Complexity classes, N, co N, SACE, EXTIME, H, R, RE, ALL, Complexity theorists: "Which is contained in

More information

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Lecture 4. 1 Circuit Complexity. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz Notes on Complexity Theory: Fall 2005 Last updated: September, 2005 Jonathan Katz Lecture 4 1 Circuit Complexity Circuits are directed, acyclic graphs where nodes are called gates and edges are called

More information

1 From previous lectures

1 From previous lectures CS 810: Introduction to Complexity Theory 9/18/2003 Lecture 11: P/poly, Sparse Sets, and Mahaney s Theorem Instructor: Jin-Yi Cai Scribe: Aparna Das, Scott Diehl, Giordano Fusco 1 From previous lectures

More information

The Cook-Levin Theorem

The Cook-Levin Theorem An Exposition Sandip Sinha Anamay Chaturvedi Indian Institute of Science, Bangalore 14th November 14 Introduction Deciding a Language Let L {0, 1} be a language, and let M be a Turing machine. We say M

More information

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; Topics in Theoretical Computer Science February 29, 2016 Lecturer: Ola Svensson Lecture 2 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

Lecture 23: Alternation vs. Counting

Lecture 23: Alternation vs. Counting CS 710: Complexity Theory 4/13/010 Lecture 3: Alternation vs. Counting Instructor: Dieter van Melkebeek Scribe: Jeff Kinne & Mushfeq Khan We introduced counting complexity classes in the previous lecture

More information

Lecture 12: Interactive Proofs

Lecture 12: Interactive Proofs princeton university cos 522: computational complexity Lecture 12: Interactive Proofs Lecturer: Sanjeev Arora Scribe:Carl Kingsford Recall the certificate definition of NP. We can think of this characterization

More information

CSCI 1590 Intro to Computational Complexity

CSCI 1590 Intro to Computational Complexity CSCI 1590 Intro to Computational Complexity Randomized Computation John E. Savage Brown University April 15, 2009 John E. Savage (Brown University) CSCI 1590 Intro to Computational Complexity April 15,

More information

CS151 Complexity Theory

CS151 Complexity Theory Introduction CS151 Complexity Theory Lecture 5 April 13, 2004 Power from an unexpected source? we know PEXP, which implies no polytime algorithm for Succinct CVAL poly-size Boolean circuits for Succinct

More information

A.Antonopoulos 18/1/2010

A.Antonopoulos 18/1/2010 Class DP Basic orems 18/1/2010 Class DP Basic orems 1 Class DP 2 Basic orems Class DP Basic orems TSP Versions 1 TSP (D) 2 EXACT TSP 3 TSP COST 4 TSP (1) P (2) P (3) P (4) DP Class Class DP Basic orems

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Umans Complexity Theory Lectures Lecture 12: The Polynomial-Time Hierarchy Oracle Turing Machines Oracle Turing Machine (OTM): Deterministic multitape TM M with special query tape special states q?, q

More information

2 Natural Proofs: a barrier for proving circuit lower bounds

2 Natural Proofs: a barrier for proving circuit lower bounds Topics in Theoretical Computer Science April 4, 2016 Lecturer: Ola Svensson Lecture 6 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

Limitations of Efficient Reducibility to the Kolmogorov Random Strings

Limitations of Efficient Reducibility to the Kolmogorov Random Strings Limitations of Efficient Reducibility to the Kolmogorov Random Strings John M. HITCHCOCK 1 Department of Computer Science, University of Wyoming Abstract. We show the following results for polynomial-time

More information

Lecture 20: Goemans-Williamson MAXCUT Approximation Algorithm. 2 Goemans-Williamson Approximation Algorithm for MAXCUT

Lecture 20: Goemans-Williamson MAXCUT Approximation Algorithm. 2 Goemans-Williamson Approximation Algorithm for MAXCUT CS 80: Introduction to Complexity Theory 0/03/03 Lecture 20: Goemans-Williamson MAXCUT Approximation Algorithm Instructor: Jin-Yi Cai Scribe: Christopher Hudzik, Sarah Knoop Overview First, we outline

More information

Computer Sciences Department

Computer Sciences Department Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Computer Sciences Department 3 ADVANCED TOPICS IN C O M P U T A B I L I T Y

More information

6.045 Final Exam Solutions

6.045 Final Exam Solutions 6.045J/18.400J: Automata, Computability and Complexity Prof. Nancy Lynch, Nati Srebro 6.045 Final Exam Solutions May 18, 2004 Susan Hohenberger Name: Please write your name on each page. This exam is open

More information

Lecture 2: From Classical to Quantum Model of Computation

Lecture 2: From Classical to Quantum Model of Computation CS 880: Quantum Information Processing 9/7/10 Lecture : From Classical to Quantum Model of Computation Instructor: Dieter van Melkebeek Scribe: Tyson Williams Last class we introduced two models for deterministic

More information

Proving SAT does not have Small Circuits with an Application to the Two Queries Problem

Proving SAT does not have Small Circuits with an Application to the Two Queries Problem Proving SAT does not have Small Circuits with an Application to the Two Queries Problem Lance Fortnow A. Pavan Samik Sengupta Abstract We show that if SAT does not have small circuits, then there must

More information

Lecture 59 : Instance Compression and Succinct PCP s for NP

Lecture 59 : Instance Compression and Succinct PCP s for NP IITM-CS6840: Advanced Complexity Theory March 31, 2012 Lecture 59 : Instance Compression and Succinct PCP s for NP Lecturer: Sivaramakrishnan N.R. Scribe: Prashant Vasudevan 1 Introduction Classical Complexity

More information

CS154, Lecture 17: conp, Oracles again, Space Complexity

CS154, Lecture 17: conp, Oracles again, Space Complexity CS154, Lecture 17: conp, Oracles again, Space Complexity Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode: Guess string

More information

Length-Increasing Reductions for PSPACE-Completeness

Length-Increasing Reductions for PSPACE-Completeness Length-Increasing Reductions for PSPACE-Completeness John M. Hitchcock 1 and A. Pavan 2 1 Department of Computer Science, University of Wyoming. jhitchco@cs.uwyo.edu 2 Department of Computer Science, Iowa

More information

Notes for Lecture 3... x 4

Notes for Lecture 3... x 4 Stanford University CS254: Computational Complexity Notes 3 Luca Trevisan January 14, 2014 Notes for Lecture 3 In this lecture we introduce the computational model of boolean circuits and prove that polynomial

More information

Lecture 8 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 8 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; Topics in Theoretical Computer Science April 18, 2016 Lecturer: Ola Svensson Lecture 8 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

Identifying an Honest EXP NP Oracle Among Many

Identifying an Honest EXP NP Oracle Among Many Identifying an Honest EXP NP Oracle Among Many Shuichi Hirahara The University of Tokyo CCC 18/6/2015 Overview Dishonest oracle Honest oracle Queries Which is honest? Our Contributions Selector 1. We formulate

More information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 Complexity Theory. Lecture 1 April 3, 2017 CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,

More information

Intractable Problems [HMU06,Chp.10a]

Intractable Problems [HMU06,Chp.10a] Intractable Problems [HMU06,Chp.10a] Time-Bounded Turing Machines Classes P and NP Polynomial-Time Reductions A 10 Minute Motivation https://www.youtube.com/watch?v=yx40hbahx3s 1 Time-Bounded TM s A Turing

More information

NP, polynomial-time mapping reductions, and NP-completeness

NP, polynomial-time mapping reductions, and NP-completeness NP, polynomial-time mapping reductions, and NP-completeness In the previous lecture we discussed deterministic time complexity, along with the time-hierarchy theorem, and introduced two complexity classes:

More information

A Note on the Karp-Lipton Collapse for the Exponential Hierarchy

A Note on the Karp-Lipton Collapse for the Exponential Hierarchy A Note on the Karp-Lipton Collapse for the Exponential Hierarchy Chris Bourke Department of Computer Science & Engineering University of Nebraska Lincoln, NE 68503, USA Email: cbourke@cse.unl.edu January

More information

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

More information

Uniform Derandomization

Uniform Derandomization Uniform Derandomization Simulation of BPP, RP and AM under Uniform Assumptions A. Antonopoulos (N.T.U.A.) Computation and Reasoning Laboratory 1 Uniform Derandomization of BPP Main Theorem Proof: Step

More information

6.842 Randomness and Computation Lecture 5

6.842 Randomness and Computation Lecture 5 6.842 Randomness and Computation 2012-02-22 Lecture 5 Lecturer: Ronitt Rubinfeld Scribe: Michael Forbes 1 Overview Today we will define the notion of a pairwise independent hash function, and discuss its

More information

1 Computational problems

1 Computational problems 80240233: Computational Complexity Lecture 1 ITCS, Tsinghua Univesity, Fall 2007 9 October 2007 Instructor: Andrej Bogdanov Notes by: Andrej Bogdanov The aim of computational complexity theory is to study

More information

6-1 Computational Complexity

6-1 Computational Complexity 6-1 Computational Complexity 6. Computational Complexity Computational models Turing Machines Time complexity Non-determinism, witnesses, and short proofs. Complexity classes: P, NP, conp Polynomial-time

More information

conp, Oracles, Space Complexity

conp, Oracles, Space Complexity conp, Oracles, Space Complexity 1 What s next? A few possibilities CS161 Design and Analysis of Algorithms CS254 Complexity Theory (next year) CS354 Topics in Circuit Complexity For your favorite course

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Lecture notes on OPP algorithms [Preliminary Draft]

Lecture notes on OPP algorithms [Preliminary Draft] Lecture notes on OPP algorithms [Preliminary Draft] Jesper Nederlof June 13, 2016 These lecture notes were quickly assembled and probably contain many errors. Use at your own risk! Moreover, especially

More information

Beyond NP [HMU06,Chp.11a] Tautology Problem NP-Hardness and co-np Historical Comments Optimization Problems More Complexity Classes

Beyond NP [HMU06,Chp.11a] Tautology Problem NP-Hardness and co-np Historical Comments Optimization Problems More Complexity Classes Beyond NP [HMU06,Chp.11a] Tautology Problem NP-Hardness and co-np Historical Comments Optimization Problems More Complexity Classes 1 Tautology Problem & NP-Hardness & co-np 2 NP-Hardness Another essential

More information

Kernel-Size Lower Bounds. The Evidence from Complexity Theory

Kernel-Size Lower Bounds. The Evidence from Complexity Theory : The Evidence from Complexity Theory IAS Worker 2013, Warsaw Part 2/3 Note These slides are a slightly revised version of a 3-part tutorial given at the 2013 Workshop on Kernelization ( Worker ) at the

More information

Lecture 4 : Quest for Structure in Counting Problems

Lecture 4 : Quest for Structure in Counting Problems CS6840: Advanced Complexity Theory Jan 10, 2012 Lecture 4 : Quest for Structure in Counting Problems Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Between P and PSPACE. Lecture Plan:Counting problems

More information

CSE 135: Introduction to Theory of Computation NP-completeness

CSE 135: Introduction to Theory of Computation NP-completeness CSE 135: Introduction to Theory of Computation NP-completeness Sungjin Im University of California, Merced 04-15-2014 Significance of the question if P? NP Perhaps you have heard of (some of) the following

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information

Definition: conp = { L L NP } What does a conp computation look like?

Definition: conp = { L L NP } What does a conp computation look like? Space Complexity 28 Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode: Guess string y of x k length and the machine accepts

More information

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k. Complexity Theory Problems are divided into complexity classes. Informally: So far in this course, almost all algorithms had polynomial running time, i.e., on inputs of size n, worst-case running time

More information

Lecture 8: Alternatation. 1 Alternate Characterizations of the Polynomial Hierarchy

Lecture 8: Alternatation. 1 Alternate Characterizations of the Polynomial Hierarchy CS 710: Complexity Theory 10/4/2011 Lecture 8: Alternatation Instructor: Dieter van Melkebeek Scribe: Sachin Ravi In this lecture, we continue with our discussion of the polynomial hierarchy complexity

More information

Lecture 17: Interactive Proof Systems

Lecture 17: Interactive Proof Systems Computational Complexity Theory, Fall 2010 November 5 Lecture 17: Interactive Proof Systems Lecturer: Kristoffer Arnsfelt Hansen Scribe: Søren Valentin Haagerup 1 Interactive Proof Systems Definition 1.

More information

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3 6.841/18.405J: Advanced Complexity Wednesday, February 12, 2003 Lecture Lecture 3 Instructor: Madhu Sudan Scribe: Bobby Kleinberg 1 The language MinDNF At the end of the last lecture, we introduced the

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Lecture 10 More examples of problems in P Closure properties of the class P The class NP given by Jiri Srba Lecture 10 Computability and Complexity 1/12 Example: Relatively

More information

Average case Complexity

Average case Complexity February 2, 2015 introduction So far we only studied the complexity of algorithms that solve computational task on every possible input; that is, worst-case complexity. introduction So far we only studied

More information

Lecture 26: Arthur-Merlin Games

Lecture 26: Arthur-Merlin Games CS 710: Complexity Theory 12/09/2011 Lecture 26: Arthur-Merlin Games Instructor: Dieter van Melkebeek Scribe: Chetan Rao and Aaron Gorenstein Last time we compared counting versus alternation and showed

More information

Time Complexity. CS60001: Foundations of Computing Science

Time Complexity. CS60001: Foundations of Computing Science Time Complexity CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Measuring Complexity Definition Let M be a deterministic Turing machine that halts on all inputs. The

More information

Assignment 4: Solutions

Assignment 4: Solutions Math 340: Discrete Structures II Assignment 4: Solutions. Random Walks. Consider a random walk on an connected, non-bipartite, undirected graph G. Show that, in the long run, the walk will traverse each

More information

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity CSE 531: Computational Complexity I Winter 2016 Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity January 22, 2016 Lecturer: Paul Beame Scribe: Paul Beame Diagonalization enabled us to separate

More information

On Pseudorandomness w.r.t Deterministic Observers

On Pseudorandomness w.r.t Deterministic Observers On Pseudorandomness w.r.t Deterministic Observers Oded Goldreich Department of Computer Science Weizmann Institute of Science Rehovot, Israel. oded@wisdom.weizmann.ac.il Avi Wigderson The Hebrew University,

More information

6.895 Randomness and Computation March 19, Lecture Last Lecture: Boosting Weak Learners Into Strong Learners

6.895 Randomness and Computation March 19, Lecture Last Lecture: Boosting Weak Learners Into Strong Learners 6.895 Randomness and Computation March 9, 2008 Lecture 3 Lecturer: Ronitt Rubinfeld Scribe: Edwin Chen Overview. Last Lecture: Boosting Weak Learners Into Strong Learners In the last two lectures, we showed

More information

2 P vs. NP and Diagonalization

2 P vs. NP and Diagonalization 2 P vs NP and Diagonalization CS 6810 Theory of Computing, Fall 2012 Instructor: David Steurer (sc2392) Date: 08/28/2012 In this lecture, we cover the following topics: 1 3SAT is NP hard; 2 Time hierarchies;

More information