Complexité du circuit arithmétique monotone des polynômes symétriques élémentaires?


14

Le k -ième polynôme symétrique élémentaire est la somme de tous produits de variables distinctes. Je m'intéresse à la complexité du circuit arithmétique monotone de ce polynôme. Un algorithme de programmation dynamique simple (ainsi que la figure 1 ci-dessous) donne un circuit avec des portes .Skn(x1,,xn)(nk)k(+,×)(+,×)O(kn)

Question: une limite inférieure de connue? Ω(kn)

Un circuit est asymétrique si au moins une des deux entrées de chaque porte de produit est une variable. Un tel circuit est en fait le même que le réseau de commutation et de rectification (un graphique acyclique dirigé avec quelques bords étiquetés par des variables; chaque chemin st donne le produit de ses étiquettes, et la sortie est la somme de tous les chemins st). Il y a déjà 40 ans, Markov a prouvé un résultat étonnamment serré: un circuit arithmétique monotone minimal pour a exactement portes de produit. La limite supérieure découle de la figure 1: (+,×)Skn k(nk+1)entrez la description de l'image ici

Mais je n'ai vu aucune tentative de prouver une telle limite inférieure pour les circuits non asymétriques. Est-ce simplement notre «arrogance», ou y a-t-il des difficultés inhérentes observées en cours de route?

PS Je sais que les portes sont nécessaires pour calculer simultanément tous les . Cela découle de la limite inférieure de la taille des circuits booléens monotones triant l'entrée 0-1; voir page 158 du livre d' Ingo Wegener . Le réseau de tri AKS implique également que les portes sont suffisantes dans ce cas (booléen). En fait, Baur et Strassen ont prouvé une limite étroite sur la taille du circuit arithmétique non monotone pour . Mais qu'en est-il des circuits arithmétiques monotones ?S n 1 , , S n n O ( n log n ) Θ ( n log n ) S n n / 2Ω(nlogn)S1n,,SnnO(nlogn)Θ(nlogn)Sn/2n

Réponses:


6

Un défi est que si vous supprimez la restriction « monotone », nous ne savons comment calculer ces choses efficacement. Vous pouvez calculer la valeur de tous les (évaluer tous les n + 1 polynômes symétriques élémentaires) en temps O ( n log 2 n ) , en utilisant la multiplication polynomiale basée sur FFT. Donc, prouver une borne inférieure Ω ( n k ) dans le modèle de circuit monotone nécessiterait de prouver un Ω ( n 2 )S0n,,Snnn+1O(nlog2n)Ω(nk)Ω(n2) borne inférieure sur la multiplication polynomiale.

Voici comment. Introduire un inconnu formel , et considérer le polynômey

P(y)=i=1n(1+xiy).

Notez que les étant des constantes connues, il s'agit d'un polynôme univarié avec y inconnu et de degré n . Vous pouvez maintenant noter que le coefficient de y k dans P ( y ) est exactement S n k , donc pour évaluer tous les S n 0 , , S n n , il suffit de calculer P ( y ) .xiynykP(y)SknS0n,,SnnP(y)

Cela permet de calculer en temps O ( n lg 2 n ) : construire un arbre binaire équilibré de polynômes avec les ( 1 + x i y ) à la feuille, et multiplier les polynômes. La multiplication de deux polynômes de degré d prend du temps O ( d lg d ) en utilisant des techniques FFT, donc on obtient la récurrence T ( n ) = 2 T ( n / 2 ) +P(y)O(nlg2n)(1+xiy)dO(dlgd) , qui résout à T ( n ) = O ( n lg 2 n ) . Pour plus de commodité, j'ignore les facteurs poly ( lg lg n ) .T(n)=2T(n/2)+O(nlgn)T(n)=O(nlg2n)poly(lglgn)

Si vous vous souciez du cas où est très petit, vous pouvez calculer S n 0 , , S n k en temps O ( n lg 2 k ) en utilisant des astuces similaires, en gardant à l'esprit que vous ne vous souciez que du mod P ( x ) y k + 1 (c.-à-d. jeter tous les termes de y k + 1 ou des puissances supérieures de y ).kS0n,,SknO(nlg2k)P(x)modyk+1yk+1y

Bien sûr, la FFT utilise la soustraction, donc naïvement elle n'est pas exprimable dans un circuit monotone. Je ne sais pas s'il existe un autre moyen de multiplier efficacement les polynômes avec des circuits arithmétiques monotones, mais toute méthode monotone efficace pour la multiplication polynomiale conduit immédiatement à un algorithme pour votre problème également. Ainsi, les limites inférieures de votre problème nécessitent / impliquent des limites inférieures pour la multiplication polynomiale.


2
DW, merci d'avoir rappelé cette construction! Il est généralement attribué à Ben-Or, et j'aurais dû le mentionner. La construction donne également une <i> formule </i> de taille et de profondeur seulement 3 (!) Calculant l'opérateur S n 0 , , S n n (en évaluant P ( y ) à un certain n + 1O(n2)3S0n,,SnnP(y)n+1points). Cela a été utilisé pour séparer les formules homogènes et non homogènes à faible profondeur. Mais, comme vous le mentionnez, la construction utilise essentiellement la soustraction. Donc, ma question demande: dans quelle mesure cette utilisation est-elle "substantielle"? Cela pourrait également être intéressant dans un scénario à profondeur limitée.
Stasys

3
@Stasys: Je pense que la soustraction est assez cruciale. Viz. la borne inférieure de Nisan-Wigderson sur la profondeur 3 circuits homogènes ; dans des circuits homogènes de profondeur 3, le fait est qu'il est inutile de calculer des termes dont les degrés diffèrent du degré de la sortie. Cela limite donc les types d'annulations qui peuvent se produire. Alors que dans la construction Ben-Or, pour calculer , il faut calculer un polynôme de degré n (même si la sortie a le degré k < n ), puis utiliser l'annulation pour se débarrasser des termes de degrés > k . Ce n'est pas une preuve, juste une intuition ...Sknnk<n>k
Joshua Grochow

@Joshua: oui, nous savons que les coefficients de la variable dans le polynôme P ( y , x ) sont exactement les polynômes S n k ( x ) . Mais nous avons besoin de Gauss (et donc de soustractions) pour extraire ces coefficients de n + 1 valeurs de P ( y ) sur n + 1 points distincts. Ma question demande si le «mot monotone» n'a pas de Gauss en effet , dans ce cas. (Avec une réponse supposée - NON.) Je ne suis pas sûr que pour cela, il suffit de se débarrasser des termes de degrés >yP(y,x)Skn(x)n+1P(y)n+1>kk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.