¿Evidencia de que la multiplicación de matrices se puede hacer en tiempo cuadrático?

59

Se conjetura ampliamente que , el exponente óptimo para la multiplicación de matrices, es de hecho igual a 2. Mi pregunta es simple:ω

¿Qué razones tenemos para creer que ?ω=2

Conozco algoritmos rápidos como Coppersmith-Winograd, pero no sé por qué estos podrían considerarse evidencia de .ω=2

Ingenuamente, me parece un ejemplo clásico en el que una comunidad solo espera que un resultado sea verdadero por razones estéticas. Me encantaría saber si ese es esencialmente el caso aquí.

Steve Flammia
fuente
12
Sospecho que la respuesta es en gran parte estética, y la falta de una buena razón para que sea mayor que 2. Hubo un artículo en FOCS '05 que dio algunas construcciones teóricas grupales para la matriz mult que coincidía con los exponentes conocidos actuales y también dio 2 conjeturas teóricas grupales que implican . PDFω=2
Mark Reitblatt
55
Hace unos años, tuve una conversación con Strassen donde dijo que creía . Sin embargo, no estoy seguro de cuáles fueron sus razones. ω>2
Ryan Williams
2
@ Ryan, esperemos que Strassen lea cstheory.stackexchange. :)
Steve Flammia
3
Hay un límite inferior (bajo algunas restricciones) debido a Ran Raz, por lo que una mejor conjetura sería que no se logra (pero el infimum es de hecho ). ω = 2 2Ω(nlogn)ω=22
Yuval Filmus
55
@Yuval, @Steve: 1) generalmente se define como un límite. 2) Ya sabemos que sea lo que sea , no se logra (es un inf y no un min). Vea este artículo de Coppersmith-Winograd: dx.doi.org/10.1137/0211038 . Del resumen: "el exponente para la multiplicación de matrices es un punto límite, es decir, no puede ser realizado por un solo algoritmo". (Dados los detalles de sus resultados, creo que esta declaración no se puede tomar ingenuamente al ωω
pie de la letra

Respuestas:

20

Me gustaría agregar al comentario de Mark Reitblatt y la respuesta de Amir Shpilka. Primero, una de las conjeturas presentadas por Cohn, Kleinberg, Szegedy y Umans no es de teoría de grupos, sino puramente combinatoria (Conj. 3.4 en su documento FOCS '05 ). Esta conjetura dice que la "fuerte capacidad de USP es ". Coppersmith y Winograd, al exhibir su mejor algoritmo actual para la multiplicación de matrices, mostraron que la capacidad de USP es este mismo número (aunque no lo expresaron de esta manera). Aunque existe una diferencia entre los USP fuertes y los USP, esta es una evidencia de que su conjetura es al menos plausible. 3322/3322/3

(Para su otra Conjetura 4.7, que es teórica de grupo, no conozco ninguna evidencia similar de plausibilidad, más allá de la intuición).

En segundo lugar, estoy de acuerdo con Amir Shpilka en que la cadena de algoritmos pasados ​​tiene una sensación algo ad-hoc. Sin embargo, una de las cosas buenas del enfoque de teoría de grupos es que casi todos (no todos) los algoritmos anteriores pueden expresarse en este enfoque. Aunque las diversas construcciones teóricas grupales en [CKSU] pueden parecer un poco ad-hoc en el exterior, dentro del contexto del marco teórico grupal parecen significativamente más naturales y menos ad-hoc (al menos para mí) que muchos de ellos. Los algoritmos anteriores.

Joshua Grochow
fuente
Cuando pienso en Capacidad, pienso en conjuntos y camarillas independientes. ¿Cuál es el diccionario entre las USP y la construcción explícita del gráfico subyacente? ¿Existe una estructura para estos gráficos?
T ....
28

No sé acerca de los demás, pero puedo decirte por qué tiendo a creer que . Cuando lees la historia y el desarrollo de los algoritmos de multiplicación de matrices rápidas, creo que es difícil no sentir que todo lo que necesitamos es un algoritmo básico ligeramente mejor a partir del cual, incluso utilizando técnicas conocidas, seguirá . Básicamente, todos los algoritmos actuales (incluidos los de teoría de grupos) comienzan con una construcción "simple" que luego se amplifica. Esas construcciones son inteligentes, pero le dan al lector una especie de sentimiento "ad-hoc". No veo una razón para creer que no podemos llegar a mejores construcciones simples.ω = 2ω=2ω=2

Amir Shpilka
fuente
20

Hay una analogía que uso para justificar la conjetura que para mí. Me doy cuenta de que esto es bastante heurístico, pero, sin embargo, me ha servido bien, por ejemplo, para comprender parte de la intuición detrás de Cohn et al. papel.ω=2

La convolución y la multiplicación de matrices son análogas. Si y son -by- matrices y , entonces . Si y son vectores de longitud y , entonces . En ambos casos, el resultado final es un vector que consiste en sumas de productos, pero la estructura relacional en los datos de entrada es diferente. Para convolución, podemos usar la FFT para calcular la respuesta en tiempo en lugar del trivial . Análogamente, uno podría esperar unABnnC=ABC(i,j)=k=1nA(i,k)B(k,j)ABnC=ABC(i)=k=1nA(k)B(ik)O(n2) ˜ O (n2)O~(n)O(n2)O~(n2) algoritmo de tiempo para la multiplicación de matrices. La pregunta es: ¿cuál es el análogo de la transformada de Fourier que puede ayudar a la multiplicación de matrices?

arnab
fuente
-1

Es más probable que sea . Tener parece fantástico ya que la contabilidad de factor constante no parece que pueda escalar.ω = 2O(n2log(n2))ω=2

Chad Brewbaker
fuente
1
Usted no comprende la definición de : es el infimum de todo tal manera que la multiplicación de matrices se puede resolver en el tiempo . Si hay un algoritmo de multiplicación de matriz , este infimum seguirá siendo . Por cierto, hay un vinculado en el modelo de circuitos aritméticos con coeficientes acotados. c O ( n c ) O ( n 2 log 10 n ) 2 Ω ( n 2 log n )ωcO(nc)O(n2log10n)2Ω(n2logn)
Sasho Nikolov
@SashoNikolov Gracias por señalar eso. ¿Alguien ha intentado entrenar una red neuronal para el matmul booleano A * B = C? [Entradas A, entradas B, entradas C] -> Bool (multiplicación correcta o incorrecta). Curioso con qué circuitos viene el gradiente decente / abandono; si los circuitos entrenados tienen atractores cerca de descomposiciones primarias. En 3x3, 4x4, 5x5, 6x6 parece que una hora de GPU daría algunos resultados interesantes.
Chad Brewbaker