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


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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.