Complexidade espacial do algoritmo Coppersmith – Winograd

24

O algoritmo de Coppersmith – Winograd é o algoritmo conhecido mais rapidamente assintoticamente para multiplicar duas matrizes quadradas. O tempo de execução de seu algoritmo é o mais conhecido até o momento. Qual é a complexidade espacial deste algoritmo? Está em ?O ( n 2.376 ) Θ ( n 2 )n×nO(n2.376)Θ(n2)

Shiva Kintali
fonte

Respostas:

30

Sim, todos os algoritmos originários do algoritmo original de Strassen (isso inclui os algoritmos mais conhecidos para multiplicação de matrizes, mas não todos - veja os comentários) têm complexidade espacial . Se você pudesse encontrar um algoritmo de tempo com complexidade de espaço , isso seria um grande avanço. Uma aplicação seria um algoritmo de tempo, espaço para o problema de Subconjunto-Soma. q ( 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)

No entanto, existem alguns obstáculos para esse resultado. Para alguns modelos computacionais, existem limites inferiores bastante fortes para o produto espaço-tempo da multiplicação de matrizes. Referências como Yesha e Abrahamson fornecerão mais informações.

Ryan Williams
fonte
Oi Ryan, impressionante. E os algoritmos de teoria de grupos de Cohn-Umans [FOCS2003] e Cohn-Kleinberg-Szegedy-Umans [FOCS2005]?
Shiva Kintali
1
Θ(n2)
poly(logn)2n2
O(logn)O(n3)
1
Eu não sei o que você tem em mente, mas definitivamente existem algs "combinatoriais" (consulta de tabela) para a matriz booleana mult que superam o tempo n ^ 3 por fatores de log e usam muito menos que o espaço n ^ 2 ...
Ryan Williams