Déterminants et multiplication matricielle - Similitude et différences de complexité algorithmique et de taille des circuits arithmétiques


11

J'essaie de comprendre la relation entre la complexité algorithmique et la complexité du circuit des déterminants et de la multiplication matricielle.

On sait que le déterminant d'unmatrice n × n peut êtrecalculéen temps ˜ O ( M ( n ) ) , où M ( n ) est le temps minimum requis pour multiplier deuxmatrices n × n . Il est également connu que la meilleure complexité du circuit des déterminants estpolynomialeà la profondeur O ( log 2 ( n ) ) etexponentiellen×nO~(M(n))M(n)n×nO(log2(n)) à la profondeur 3. Mais la complexité du circuit de multiplication matricielle, pour toute profondeur constante, n'est que polynomiale.

Pourquoi y a-t-il une différence dans la complexité du circuit pour les déterminants et la multiplication matricielle alors que l'on sait que d'un point de vue algorithme, le calcul des déterminants est similaire à la multiplication matricielle? Plus précisément, pourquoi les complexités du circuit ont-elles un espace exponentiel à la profondeur ?3

Probablement, l'explication est simple mais je ne la vois pas. Y a-t-il une explication avec «rigueur»?

Voir aussi: Plus petite formule connue pour le déterminant

Réponses:


3

Considérez le problème de valeur de circuit et l'évaluation de formule booléenne pour diverses classes de petite complexité. Leur complexité temporelle séquentielle déterministe est similaire à notre connaissance, mais elle est très différente du point de vue de la complexité du circuit. La similitude dans un type particulier de ressource sur un modèle n'implique pas la similitude pour d'autres ressources dans d'autres modèles. Un problème peut être tel que nous pouvons exploiter le calcul parallèle pour un alors que nous ne pouvons pas le faire pour un autre, mais leur complexité temporelle séquentielle peut être la même.

Quand peut-on s'attendre à une relation plus robuste entre la complexité de deux problèmes entre les modèles et les différentes ressources? Quand ils sont robustes, une réduction entre eux dans les deux sens qui respecte les ressources dans ces modèles.

Edit: la multiplication a une profondeur sous-exponentielle de 3 circuits. La démonstration d'une borne inférieure de ce type pour le déterminant montrerait qu'il n'est pas dans séparant de N C 2 qui n'est pas connu.NLNC2


"la multiplication a des circuits sous-exponentiels de profondeur 3." Je pense que la multiplication a une taille de circuit à n'importe quelle profondeur, car elle implique uniquement d'extraire n 2 variables et de les multiplier dans un certain ordre et d'ajouter les produits intermédiaires. O(n3)n2
T ....

1
La multiplication de deux entiers est complète pour et n'est donc pas dans A C 0 . TC0AC0
Kaveh

Je ne regarde que la complexité séquentielle pour l'instant.
T ....

Je ne suis pas sûr de suivre votre commentaire. Je pense que mon message répond à la question dans le cadre booléen (la question ne mentionnait pas les circuits arithmétiques à l'origine IIRC). Pour le circuit arithmétique, je ne sais pas grand-chose, j'espère que d'autres répondront à la question.
Kaveh

2

Je dirais que l'écart dans les paramètres arithmétiques nous dit que la multiplication matricielle est intrinsèquement une tâche beaucoup plus parallèle que le déterminant. En d'autres termes, bien que les complexités séquentielles des deux problèmes soient étroitement liées, leurs complexités parallèles ne sont pas si proches l'une de l'autre.

Un article pertinent est les algorithmes d'inversion de matrice parallèle rapide de Csanky où il prouve que la complexité arithmétique du calcul du déterminant d'une matrice n × n (c'est-à-dire la profondeur d'un circuit arithmétique calculant le déterminant) satisfait O ( log n ) D ( n ) O ( log 2 n ) . À ma connaissance, ce sont toujours les limites les plus connues de ce problème. Cela doit être comparé à la profondeur triviale- 3D(n)n×n

O(logn)D(n)O(log2n).
3circuit arithmétique calculant une multiplication matricielle, donnée par la formule .(AB)ij=kAikBkj

Je ne sais pas si c'est une réponse à "pourquoi les complexités du circuit ont-elles un écart exponentiel à la profondeur-3?", Mais au moins vous avez une preuve de ce fait est le papier de Csanky.
Bruno

Si je comprends bien, vous sous-entendez: pour avoir un nombre polynomial de processeurs, il faut une profondeur logarithmique?
T ....

1
Je ne me souvenais pas du modèle exact utilisé par Csanky. En fait, il envisage ce que nous appelons aujourd'hui des circuits arithmétiques avec fan-in borné . Ainsi, la borne inférieure est assez triviale et ma comparaison avec la multiplication matricielle n'est pas pertinente.
Bruno
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.