Cette question peut être posée soit dans le cadre de la complexité des circuits des circuits booléens, soit dans le cadre de la théorie de la complexité algébrique, soit probablement dans de nombreux autres contextes. Il est facile de montrer, en comptant les arguments, qu'il existe des fonctions booléennes sur N entrées qui nécessitent exponentiellement de nombreuses portes (bien que nous n'ayons bien sûr aucun exemple explicite). Supposons que je souhaite évaluer la même fonction M fois, pour un entier M, sur M ensembles distincts d'entrées, de sorte que le nombre total d'entrées soit MN. Autrement dit, nous voulons simplement évaluer pour la même fonction à chaque instant.
La question est: sait-on qu'il existe une suite de fonctions (une fonction pour chaque N) telle que, pour tout N, pour tout M, le nombre total de portes nécessaires est au moins égal à M fois une fonction exponentielle de N? Le simple argument de comptage ne semble pas fonctionner puisque nous voulons que ce résultat soit valable pour tous les M. On peut trouver de simples analogues de cette question dans la théorie de la complexité algébrique et dans d'autres domaines.
la source
"Réseaux calculant des fonctions booléennes pour plusieurs valeurs d'entrée"
Je ne trouve pas de copie non bloquée en ligne, ni de page d'accueil pour l'auteur, mais je suis tombé sur le papier dans cette procédure:
Complexité de la fonction booléenne (série de notes de cours de la London Mathematical Society)
la source
En ce qui concerne la complexité algébrique, je ne connais pas d'exemple où la complexité exponentielle descend à la complexité amortie sous-exponentielle, mais au moins il y a un exemple simple que la complexité de M copies disjointes peut être nettement inférieure à M fois la complexité d'une seule copie :
Pour une matrice n * n "aléatoire" A, la complexité de la forme bilinéaire définie par A, (la fonction f_A (x, y) = xAy, où x et y sont 2 vecteurs de longueur n) est Oméga (n ^ 2 ) - cela peut être montré par un argument de dimension "de type comptage" puisque vous avez besoin de n ^ 2 "places" dans le circuit pour mettre des constantes. Cependant, étant donné n paires de vecteurs différentes (x ^ 1, y ^ 1) ... (x ^ n, y ^ n), vous pouvez mettre les x dans les lignes d'une matrice n * n X, et de même les y dans les colonnes d'une matrice Y, puis lisez toutes les réponses x ^ iAy ^ i à partir de la diagonale de XAY, où cela est calculé en n ^ 2,3 (ou plus) opérations utilisant une multiplication matricielle rapide, nettement inférieure à n * n ^ 2.
la source
Cela a été étudié et résolu par Wolfgang Paul qui a montré essentiellement ce qui est discuté.
la source