Probabilistic Algorithms Michael Sipser Presented by: Brian Lawnichak.

Slides:



Advertisements
Similar presentations
Models of Computation Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 1, Lecture 2.
Advertisements

Complexity Theory Lecture 6
Lecture 9. Resource bounded KC K-, and C- complexities depend on unlimited computational resources. Kolmogorov himself first observed that we can put resource.
Foundations of Cryptography Lecture 2: One-way functions are essential for identification. Amplification: from weak to strong one-way function Lecturer:
Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Isolation Technique April 16, 2001 Jason Ku Tao Li.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
“Devo verificare un’equivalenza polinomiale…Che fò? Fò dù conti” (Prof. G. Di Battista)
Chapter 5 The Witness Reduction Technique: Feasible Closure Properties of #P Greg Goldstein Andrew Learn 18 April 2001.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
Computability and Complexity
Having Proofs for Incorrectness
Probabilistic algorithms Section 10.2 Giorgi Japaridze Theory of Computability.
Chernoff Bounds, and etc.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
P and NP Sipser (pages ). CS 311 Fall Polynomial time P = ∪ k TIME(n k ) … P = ∪ k TIME(n k ) … TIME(n 3 ) TIME(n 2 ) TIME(n)
P ROBABILISTIC T URING M ACHINES Stephany Coffman-Wolph Wednesday, March 28, 2007.
BPP Contained in PH By Michael Sipser; Clemens Lautemann Clemens Lautemann Presenter: Jie Meng.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Perfect and Statistical Secrecy, probabilistic algorithms, Definitions of Easy and Hard, 1-Way FN -- formal definition.
Randomized Computation Roni Parshani Orly Margalit Eran Mantzur Avi Mintz
On Uniform Amplification of Hardness in NP Luca Trevisan STOC 05 Paper Review Present by Hai Xu.
Probabilistic Complexity. Probabilistic Algorithms Def: A probabilistic Turing Machine M is a type of non- deterministic TM, where each non-deterministic.
CS151 Complexity Theory Lecture 7 April 20, 2015.
The Goldreich-Levin Theorem: List-decoding the Hadamard code
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
Randomized Computation
Quantum Automata Formalism. These are general questions related to complexity of quantum algorithms, combinational and sequential.
–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|),
Prof. Bart Selman Module Probability --- Part e)
Security Arguments for Digital Signatures and Blind Signatures Journal of Cryptology, (2000) 13: Authors: D. Pointcheval and J. Stern Presented.
Complexity ©D. Moshkovitz 1 And Randomized Computations The Polynomial Hierarchy.
PSPACE  IP Proshanto Mukherji CSC 486 April 23, 2001.

Section 11.4 Language Classes Based On Randomization
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
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.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
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.
. CLASSES RP AND ZPP By: SARIKA PAMMI. CONTENTS:  INTRODUCTION  RP  FACTS ABOUT RP  MONTE CARLO ALGORITHM  CO-RP  ZPP  FACTS ABOUT ZPP  RELATION.
Quantum Computing MAS 725 Hartmut Klauck NTU
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
Lecture 8 Overview. Analysis of Algorithms Algorithms – Time Complexity – Space Complexity An algorithm whose time complexity is bounded by a polynomial.
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.
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 7 Time complexity Contents Measuring Complexity Big-O and small-o notation.
Additional Classes: co-NP class Krishna Mahesh Deevela Murali.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 7 Time Complexity Some slides are in courtesy.
Chapter 15 P, NP, and Cook’s Theorem. 2 Computability Theory n Establishes whether decision problems are (only) theoretically decidable, i.e., decides.
Pseudo-random generators Talk for Amnon ’ s seminar.
NP ⊆ PCP(n 3, 1) Theory of Computation. NP ⊆ PCP(n 3,1) What is that? NP ⊆ PCP(n 3,1) What is that?
1 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lectures
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.
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
PROBABILITY AND COMPUTING RANDOMIZED ALGORITHMS AND PROBABILISTIC ANALYSIS CHAPTER 1 IWAMA and ITO Lab. M1 Sakaidani Hikaru 1.
Umans Complexity Theory Lectures
Public Key Encryption Major topics The RSA scheme was devised in 1978
Probabilistic Algorithms
Chapter 2 FINITE AUTOMATA.
CS21 Decidability and Tractability
The Polynomial Hierarchy
CS151 Complexity Theory Lecture 7 April 23, 2019.
Instructor: Aaron Roth
Probabilistic Complexity
Presentation transcript:

Probabilistic Algorithms Michael Sipser Presented by: Brian Lawnichak

2 Introduction Probabilistic Algorithm –uses the result of a random process –“flips a coin” to decide next execution Purpose –saves on calculating the actual best choice –avoids introducing a bias –e.g. query individuals in a large population

3 Probabilistic Turing Machine Definition 10.3 Nondeterministic Turing Machine M –each nondeterministic step is a coin flip –two legal next moves –probability is given to each branch b of M Pr[b] = 2 -k –where k is the number of coin flips on b

4 M on input w Probability that M accepts input w Pr[M accepts w] =  Pr[b] Probability that M rejects input w Pr[M rejects w] = 1 – Pr[M accepts w] What if there is a bad coin flip? –is this algorithm 100% correct? –errors should be accounted for

5 Error Probability  Allow the Turing machine an error probability  where 0    ½ M recognizes language L with error probability  if –w  L implies Pr[M accepts w]  1 –  –w  L implies Pr[M rejects w]  1 –  We say that TM M is bounded by 

6 The Class BPP Bounded Probabilistic Polynomial time Turing machine M 1 Time and Space complexity same as a nondeterministic TM Definition 10.4 –BPP is the class of languages recognized by M 1 with error probability  = 1/3

7 Amplification An error probability of 33% is lousy Could we improve upon this? Amplification lemma –uses any error 0    ½ –allows us to make the error probability exponentially small

8 Lemma 10.5 Given fixed  and polynomial poly(n) M 1 operates with error probability   an equivalent BPP TM M 2 that operates with error probability 2 -poly(n) –M 2 simulates M 1 by running it a polynomial number of times and taking the majority decision vote

9 Will M 2 Really Work? Box has 2/3 green and 1/3 red balls –M 1 samples one ball at random to decide –errs with probability  M 2 runs M 1 poly(n) times to decide –each run of M 1 gives us err of  –running multiple times gives us exponentially small probability

10 Proof Using M 1 show that M 2 recognizes the same language with error 2 -poly(n) t = 2 poly(n) a = 1/(4  (1-  ) b = max(1,1/log(a)) c = 2 log(bt) k =  bc 

11 Proof [cont.] M 2 = “On input w –find k and repeat the following 2k times – simulate M 1 on input w –if most runs of M 1 accept then accept; otherwise reject

12 Verification We have built M 2 but must now verify that M 2 is equivalent to M 1 Assumptions –t  9 while conserving generality –M 1 errs on w with     ½ –M 2 obtains at least k erroneous results on 2k runs of M 1

13 Verification [cont.] Probability of M2 obtaining more than k erroneous on 2k runs is We can allow i = k because  /(1 -  )  1 when   ½

14 Verification [cont.] With i = k we have an upper bound We bound the combination by 2 2k, the number of all subsets giving us  (k+1)2 2k  k (1-  ) k  (k+1)(4  (1-  )) k

15 Verification [cont.] We can allow  (1 -  )   (1 -  ) because     ½ giving us  (k+1)(4  (1-  )) k  (k+1)(1/a) k To show that this is at most 2 -poly(n), we show that a k  (k+1)t

16 Verification [cont.] We use a series of inequalities a k = a  bc   a bc  2 c = 2 2log(bt) = (bt) 2 b  1 and t  9 so that bt  9; therefore (bt) 2  bt(2+2log(bt)) = t(2b+2blog(bt)) Since b  1, we come up with a k  t(2+2blog(bt))  t(1+  2blog(bt)  )  t(1+  bc  ) = (k+1)t

17 Applications Known: –BPP = co-BPP Unknown: –NP  BPP –BPP  NP Existence of certain strong pseudo- random number generators implies that P = BPP above information was gleaned from

18 Applications [cont.] Security –Chinese Remainder Theorem simplifies modular arithmetic –increases the efficiency of decryption –given pairwise relatively prime moduli {p1,...,pn} and arbitrary {a1,...,an} –there exists a unique key above information was gleaned from: “FAQ on Public-Key Crypt” on the Google sci.crypt newsgroup

19 Applications [cont.] Primality –don’t bother testing all positive integers less than x to show that x is prime –select a subset of numbers {1, …, x-1} chosen randomly and test for those

20 Conclusions Using random processes for nondeter- minism saves time and avoids bias Error should be accounted for Bounded by exponentially small error