En 1979, Freivalds a montré que la vérification des produits matriciels sur n'importe quel champ peut être effectuée en temps randomisé . Plus formellement, étant donné trois matrices A, B et C, avec des entrées d'un champ F, le problème de vérifier si AB = C a un algorithme de temps randomisé .O ( n 2 )
Ceci est intéressant car l'algorithme connu le plus rapide pour multiplier les matrices est plus lent que cela, donc vérifier si AB = C est plus rapide que calculer C.
Je veux savoir quelle est la structure algébrique la plus générale sur laquelle la vérification du produit matriciel a toujours un algorithme de temps (aléatoire) . Étant donné que l'algorithme d'origine fonctionne sur tous les domaines, je suppose qu'il fonctionne également sur tous les domaines intégrés.
La meilleure réponse que j'ai pu trouver à cette question était dans les équivalences sous- cubiques entre les problèmes de chemin, de matrice et de triangle , où ils disent que "la vérification du produit de la matrice sur les anneaux peut être effectuée en temps aléatoire [BK95]." ([BK95]: M. Blum et S. Kannan. Concevoir des programmes qui vérifient leur travail. J. ACM, 42 (1): 269-291, 1995.)
Premièrement, les anneaux sont-ils la structure la plus générale sur laquelle ce problème a un algorithme randomisé ? Deuxièmement, je ne pouvais pas voir comment les résultats de [BK95] montrent un algorithme de temps sur tous les anneaux. Quelqu'un peut-il expliquer comment cela fonctionne?