Lemme de Schwartz-Zippel
En mathématiques, le lemme de Schwartz-Zippel est un résultat important pour évaluer l'égalité entre deux polynômes multivariés. Ce lemme donne naturellement un algorithme probabiliste efficace pour résoudre la question de l'égalité entre polynômes, qui fut historiquement le premier à être prouvé correct[1]. De fait il possède de nombreuses applications en théorie des nombres, en cryptographie, en géométrie, mais également dans les problèmes issues de la théorie des graphes et en théorie de la complexité[1].
Histoire
Le résultat lui-même a été redécouvert plusieurs fois de manière indépendante. En 1922 Øystein Ore publie une première version limitée aux corps finis[2], puis Richard DeMillo et Richard Lipton publient une version faible en 1978[3]. Le lemme sous sa forme (forte) actuelle est due simultanément à Jack Schwartz[4] et Richard Zippel[5] en 1979, qui l'ont présenté indépendamment à la même conférence[6]. En dépit de ses nombreux auteurs, et bien que n'étant pas issu d'une collaboration entre eux, le résultat est le plus souvent simplement attribué à « Schwartz-Zippel. »
Énoncé du lemme
On se place dans un corps commutatif et on considère un polynôme multivarié , non identiquement nul, de degré .
Soit un sous-ensemble fini non vide de . Si sont des éléments tirés uniformément et indépendamment de , alors
où la fonction est bornée par:
- dans la version forte du lemme (due à Schwartz);
- dans la version faible du lemme (due à DeMillo, Lipton, et Zippel).
Note : dans le cas des corps finis , il est possible qu'un polynôme s'évalue toujours à zéro sans être nul pour autant, comme par exemple , rendant inopérant le résultat de Schwartz-Zippel ; cette situation est évitée en s'assurant que .
Preuve du lemme
Nous allons démontrer la version forte, la version faible en découlant naturellement. La preuve s'obtient par récurrence sur .
Le cas correspond simplement au fait qu'un polynôme de degré possède au plus racines dans . Cela se montre aisément par contradiction : s'il y avait plus de racines, on pourrait écrire comme un produit d'au moins facteurs de la forme et donc serait de degré au moins , ce qui est faux. Ainsi le cas du théorème est établi.
On suppose alors que le résultat tient pour tous les polynômes en variables, et on procède ainsi : soit , on extrait la dépendance en de la manière suivante :
en notant que cela est possible car le corps est commutatif.
Tous les polynômes ne peuvent pas être nuls, car sinon serait identiquement nul, ce qui est faux. Soit alors le plus grand indice tel que . Par construction, le degré de est au plus , c'est-à -dire que le degré de est au plus . L'hypothèse de récurrence donne alors :
Si ne s'annule pas sur , alors est au moins de degré . Appliquant encore l'hypothèse de récurrence, on a ainsi
On conclut de la manière suivante : dénotons par l'événement correspondant à l'annulation de , et par l'annulation de . Les deux formules ci-dessus s'écrivent alors :
Ce qui permet d'écrire
Ainsi on a montré que le théorème est vrai pour un polynôme en variables.
Test d'identité polynomiale
Le lemme de Schwartz-Zippel donne immédiatement un algorithme probabiliste pour tester la nullité d'un polynôme, ou l'égalité entre deux polynômes (on teste la nullité de leur différence). Il suffit en effet de tirer valeurs uniformément au hasard et d'évaluer le polynôme, quitte à réitérer la procédure jusqu'à atteindre le niveau de certitude souhaité.
Les meilleures méthodes déterministes pour résoudre ce problème, lorsque le polynôme est fourni sous forme par exemple d'un circuit arithmétique, sont de complexité exponentielle. L'utilisation d'un aléa permet donc un gain substantiel et fait du lemme de Schwartz-Zippel un outil important. Réciproquement, trouver un algorithme déterministe aussi efficace aurait des implications profondes sur la théorie de la complexité[7] - [8].
Si on considère une classe restreinte de polynômes (généralement exprimés comme des circuits arithmétiques contraints) alors quelques algorithmes déterministes efficaces sont connus, au moins pour la profondeur 2 et 3[9] - [10], ou des instances très creuses[11]. La profondeur 4 est abordable uniquement pour des classes très réduites[12].
Parmi les algorithmes probabilistes, celui de Schwartz-Zippel est le plus efficace connu, mais il présente le défaut de consommer beaucoup d'aléa. Il existe des variantes plus parcimonieuses, telles que l'algorithme de Chen et Kao[13] ou Lewin et Vadhan[8], qui utilisent moins de bits aléatoires mais ont une complexité plus grande.
Applications
- En théorie de la complexité. Le lemme joue un rôle clé dans la preuve par Adi Shamir de IP = PSPACE[14], plus spécifiquement dans l'étape montrant que QSAT appartient à ABPP[15].
- En théorie des nombres. Le test de primalité d'Agrawal-Biswas[16] repose sur l'algorithme de Schwartz-Zippel pour tester l'égalité , qui vaut lorsque est premier.
- En géométrie. En 2008, Zeev Dvir a démontré la conjecture de Kakeya dans les corps finis via une preuve remarquablement simple qui s'appuie notamment sur le lemme de Schwartz-Zippel[17].
- En logique. L'identité entre diagrammes de décision binaire se ramène au problème de l'identité entre polynômes et peut donc être abordée par les mêmes outils.
- En théorie des graphes. Via le théorème de Tutte[18], l'existence d'un couplage équivaut à ce que le polynôme caractéristique d'une certaine matrice soit le polynôme nul, ce que permet de vérifier (en probabilité) le lemme de Schwartz-Zippel[19].
- En algorithmique. Si sont des matrices carrées de taille , l'identité peut être vérifiée en temps en appliquant le lemme, plutôt que en effectuant le produit et en comparant.
- En cryptographie. En 2016, Garg et coll. ont proposé une construction d'obfuscation cryptographique dont la sécurité repose notamment sur une extension du lemme de Schwartz-Zippel à des valeurs tirées des distributions générales avec assez d'entropie (à la place d'exiger la distribution uniforme) et possiblement présentant une dépendance entre elles (à la place d'exiger que les valeurs soient indépendantes)[20].
Références
- (en) Nitin Saxena, « Progress on Polynomial Identity Testing », Bulletin of the EATCS 99,‎ , p. 49-79
- (de) Øystein Ore, « Über höhere Kongruenzen », Norsk Mat. Forenings Skrifter, Ser I. no 7,‎
- (en) Richard A. Demillo et Richard J. Lipton, « A probabilistic remark on algebraic program testing », Information Processing Letters, vol. 7, no 4,‎ , p. 193–195 (DOI 10.1016/0020-0190(78)90067-4, lire en ligne, consulté le )
- (en) Jack T. Schwartz, « Fast Probabilistic Algorithms for Verification of Polynomial Identities », Journal of the ACM (JACM), vol. 27, no 4,‎ , p. 701–717 (ISSN 0004-5411, DOI 10.1145/322217.322225, lire en ligne, consulté le )
- (en) Richard Zippel, « Probabilistic algorithms for sparse polynomials », International Symposium on Symbolic and Algebraic Manipulation (EUROSAM) 1979, Symbolic and Algebraic Computation,‎ , p. 216-226
- (en) Richard Lipton, « The Curious History of the Schwartz-Zippel Lemma »,
- (en) Valentine Kabanets et Russell Impagliazzo, « Derandomizing Polynomial Identity Tests Means Proving Circuit Lower Bounds », computational complexity, vol. 13, nos 1-2,‎ , p. 1–46 (ISSN 1016-3328 et 1420-8954, DOI 10.1007/s00037-004-0182-6, lire en ligne, consulté le )
- (en) Daniel Lewin et Salil Vadhan, « Checking polynomial identities over any field: towards a derandomization? », Proceedings of the Thirtieth Annual ACM Symposium on the Theory of Computing, ACM,‎ , p. 438–447 (ISBN 0897919629, DOI 10.1145/276698.276856, lire en ligne, consulté le )
- (en) Richard J. Lipton et Nisheeth K. Vishnoi, « Deterministic identity testing for multivariate polynomials », Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms,‎ , p. 756-760
- (en) N. Saxena et C. Seshadhri, « An Almost Optimal Rank Bound for Depth-3 Identities », SIAM Journal on Computing, vol. 40, no 1,‎ , p. 200–224 (ISSN 0097-5397, DOI 10.1137/090770679, lire en ligne, consulté le )
- (en) Michael Ben-Or et Prasoon Tiwari, « A deterministic algorithm for sparse multivariate polynomial interpolation », Proceedings of the 20th Annual ACM Symposium on Theory of Computing, ACM,‎ , p. 301–309 (ISBN 0897912640, DOI 10.1145/62212.62241, lire en ligne, consulté le )
- (en) Amir Shpilka et Amir Yehudayoff, « Arithmetic Circuits: A survey of recent results and open questions », Foundations and Trends in Theoretical Computer Science, vol. 5, nos 3-4,‎ , p. 207–388 (DOI 10.1561/0400000039, lire en ligne, consulté le )
- (en) Z. Chen et M. Kao, « Reducing Randomness via Irrational Numbers », SIAM Journal on Computing, vol. 29, no 4,‎ , p. 1247–1256 (ISSN 0097-5397, DOI 10.1137/s0097539798341600, lire en ligne, consulté le )
- (en) Adi Shamir, « IP = PSPACE », Journal of the ACM (JACM), vol. 39, no 4,‎ , p. 869–877 (ISSN 0004-5411, DOI 10.1145/146585.146609, lire en ligne, consulté le )
- Nathanaël François, « IP = PSPACE »,
- (en) M. Agrawal et S. Biswas, « Primality and identity testing via Chinese remaindering », 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039),‎ , p. 202–208 (DOI 10.1109/sffcs.1999.814592, lire en ligne, consulté le )
- (en-US) Zeev Dvir, « On the size of Kakeya sets in finite fields », Journal of the American Mathematical Society, vol. 22, no 4,‎ , p. 1093–1097 (ISSN 0894-0347 et 1088-6834, DOI 10.1090/s0894-0347-08-00607-3, lire en ligne, consulté le )
- (en) William T. Tutte, « The Factorization of Linear Graphs », Journal of the London Mathematical Society, vol. s1-22, no 2,‎ , p. 107–111 (ISSN 1469-7750, DOI 10.1112/jlms/s1-22.2.107, lire en ligne, consulté le )
- (en) László Lovász, « On determinants, matchings, and random algorithms », FCT,‎ , p. 565-574 (lire en ligne)
- (en) Sanjam Garg, Eric Miles, Pratyay Mukherjee et Amit Sahai, « Secure Obfuscation in a Weak Multilinear Map Model », Theory of Cryptography, Springer, Berlin, Heidelberg, lecture Notes in Computer Science,‎ , p. 241–268 (ISBN 9783662536438, DOI 10.1007/978-3-662-53644-5_10, lire en ligne, consulté le )