arithmetic circuit identity testing for sparse polynomials
play

Arithmetic Circuit Identity Testing for Sparse Polynomials - PowerPoint PPT Presentation

Arithmetic Circuit Identity Testing for Sparse Polynomials Speaker: Moritz Hardt Joint work with Markus Blser, Saarland University C M U T h e o r y L u n c h , A p r i l 2 5 2 0 0 7 Quick Reminder Arithmetic Circuit 1 2


  1. Arithmetic Circuit Identity Testing for Sparse Polynomials Speaker: Moritz Hardt Joint work with Markus Bläser, Saarland University C M U T h e o r y L u n c h , A p r i l 2 5 2 0 0 7

  2. Quick Reminder Arithmetic Circuit  1  2 • division-free ∗ c • size = #gates + ∗ 2  4 y + 2  y 4 Sparse Polynomial: few nonzero monomials

  3. Arithmetic Circuit Identity Testing (ACIT) Given an arithmetic circuit of size s computing a polynomial P , determine if P is identically zero.

  4. Plan 1. Study the univariate Deterministic algorithm case first. that exploits the sparsity of the input polynomial 2. Randomize! 3. Reductions from multivariate to univariate.

  5. How many roots can a nonzero univariate polynomial have?

  6. How many roots can a nonzero univariate polynomial have? d (degree)

  7. How many roots can a nonzero univariate polynomial have? d (degree) Naive poly( d,s ) -time algorithm �

  8. How many roots can a nonzero univariate polynomial have? d (degree) Naive poly( d,s ) -time algorithm � Can we say anything better?

  9. Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots.

  10. Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots. Proof: Rule of Signs.

  11. Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots. Proof: Rule of Signs. Naive poly( m,s ) -time algorithm (over the reals) ?

  12. Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots. Proof: Rule of Signs. Naive poly( m,s ) -time algorithm (over the reals) ? No! Why not?

  13. Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots. Proof: Rule of Signs. Naive poly( m,s ) -time algorithm (over the reals) ? No! Why not? Can we still do it?

  14. Previous Work Lipton, Vishnoi ’03. • poly( m,n, log d,H ) runtime over the integers Klivans, Spielman ’01. • O (log( mnd )) random bits Karpinski, Shparlinski ’96 • poly( m,n, log d ) runtime over finite fields, ( but either a lot of randomness or dependence on the characteristic)

  15. Previous Work Lipton, Vishnoi ’03. • poly( m,n, log d,H ) runtime over the integers Klivans, Spielman ’01. • O (log( mnd )) random bits Karpinski, Shparlinski ’96 • poly( m,n, log d ) runtime over finite fields, ( but either a lot of randomness or dependence on the characteristic) Further related work on sparse polynomial interpolation...

  16. Previous Work Lipton, Vishnoi ’03. • poly( m,n, log d,H ) runtime over the integers Klivans, Spielman ’01. • O (log( mnd )) random bits Karpinski, Shparlinski ’96 • poly( m,n, log d ) runtime over finite fields, ( but either a lot of randomness or dependence on the characteristic) Further related work on sparse polynomial interpolation... Not related to sparsity: Agrawal, Biswas ’99 • Randomness-efficient test using arithmetic circuits

  17. Our result • Deterministic test using poly( m , s ) ring operations over any integral domain ‣ amounts to runtime poly( m , n ,log d , H ) over integers or rationals, for instance • Lower exponents in the runtime with fewer random bits • Very simple algorithm

  18. Algorithm Given an arithmetic circuit computing a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p .

  19. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . What is sufficient ?

  20. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . What is sufficient ? Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0

  21. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0

  22. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0

  23. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0 2 nd Idea : Count prime factors!

  24. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0 2 nd Idea : Count prime factors! Fix two monomials  d ,  d ′ .

  25. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0 2 nd Idea : Count prime factors! Fix two monomials  d ,  d ′ . mod p, we have p | ( d − d ′ ) . If d ≡ d ′

  26. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0 2 nd Idea : Count prime factors! Fix two monomials  d ,  d ′ . mod p, we have p | ( d − d ′ ) . If d ≡ d ′ But, | d − d ′ | ≤ d.

  27. Claim: Given polynomial , degree d , nonzero P (  ) m > 0 monomials, then there are less than m log d primes p for which mod  p − 1 . P (  ) ≡ 0 1 st Idea : We’re reducing degrees mod p.  kp + r ≡  r mod  p − 1 r < p, k ≥ 0 2 nd Idea : Count prime factors! Fix two monomials  d ,  d ′ . mod p, we have p | ( d − d ′ ) . If d ≡ d ′ But, | d − d ′ | ≤ d. At most log d bad primes per pair of monomials!

  28. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . How?

  29. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . How? Claim: If P is given as an arithmetic circuit of size s , we can verify P (  ) ≡ 0 mod  k − 1 with Õ(sk) ring operations (over an integral domain) .

  30. Claim: If P is given as an arithmetic circuit of size s , we can verify P (  ) ≡ 0 mod  k − 1 with Õ(sk) ring operations (over an integral domain) .

  31. Claim: If P is given as an arithmetic circuit of size s , we can verify P (  ) ≡ 0 mod  k − 1 with Õ(sk) ring operations (over an integral domain) . Idea: Compute the whole polynomial in its reduced form.

  32. Claim: If P is given as an arithmetic circuit of size s , we can verify P (  ) ≡ 0 mod  k − 1 with Õ(sk) ring operations (over an integral domain) . Idea: Compute the whole polynomial in its reduced form. Example ( k=5 ) (  2 ) 2 =  4 (  4 ) 2 =  8 (  3 ) 2 =  6  2 →  3 →   ∗ ∗ ∗ ∗ Invariant: Degree k polynomial at each gate

  33. So far: Deterministic algorithm runtime poly( m,s ) Next step: Randomization

  34. So far: Deterministic algorithm runtime poly( m,s ) Next step: Randomization Goal: Õ (log( ms )) random bits, speed up runtime as much as possible, hopefully poly( s ) . No m , here.

  35. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . a large enough random prime p .

  36. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for sufficiently many primes p . a large enough random prime p . OK, O (log p ) = Õ ( m log d ) random bits.

  37. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for a large enough random prime p . Are we done?

  38. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for a large enough random prime p . Are we done? Runtime “ poly( p ,s) ”

  39. Given a univariate polynomial P, verify P (  ) ≡ 0 mod  p − 1 for a large enough random prime p . Are we done? Runtime “ poly( p ,s) ” Not efficient general, but still nice speed up.

  40. Open Problem Can we verify P (  ) ≡ 0 mod  p − 1 with poly( s ) ring operations and O (log p ) random bits ?

  41. From multivariate to univariate n Random bits s m d not much none n ( d + 1 ) n 1 m more not much ≤ m ( mnd ) k ˜ O ( log ( mn log d )) 1 sound w.h.p. more

  42. Deterministic Reduction Given: P (  1 ,  2 , . . . ,  n ) • max variable degree d

  43. Deterministic Reduction Given: P (  1 ,  2 , . . . ,  n ) • max variable degree d Substitute   : =  ( d + 1 )  − 1

  44. Deterministic Reduction Given: P (  1 ,  2 , . . . ,  n ) • max variable degree d Substitute   : =  ( d + 1 )  − 1 Circuit of size n log d repeated squaring

  45. Randomized Reduction • Uses the mapping by Klivans and Spielman ’01 • Adds a step of chinese remaindering to it to further decrease # random bits: O (log( mnd )) Õ (log( mn log d ))

Recommend


More recommend