polynomial identity testing
play

Polynomial Identity Testing If A , B , C are three matrices of size n - PowerPoint PPT Presentation

Polynomial Identity Testing If A , B , C are three matrices of size n x n and we want to find out whether AB = C or not, then this can be solved in O ( n 3 ) or O ( n 2 . 37 ) by multiplying A and B first. Randomized Computation If we introduce a


  1. Polynomial Identity Testing If A , B , C are three matrices of size n x n and we want to find out whether AB = C or not, then this can be solved in O ( n 3 ) or O ( n 2 . 37 ) by multiplying A and B first. Randomized Computation If we introduce a new matrix X of size n x 1 then we can solve this problem in O ( n 2 ) by using A ( BX ) = CX equation. If AB = C ⇒ Prob[ A ( BX ) = CX ] = 1 Nabil Mustafa If AB � = C ⇒ Prob[ A ( BX ) = CX ] ≤ k , where k could have any value over the interval [0 , 1] In other words we can say that for fixed values of X and C we Computability and Complexity can have different values of AB � 1 � 1 � 2 1 � � � AB = X = CX = 1 1 1 2 � 2 � 1 � 2 0 � � � AB = X = CX = 0 2 1 2 Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation Polynomial Identity Testing Probabilistic Turing Machines ( PTM ) So far, considered the following types of machines for input x : Similar problem can happen with polynomials as well TM : only one computation that either accepts or rejects Let A ( x ), B ( x ) and C ( x ) be polynomials (over reals) of NTM : there are many sequences of computation, and x degrees m , n and mn respectively. accepted if there exists a sequence of computations that Question: Is A ( x ) · B ( x ) = C ( x ) accept Idea: reduce problem to checking zero’s of a polynomial ATM : many sequences of computations, and x accepted based on the type of nodes ( ∃ or ∀ ) along its path A ( x ) · B ( x ) = C ( x ) ⇐ ⇒ D ( x ) = A ( x ) · B ( x ) − C ( x ) ≡ 0 OTM : a TM with access to an oracle Last kind of machine: Probabilistic Turing Machine D ( x ) has degree at most mn Very similar to a TM , except at each step, M could toss a So if D ( x ) is not identically 0, it can have at most mn roots coin to get a random bit, and decide which transition rule to follow based on the outcome of the coin toss Pick a random real r out of 2 mn reals. If D ( r ) = 0, return that A ( x ) · B ( x ) = C ( x ) A PTM takes input x and a random bit string r Otherwise A ( x ) · B ( x ) � = C ( x ) Prob[ M ( x , r ) = z ]: probability M outputs z . Since at most mn of these can be roots of D ( · ), with A polynomial PTM halts after a polynomial (in the length of probability 1 / 2, D ( r ) � = 0 if A ( x ) · B ( x ) � = C ( x ) the input) number of steps Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation

  2. Failure Probability Randomized Complexity Classes PTM Can Make Mistakes RP (Randomized Polynomial time) A major aspect of randomized algorithms or probabilistic machines is that they may fail to produce the desired output with some One-sided error specified failure probability. coRP (complement of RP ) One-sided error The machine may err only in one direction i.e. either on ‘yes’ One-sided error instances or on ‘no’ instances. Either false positive or false negative, not both. BPP (Bounded-error Probabilistic Polynomial time) Two-sided error The machine may err in both directions i.e. it may result a Two-sided error ‘yes’ instance as a ‘no’ instance and vice versa. Both false positive and false negative can occur. ZPP (Zero-error Probabilistic Polynomial time) Zero-sided error The algorithm never provides a wrong answer. Zero error But sometimes it returns ‘don’t know’ Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation Randomized Polynomial time RP is in NP Definition: RP Theorem The complexity class RP is the class of all languages L for which RP ⊆ NP there exists a polynomial PTM M such that Proof ⇒ Prob [ M ( x ) = 1] ≥ 1 x ∈ L = Let L be a language in RP . Let M be a polynomial 2 probabilistic Turing Machine that decides L . x / ∈ L = ⇒ Prob [ M ( x ) = 0] = 1 If x ∈ L , then there exists a sequence of coin tosses y such that M accepts x with y as the random string. Definition: coRP So we can consider y as a certificate instead of a random The complexity class coRP is the class of all languages L for which string. y can be verified in polynomial time by the same there exists a polynomial PTM M such that machine. If x / ∈ L , then Prob[ M ( x ) = 1] = 0. So there is no certificate. x ∈ L = ⇒ Prob [ M ( x , r ) = 1] = 1 M rejects x . ⇒ Prob [ M ( x , r ) = 0] ≥ 1 x / ∈ L = So L ∈ NP 2 Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation

  3. Boosting for RP Examples of RP and coRP The constant 1 / 2 in the definition of RP can be replaced by any constant k , 0 < k < 1 Example of RP Since the error is one-sided, we can repeat the algorithm t Primes, the set of all prime numbers, is in RP . times independently: This was shown by Adelman and Huang (1992), who gave a primality testing algorithm that always rejected composite We reject the string x if any of the t runs reject, and accept x numbers, and accepted primes with probability at least 1 / 2 otherwise Clearly, if x / ∈ L , all t runs will return a 0 If x ∈ L , if any of the t runs returns a 1, we return the correct answer Example of coRP Primes, the set of all prime numbers, is in coRP also. If x ∈ L , if all t runs returns 0, we make mistake Miller and Rabin gave a primality test that always accepts prime Pr[algorithm makes a mistake t times] ≤ 1 numbers, but rejects composites with probability at least 1 / 2 2 t Thus, we can make the error exponentially small by polynomial number of repetitions. Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation Bounded-error Probabilistic Polynomial time Boosting for BPP Definition: BPP 2 / 3 is arbitrary and can be improved as follows: The complexity class BPP is the class of all languages L for which Repeat the algorithm t times, say it returns X i at the i -th run there exists a polynomial PTM M such that Take majority answer, i.e., if ≥ t / 2 times M returns 1, return ⇒ Prob [ M ( x ) = 1] ≥ 2 1, otherwise return 0 x ∈ L = 3 The Chernoff Bound ⇒ Prob [ M ( x ) = 1] < 1 Suppose X 1 , . . . , X t are t independent random variables with x / ∈ L = 3 values in { 0 , 1 } and for every i , Pr[ X i = 1] = p . Then M answers correctly with probability 2 / 3 on any input x regardless t if x ∈ L or x / ∈ L Pr [1 X i − p > ǫ ] < e − ǫ 2 . t � 2 p (1 − p ) t i =1 Example of BPP Primes, the set of all prime numbers, is in BPP . t Pr [1 X i − p > − ǫ ] < e − ǫ 2 . t � BPP is closed under complement. 2 p (1 − p ) t i =1 BPP = coBPP Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation

  4. Boosting for BPP RP ⊆ BPP RP x ∈ L : M outputs correctly if � t i =1 X i ≥ t 2 x ∈ L ⇒ Prob [ M ( x ) = 1] ≥ 1 The algorithm makes a mistake when � t i =1 X i < t 2 2 x / ∈ L ⇒ Prob [ M ( x ) = 1] = 0 Pr [ Algorithm outputs the wrong answer on x ] = Pr [ � t i =1 X i < t 2 ] BPP x ∈ L ⇒ Prob [ M ( x ) = 1] ≥ 2 = Pr [ 1 � t i =1 X i < 1 2 ] 3 t ∈ L ⇒ Prob [ M ( x ) = 1] < 1 x / = Pr [ 1 � t i =1 X i − 2 / 3 < − 1 6 ] 3 t t ≤ e − 36 · 2 · 2 / 3 · 1 / 3 Can boost RP probability by running twice: = e − ct , where c is some constant x ∈ L ⇒ Prob [ M ( x ) = 1] ≥ 3 ≤ 1 2 n for t = (ln 2 n ) / c 4 So by running the algorithm O ( n ) times, reduce probability x / ∈ L ⇒ Prob [ M ( x ) = 1] = 0 exponentially Clearly the above definition satisfies BPP Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation A Theorem on ZPP A Theorem on ZPP Theorem ZPP = RP ∩ coRP Let M ′ be a Turing Machine that on input x , returns 0 if This Theorem has two parts: M ( x ) =“don’t know” and otherwise returns M ( x ). ZPP ⊆ RP ∩ coRP If x ∈ L , then Prob[ M ( x ) = 1 or M ( x ) =“don’t know”] = 1. RP ∩ coRP ⊆ ZPP So Prob[ M ′ ( x ) = 1] = 1. ZPP ⊆ RP ∩ coRP has two parts ∈ L , then Prob[ M ( x ) = 0] ≥ 1/2. So Prob[ M ′ ( x ) = 0] ≥ If x / ZPP ⊆ RP 1/2 as well. ZPP ⊆ coRP So L ∈ coRP , and ZPP ⊆ coRP Here we prove ZPP ⊆ coRP Let L ∈ ZPP . Then there is a machine M that, for all x , either correctly determines whether or not x ∈ L or outputs “don’t know”. It does the latter with probability at most 1 / 2. Nabil Mustafa Randomized Computation Nabil Mustafa Randomized Computation

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend