Tests d'identité polynomiale est l'exemple type d'un problème connu pour être co-RP mais pas connu pour être en P . Sur les circuits arithmétiques , cela semble en effet difficile, car le degré du polynôme peut être rendu exponentiellement grand par quadrature répétée. Cette question aborde la question de savoir comment contourner ce problème et conserver le problème en temps polynomial aléatoire.
D'un autre côté, lorsque le problème est présenté initialement (par exemple ici ), il est souvent illustré sur des expressions arithmétiques contenant uniquement des constantes, des variables, l'addition et la multiplication. Ces polynômes ont un degré total d'au plus polynôme dans la longueur de l'expression d'entrée, et pour tout polynôme de ce type, la taille de la valeur de sortie est polynomiale dans la taille des valeurs d'entrée. Mais comme un polynôme de degré a au plus racines, n'est-ce pas trivial? Il suffit d'évaluer le polynôme sur les rationnels à n'importe quel points distincts et vérifiez si le résultat est nul à chaque point. Cela ne devrait prendre que du temps polynomial. Est-ce correct? Si oui, pourquoi les expressions arithmétiques sans sous-expressions partagées sont-elles souvent utilisées comme exemples, alors que le partage est essentiel à la difficulté du problème?
la source
Pour un polynôme univarié , oui, c'est aussi simple que cela.p(x)
Pour un polynôme multivarié , non, aucun algorithme de ce type ne fonctionne.p(x1,x2,…,xk)
En particulier, lorsque vous écrivez "un polynôme de degré a au plus racines", cela est vrai pour les polynômes univariés , mais ce n'est pas vrai en général pour les polynômes multivariés. Ricky Demer donne un exemple simple: est de degré deux, mais a une infinité de racines.d d p(x) p(x,y)=xy
la source
Voici une manière plus générale / abstraite de comprendre la signification / la dureté des tests d'identité polynomiale en CS. l'une des raisons pour lesquelles les tests d'identité polynomiale font actuellement l'objet d'études approfondies, car on sait depuis longtemps qu'ils sont étroitement liés à la complexité des circuits booléens. imaginez prendre deux circuits booléens arbitraires, puis les convertir (c'est-à-dire, en gros, établir un mappage 1-1) en polynômes multivariés. ce n'est pas si difficile. fondamentalement, on utilise des valeurs de 0/1 pour représenter faux / vrai et les constructions sont mises en place dans de vieux papiers. alors les racines du polynôme correspondent à des affectations de variables T / F qui satisfont les formules / circuits.
après cette configuration, PIT est pratiquement le même problème que de déterminer si deux circuits binaires sont équivalents. il existe également d'autres (plus récentes) preuves profondes qui disent que sa complexité est presque équivalente à la factorisation des polynômes [ 1 ]. comparé pour une équivalence "rapidement", ce qui est peu probable. donc une façon approximative de comprendre le problème est qu'il est presque équivalent à des problèmes non triviaux dans la théorie des circuits booléens.
la source