Raumkomplexität des Coppersmith-Winograd-Algorithmus


24

Der Coppersmith-Winograd-Algorithmus ist der asymptotisch schnellste bekannte Algorithmus zum Multiplizieren von zwei Quadratmatrizen. Die Laufzeit ihres Algorithmus ist , die bisher bekannteste. Was ist die Raumkomplexität dieses Algorithmus? Liegt es in ?O ( n 2,376 ) Θ ( n 2 )n×nO(n2.376)Θ(n2)

Antworten:


30

Ja, alle Algorithmen, die aus Strassens ursprünglichem Algorithmus stammen (dies schließt die bekanntesten -Algorithmen für die Matrixmultiplikation ein, aber nicht alle - siehe die Kommentare), haben die Raumkomplexität . Wenn Sie einen -Zeitalgorithmus mit finden könnten , wäre dies ein großer Fortschritt. Eine Anwendung wäre eine Zeit, Raum Algorithmus für das Subset-Sum Problem. & THgr; ( n 2 ) n 3 - ε p o l y ( log n ) 2 ( 1 - ε ) n p o l y ( n )n3εΘ(n2)n3εpoly(logn)2(1-ε)npOly(n)

Es gibt jedoch einige Hindernisse für ein solches Ergebnis. Für einige Rechenmodelle gibt es ziemlich starke Untergrenzen für das Zeit-Raum-Produkt der Matrixmultiplikation. Referenzen wie Yesha und Abrahamson geben Ihnen weitere Informationen.


Hallo Ryan, Super. Was ist mit den gruppentheoretischen Algorithmen von Cohn-Umans [FOCS2003] und Cohn-Kleinberg-Szegedy-Umans [FOCS2005]?
Shiva Kintali

1
Ja, die auch. Ich verstehe, dass sie eine spezielle Art der Faltung durchführen (eine FFT über eine spezielle Gruppe), aber die Faltung erfolgt über Objekte der Größe . Es sind keine kleinräumigen Algorithmen (mit einer Zeitkomplexität, die besser ist als der offensichtliche Algorithmus) für Vektorkonvolutionen über ganze Zahlen bekannt, und ich stelle mir vor, es ist nur schwieriger, kleinräumige Konvolutionen über diese Gruppen zu erhalten. Θ(n2)
Ryan Williams

Wie kann man Raum haben, wenn es Raum braucht , um die Einträge der Matrizen zu speichern? 2 n 2pOly(lOGn)2n2
T ...

Weil in der üblichen Weise, in der die Raumkomplexität gemessen wird, die Eingabe nicht auf den begrenzten Raum angerechnet wird. Die Eingabe wird als "Nur Lesen" behandelt und wir messen, wie viel zusätzlicher "Lese-Schreib" -Speicher benötigt wird, um die Funktion zu berechnen. In diesem Fall ist nur zusätzlicher Speicherplatz ausreichend, wenn die Eingabeeinträge begrenzt sind (z. B. 0 oder 1) und Sie -Operationen verwenden. O(lOGn)O(n3)
Ryan Williams

1
Ich weiß nicht, was Sie im Sinn haben, aber es gibt definitiv "kombinatorische" (Table Look-Up) Algen für Boolean Matrix Mult, die 3-mal nach Log-Faktoren schlagen und viel weniger als 2-mal Platz verbrauchen ...
Ryan Williams
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.