Umans Complexity Theory Lectures Randomization in Polynomial Identity










- Slides: 10
Umans Complexity Theory Lectures Randomization in Polynomial Identity Testing + Schwartz-Zippel Lemma
Polynomial identity testing • Given: polynomial p(x 1, x 2, …, xn) as arithmetic formula (fan-out 1): * • multiplication (fan-in 2) - • addition (fan-in 2) * • negation (fan-in 1) x 1 * + x 2 x 3 … xn 2
Polynomial identity testing • Question: Is p identically zero? – i. e. , is p(x) = 0 for all x Fn – (assume |F| larger than degree of p(x)) • “polynomial identity testing” because given two polynomials p, q, we can check the identity p q by checking if (p – q) 0 3
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 4
Polynomial identity testing Lemma (Schwartz-Zippel): Let p(x 1, x 2, …, 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, for uniform random choice of r 1, r 2, …, rn in S, Prr , …, r S[ p(r 1, r 2, …, rn) = 0] ≤ d/|S|. 1 2 n (Note: this probability bound does not depend on n. ) 5
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(r 1) = 0] ≤ d/|S| 6
Polynomial identity testing – write p(x 1, x 2, …, xn) as p(x 1, x 2, …, xn) = Σi (x 1)i pi(x 2, …, xn) – Let k = max i for which pi(x 2, …, xn) is not identically zero, – So pk(x 2, …, xn) has degree d-k. – By induction hypothesis: Pr[ pk(r 2, …, rn) = 0] ≤ (d-k)/|S| – Whenever pk(r 2, …, rn) ≠ 0, p(x 1, r 2, …, rn) is a univariate polynomial of degree k, so by induction hypothesis: Pr[p(r 1, r 2, …, rn)=0 | pk(r 2, …, rn) ≠ 0] ≤ k/|S| 7
Polynomial identity testing So we have shown both: (1) Pr[ pk(r 2, …, rn) = 0] ≤ (d-k)/|S|, and (2) Pr[p(r 1, r 2, …, rn)=0 | pk(r 2, …, rn) ≠ 0] ≤ k/|S| We Conclude: Pr[ p(r 1, …, rn) = 0] ≤ (d-k)/|S| + k/|S| = d/|S| – Note: can add these probabilities (1) + (2) because: Pr[E 2] = Pr[E 2|E 1]Pr[E 1] + Pr[E 2| E 1]Pr[ E 1] ≤ Pr[E 1] + Pr[E 2| E 1] 8
Polynomial identity testing • Given: polynomial p(x 1, x 2, …, xn) * - • Is p identically zero? * x 1 * + x 2 x 3 … xn • Note: degree d is at most the size of input 9
Polynomial identity testing • Randomized algorithm: • given field F, pick a subset S F of size 2 d – pick r 1, r 2, …, rn from S uniformly at random – if p(r 1, r 2, …, rn) = 0, answer “yes” – if p(r 1, r 2, …, rn) ≠ 0, answer “no” • if p is identically zero, then never wrong • if not, Schwartz-Zippel ensures probability of error at most ½ (Can extend the result to multivariate polynomials defined by algebriac circuits. ) 10










