Złożoność przestrzenna algorytmu Coppersmitha – Winograda


24

Algorytm Coppersmitha – Winograda jest asymptotycznie najszybszym znanym algorytmem do mnożenia dwóch macierzy kwadratowych. Czas działania ich algorytmu to który jest najlepiej znany do tej pory. Jaka jest złożoność przestrzeni tego algorytmu? Czy to jest w ?n×nO(n2.376)Θ(n2)

Odpowiedzi:


30

Tak, wszystkie algorytmy wywodzące się z oryginalnego algorytmu Strassena (obejmuje to najbardziej znane algorytmy mnożenia macierzy , ale nie wszystkie - patrz komentarze) mają złożoność przestrzeni Θ ( n 2 ) . Jeśli można znaleźć n 3 - ε algorytm czasu z p o l y ( log n ) przestrzeni złożoności, byłby to wielki postęp. Jedna aplikacja to 2 ( 1 - ε ) n czas, p o l y (n3εΘ(n2)n3εpoly(logn)2(1ε)n algorytm przestrzenny dla problemu sumy częściowej.poly(n)

Istnieją jednak pewne przeszkody dla takiego wyniku. W przypadku niektórych modeli obliczeniowych istnieją dość silne dolne granice iloczynu macierzy w czasie i przestrzeni. Odniesienia takie jak Yesha i Abrahamson dadzą ci więcej informacji.


Cześć Ryan, Awesome. Co z algorytmami teoretycznymi grupowymi Cohna-Umansa [FOCS2003] i Cohna-Kleinberga-Szegedy-Umansa [FOCS2005]?
Shiva Kintali,

1
Tak, te też. Rozumiem, że wykonują one specjalny rodzaj splotu (FFT nad specjalną grupą), ale splot dotyczy przedmiotów o wielkości . Żadne algorytmy małej przestrzeni (o złożoności czasowej lepszej niż algorytm oczywisty) nie są znane dla splotów wektorów nad liczbami całkowitymi i wyobrażam sobie, że trudniej jest uzyskać sploty małych przestrzeni w tych grupach. Θ(n2)
Ryan Williams

Jak można mieć miejsce wtedy, gdy przyjmuje się 2 n 2 miejsca na przechowywanie danych matryc? poly(logn)2n2
T ....

Ponieważ w zwykły sposób, w jaki mierzy się złożoność przestrzeni, dane wejściowe nie są liczone do granicy przestrzeni. Dane wejściowe są traktowane jako „tylko do odczytu” i mierzymy, ile dodatkowej pamięci „do odczytu i zapisu” potrzeba do obliczenia funkcji. W tym przypadku, tylko dodatkowa przestrzeń jest wystarczająca, gdy pozycje wejściowe ograniczona (na przykład 0 lub 1), użycie O ( n 3 ) działania. O(logn)O(n3)
Ryan Williams

1
Nie wiem, co masz na myśli, ale na pewno istnieją „kombinatoryjne” (przeglądanie tabel) alg dla macierzy boolowskiej mult, które pobiły czas n ^ 3 przez czynniki log i zużywają znacznie mniej niż n ^ 2 miejsca ...
Ryan Williams,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.