Freivalds hat 1979 gezeigt, dass die Überprüfung von Matrixprodukten über jedes Feld in randomisierter -Zeit durchgeführt werden kann . Genauer gesagt besteht bei drei Matrizen A, B und C mit Einträgen aus einem Feld F das Problem, zu überprüfen, ob AB = C einen randomisierten -Zeitalgorithmus aufweist.
Dies ist interessant, da der schnellste bekannte Algorithmus zum Multiplizieren von Matrizen langsamer als dieser ist. Überprüfen Sie daher, ob AB = C schneller ist als das Berechnen von C.
Ich möchte wissen, was die allgemeinste algebraische Struktur ist, über die die Matrixproduktverifikation noch einen -Zeitalgorithmus (randomisiert) hat. Da der ursprüngliche Algorithmus über alle Felder funktioniert, funktioniert er vermutlich auch über alle integralen Domänen.
Die beste Antwort auf diese Frage fand ich in den subkubischen Äquivalenzen zwischen Pfad-, Matrix- und Dreiecksproblemen . Dort heißt es: "Die Überprüfung des Matrixprodukts über Ringe kann in randomisierter Zeit erfolgen [BK95]." ([BK95]: M. Blum und S. Kannan. Entwerfen von Programmen, die ihre Arbeit überprüfen. J. ACM, 42 (1): 269–291, 1995.)
Erstens, sind Ringe die allgemeinste Struktur, bei der dieses Problem einen randomisierten Algorithmus hat? Zweitens konnte ich nicht sehen, wie die Ergebnisse von [BK95] einen O ( n 2 ) -Zeitalgorithmus über alle Ringe zeigen. Kann mir jemand erklären, wie das geht?