Докази того, що матричне множення можна зробити в квадратичному часі?


59

Думається, що , оптимальний показник множення матриць, насправді дорівнює 2. Моє питання просте:ω

Які причини ми вважаємо, що ?ω=2

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

Наївно, це здається мені класичним прикладом, коли громада просто сподівається, що результат справді виключно з естетичних причин. Мені б хотілося дізнатись, чи не так це саме тут.


12
Я підозрюю, що відповідь значною мірою є естетикою, і відсутність поважної причини, щоб вона була більшою за 2. В FOCS '05 була доповідь, яка дала деякі теоретичні побудови групи для матричного мульти, які відповідали поточним відомим показникам, а також дали 2 групові теоретичні гіпотези, що означають . PDFω=2
Марк Рейтблатт

5
Кілька років тому я провів розмову зі Страссеном, де він сказав, що вірить . Я не впевнений, які були його причини. ω>2
Райан Вільямс

2
@ Райан, будемо сподіватися, що Страссен читає cstheory.stackexchange. :)
Стів Фламмія

3
Існує знизу (при деяких обмеженнях) з - за Ран Раца, тому краще гіпотеза буде то , що не досягається (але інфімум дійсно ). Ω(nlogn)ω=22
Yuval Filmus

5
@Yuval, @Steve: 1) зазвичай визначається як межа. 2) Ми вже знаємо, що що б була, вона не досягається (це інф та не хв). Дивіться цей документ Coppersmith -Winograd: dx.doi.org/10.1137/0211038 . З конспекту: "показник множення матриці є граничною точкою, тобто вона не може бути реалізована жодним алгоритмом". (Враховуючи деталі їх результатів, я думаю, що це твердження не можна сприймати наївно за номіналом, але це здебільшого технічність.)ωω
Джошуа Грохов

Відповіді:


20

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

(Для їхньої іншої Концепції 4.7, яка є теоретичною групою, я не знаю жодних подібних доказів правдоподібності, крім простої інтуїції.)

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


Коли я думаю про ємність, я думаю про незалежні набори та кліки. Який словник між USP та явною побудовою базового графіка і чи є структура для цих графіків?
Т ....

28

Я не знаю про інших, але можу сказати, чому я схильний вважати, що . Коли ви читаєте історію та розробку алгоритмів множення швидких матриць, я думаю, що важко не відчути, що все, що нам потрібно, - це лише трохи кращий базовий алгоритм, з якого, навіть використовуючи відомі методики, буде слідувати . В основному всі сьогодні алгоритми (включаючи групові теоретичні) починаються з якоїсь "простої" конструкції, яка потім посилюється. Ці конструкції розумні, але вони створюють читачеві якесь «особливе» відчуття. Я не бачу причин вважати, що ми не можемо придумати кращі прості конструкції.ω=2ω=2


20

Існує аналогія, яку я використовую для обґрунтування припущення, що для себе. Я усвідомлюю, що це досить евристично, але, тим не менш, воно мені добре послужило, наприклад, в розумінні деякої інтуїції, що стоїть за Коном та ін. папір.ω=2

Згортання та матричне множення є аналогічними. Якщо і - -by- матриць і , то . Якщо і - довжинні вектори, а , тоді . В обох випадках кінцевим результатом є вектор, що складається з сум продуктів, але реляційна структура вхідних даних різна. Для згортання ми можемо використовувати FFT для обчислення відповіді за час замість тривіального . Аналогічно, можна очікуватиABnnC=ABC(i,j)=k=1nA(i,k)B(k,j)ABnC=ABC(i)=k=1nA(k)B(ik)Про(п2) ~ Про (п2)O~(n)O(n2)O~(n2) алгоритм часу для матричного множення. Питання: що є аналогом перетворення Фур'є, який може допомогти для множення матриці?


-1

Більш імовірно, що це . Маючи здається химерним, оскільки постійний фактор бухгалтерського обліку не здається, що він може масштабуватись.ω = 2O(n2log(n2))ω=2


1
Ви неправильно розумієте визначення : це максимум усіх таких, що множення матриці можна вирішити за час . Якщо існує алгоритм множення матриці , цей мінімум все одно буде . BTW є пов'язана в моделі арифметичних схем з обмеженими коефіцієнтами. c O ( n c ) O ( n 2 log 10 n ) 2 Ω ( n 2 log n )ωcO(nc)O(n2log10n)2Ω(n2logn)
Сашо Ніколов

@SashoNikolov Дякуємо, що вказали на це. Хто-небудь намагався навчити нейронну мережу для булевої матмули A * B = C? [A записи, B записи, C записи] -> Bool (правильне або неправильне множення). Цікаво, які схеми градієнта пристойні / випадають придумують; якщо навчені схеми мають атрактори поблизу простих розкладів. На 3x3, 4x4, 5x5, 6x6 здається, що година GPU дала б цікаві результати.
Чад Брюбекер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.