Soit un polynôme de degré d dans n variables sur F 2 , où d est constant (disons 2 ou 3). Je voudrais trouver la plus petite formule pour f , où «formule» et «taille de formule» sont définies de manière évidente (par exemple, la plus petite formule pour le polynôme x 1 x 2 + x 1 x 3 est x 1 ( x 2 + x 3 ) ).
Quelle est la complexité de ce problème - est-il difficile à NP? La complexité dépend-elle de ?
[Plus formellement, une formule (alias "formule arithmétique") est un arbre binaire enraciné, dont chacune des feuilles est étiquetée avec une variable d'entrée ou la constante 1. Tous les autres sommets de l'arbre sont étiquetés avec ou × . La taille de la formule est le nombre de feuilles utilisées. La formule calcule un polynôme récursivement: + sommets calculent la somme de leurs enfants sur F 2 , × sommets calculent le produit. ]
la source
Réponses:
Vous pouvez réduire le problème de co-NP-Complete TAUTOLOGY (étant donné une formule booléenne, est-ce une tautologie?) Au problème de la réduction de la taille de la formule (car une formule est une tautologie si elle est équivalente à VRAIE). De plus, TAUTOLOGY for 3DNFs (par analogie avec SAT for 3CNFs) est co-NP-Complete.
la source
Pas exactement la réponse, mais j'espère que cela aide:
Cette question devrait déjà être NP difficile pour d = 2 si vous voulez connaître la formule minimale pour polynômes et pas seulement pour un. La preuve est la suivante: il existe une correspondance un à un entre n formules bi-linéaires (formules de type ∑ a i j x i y j ) et les matrices tensorielles 3 c'est-à-dire les éléments en F n 2 ⊗ F n 2 ⊗ F n 2 . Telle que le rang tensoriel de la matrice est exactement la complexité de multiplication de n formules bi-linéaires.n ∑aijxiyj Fn2⊗Fn2⊗Fn2
Il est connu que le rang de tenseur est un problème NP-difficile (approximativement le rang de tenseur est également NP-difficile). Ainsi, la complexité de multiplication de n formules bi-linéaires est un problème NP-difficile3 n
la source
Toute réponse à cela dépend énormément du vocabulaire que vous autorisez dans la réponse. Si vous voulez que votre réponse soit dans la même langue que l'entrée (c'est-à-dire en tant que polynôme), cela conduit à un ensemble de réponses, ce avec quoi d'autres affiches ont eu du mal.
Mais si vous permettez à votre vocabulaire de réponse d'être élargi, des choses merveilleuses peuvent se produire. Vous pouvez voir un exemple dans la différenciation symbolique vs automatique: dans la différenciation symbolique, on ne permet que les «expressions», qui ont tendance à exploser assez mal; en différenciation automatique, on permet des programmes en ligne droite dans la réponse (même si l'entrée était une expression), ce qui aide grandement à contrôler le gonflement de l'expression. Pour les polynômes univariés, James Davenport et moi avons réfléchi que vous devez également ajouter des polynômes cyclotomiques dans votre vocabulaire de base (voir les références expliquant pourquoi ces polynômes semblent être la seule véritable source d'explosion, ainsi que les articles qui montrent divers résultats de réductibilité entre les problèmes polynomiaux et 3SAT).
En d'autres termes, si vous vous permettez de varier un peu ce que vous considérez comme une réponse de la réponse classique, vous pourrez peut-être simplement obtenir une réponse assez différente, c'est-à-dire avec une bien meilleure complexité. Cela dépend de votre motivation initiale à poser la question, qu'elle soit purement théorique ou avec une application en tête, pour décider si cette variation de vocabulaire vous convient. Dans le contexte où James et moi avons réfléchi à cela (calcul symbolique), ajuster le vocabulaire pour faire chuter la complexité est parfaitement acceptable (bien que rarement fait).
la source
La minimisation générale des circuits / formules est certainement plus difficile que les tests d'identité, car la taille minimale de formule de toute identité est simplement nulle. Quant à savoir combien plus difficile, je n'ai pas de réponse définitive, mais peut-être les "algorithmes de reconstruction" étudiés dans les circuits / formules arithmétiques pourraient être quelque chose dans ce sens.
Dans ces cas, on vous donne une boîte noire et on vous dit que c'est une formule dans une classe (disons un circuit de profondeur 3 ). L'objectif est de construire une représentation de la Blackbox dans (quelque chose près) C . En règle générale, la plupart des résultats de reconstruction supposent des tests d'identité de boîte noire pour la classe, le caractère aléatoire et parfois d'autres types de requêtes. De tels algorithmes de reconstruction sont disponibles pour certaines classes restreintes de circuits mais pas pour toutes les classes pour lesquelles nous connaissons des PIT de boîte noire. Shpilka et Yehudayoff ont une fantastique enquête (pdf) sur les circuits arithmétiques, et l'un des chapitres est entièrement consacré aux algorithmes de reconstruction.C 3 C
Mais dans votre cas, vous dites que est une constante et donc même si l'entrée a été donnée sous forme de boîte noire, il existe des algorithmes de reconstruction pour les polynômes clairsemés. Alors peut-être que les commentaires ci-dessus ne sont pas trop intéressants dans ce cas.d
De plus, dans le cas de , il existe des théorèmes de structure pour les quadratiques. Sous une transformation linéaire sur les variables, tout quadratique peut être réécrit sous la forme x 1 x 2 + x 3 x 4 + . . + x 2 k - 1 x 2 k + ℓ . Cette propriété a été utilisée par Bogdanov et Viola pour construire des PRG pour des polynômes de faible degré (pdf) (Lemme 17 de leur article).d=2 x1x2+x3x4+..+x2k−1x2k+ℓ
la source