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)

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.