Доказательства того, что умножение матриц может быть сделано в квадратичное время?

59

Широко распространено мнение, что , оптимальный показатель для умножения матриц, фактически равен 2. Мой вопрос прост:ω

Какие у нас есть основания полагать, что ?ω=2

Мне известны быстрые алгоритмы, такие как Coppersmith-Winograd, но я не знаю, почему их можно считать доказательством для .ω=2

Наивно это кажется мне классическим примером, когда сообщество просто надеется, что результат является истинным исключительно по эстетическим причинам. Я хотел бы знать, если это по сути дела здесь.

Стив Фламмия
источник
12
Я подозреваю, что ответ в значительной степени эстетичен, и отсутствие веской причины для этого быть больше 2. В FOCS '05 была статья, в которой были даны некоторые теоретико-групповые конструкции для матрицы mult, которые соответствовали текущим известным показателям, а также 2 теоретико-групповые гипотезы, из которых следует, что . PDFω=2
Марк Рейтблатт
5
Несколько лет назад у меня был разговор со Штрассеном, где он сказал, что верит в . Я не уверен, каковы были его причины, хотя. ω>2
Райан Уильямс
2
@ Райан, будем надеяться, что Штрассен читает cstheory.stackexchange. :)
Стив Фламмия
3
Существует нижняя граница (при некоторых ограничениях) из-за Ран Раза, поэтому лучше предположить, что не достигается (но инфимум действительно равен ). Ω(nlogn)ω=22
Юваль Фильмус
5
@Yuval, @Steve: 1) обычно определяется как предел. 2) Мы уже знаем, что что бы , оно не достигается (это инфа, а не минута). См. Статью Копперсмита-Винограда: dx.doi.org/10.1137/0211038 . Из аннотации: «показатель степени умножения матриц является предельной точкой, то есть он не может быть реализован каким-либо одним алгоритмом». (Учитывая детали их результатов, я думаю, что это утверждение не может быть принято наивно за чистую монету, но это в основном техническая часть.)ωω
Джошуа Грохов

Ответы:

20

Я хотел бы добавить к комментарию Марка Рейтблатта и ответ Амира Шпильки. Во-первых, одна из гипотез, выдвинутых Коном, Клейнбергом, Сегеди и Умансом, не является теоретико-групповой, но является чисто комбинаторной (Conj. 3.4 в их статье FOCS '05 ). Эта гипотеза говорит о том, что «сильная пропускная способность USP равна ». Копперсмит и Виноград, продемонстрировав свой лучший в настоящее время алгоритм для умножения матриц, показали, что емкость USP - это то же число (хотя они не сформулировали это совсем так). Хотя между сильными USP и USP есть разница, это является некоторым свидетельством того, что их гипотеза, по крайней мере, правдоподобна.322/3322/3

(Для их другой гипотезы 4.7, которая является теоретико-групповой, я не знаю ни одного подобного доказательства правдоподобности, кроме интуиции.)

Во-вторых, я согласен с Амиром Шпилькой в ​​том, что последовательность прошлых алгоритмов выглядит несколько нерегулярно. Однако одна из приятных вещей в теоретико-групповом подходе заключается в том, что в этом подходе можно сформулировать почти все (не все) предыдущие алгоритмы. Хотя различные теоретико-групповые конструкции в [CKSU] могут показаться внешне немного случайными, в контексте теоретико-групповой структуры они кажутся значительно более естественными и менее специальными (по крайней мере для меня), чем многие из предыдущие алгоритмы.

Джошуа Грохов
источник
Когда я думаю о Capacity, я думаю о независимых наборах и кликах. Что такое словарь между USP и явным построением базового графа и есть ли структура для этих графов?
T ....
28

Я не знаю о других, но могу сказать вам, почему я склонен полагать, что . Когда вы читаете историю и разработку быстрых алгоритмов умножения матриц, я думаю, что трудно не почувствовать, что все, что нам нужно, это просто немного лучший базовый алгоритм, из которого, даже используя известные методы, будет следовать , По сути, все современные алгоритмы (включая теоретико-групповые) начинаются с некоторой «простой» конструкции, которая затем усиливается. Эти конструкции умны, но они дают читателю какое-то «специальное» чувство. Я не вижу причин полагать, что мы не можем придумать лучшие простые конструкции.ω=2ω=2

Амир Шпилка
источник
20

Есть аналогия, которую я использую, чтобы оправдать предположение, что для меня. Я понимаю, что это довольно эвристично, но, тем не менее, это помогло мне, например, в понимании некоторых интуиций, лежащих в основе Cohn et al. бумага.ω=2

Свертка и умножение матриц аналогичны. Если и являются матрицу с размерностью матрицы и , то . Если и - векторы длины и , то . В обоих случаях конечным результатом является вектор, состоящий из сумм произведений, но реляционная структура во входных данных различна. Для свертки мы можем использовать БПФ для вычисления ответа за время вместо тривиального . Аналогично можно ожидатьABnnC=ABC(i,j)=k=1nA(i,k)B(k,j)ABnC=ABC(i)=k=1nA(k)B(ik)O~(n)O(n2)O~(n2) алгоритм времени для умножения матриц. Вопрос в том, что является аналогом преобразования Фурье, которое может помочь для умножения матриц?

Арнаб
источник
-1

Скорее всего, это . Наличие кажется фантастическим, поскольку ведение бухгалтерского учета с постоянным коэффициентом не похоже на масштаб.O(n2log(n2))ω=2

Чад Brewbaker
источник
1
Вы неправильно понимаете определение : это инфимум всех такой, что умножение матриц может быть решено за время . Если существует алгоритм умножения матриц , этот минимум будет равен . Кстати, есть связанная в модели арифметических схем с ограниченными коэффициентами. ωcO(nc)O(n2log10n)2Ω(n2logn)
Сашо Николов
@SashoNikolov Спасибо за указание на это. Кто-нибудь пробовал натренировать нейронную сеть на булеву матрицу A * B = C? [Записи A, записи B, записи C] -> Bool (правильное или неправильное умножение). Любопытно, что замышляет градиент приличный / отсевы; если обученные схемы имеют аттракторы вблизи простых разложений. На 3х3, 4х4, 5х5, 6х6 кажется, что час графического процессора даст некоторые интересные результаты.
Chad Brewbaker