Яка найзагальніша структура, за якою можна перевірити матричний продукт за


18

У 1979 році Фрейвальдс показав, що перевірка матричних добутків у будь-якому полі може бути здійснена в рандомізований час . Більш офіційно, з урахуванням трьох матриць A, B і C, із записами з поля F, проблема перевірки, чи має AB = C рандомізований алгоритм часу O ( n 2 ) .O(n2)O(n2)

Це цікаво тим, що найшвидший відомий алгоритм множення матриць повільніше, ніж це, тому перевірка, чи AB = C швидше, ніж обчислення C.

Хочу знати, що є найбільш загальною алгебраїчною структурою, над якою матрична перевірка продукту все ще має алгоритм часу (рандомізований). Оскільки оригінальний алгоритм працює над усіма полями, я думаю, він працює і над усіма цілісними доменами.O(n2)

Найкращою відповіддю, яку я міг знайти на це питання, було питання про субкубічні рівноваги між проблемами шляху, матриці та трикутника , де сказано, що "перевірка матричного продукту через кільця може бути здійснена в рандомізований час [BK95]". ([BK95]: М. Блум та С. Каннан. Проектування програм, які перевіряють їхню роботу. J. ACM, 42 (1): 269–291, 1995.)O(n2)

По-перше, чи є кільця найбільш загальною структурою, в якій ця задача має рандомізований алгоритм? По-друге, я не бачив, як результати [BK95] показують алгоритм часу O ( n 2 ) для всіх кілець. Хтось може пояснити, як це працює?O(n2)O(n2)


Дурне питання: чи очевидно, що детермінована перевірка настільки ж складна, як і множення? Що робити, якщо вам видають не тільки A, B і C, але і компактний сертифікат; чи допомагає щось?
Jukka Suomela

@Jukka: Я вважаю, що найкращий детермінований алгоритм для цієї проблеми не швидше, ніж множення матриці, але я не знаю, чи є причина, чому це має бути так. Щодо другого питання, якщо AB не дорівнює C, то існує короткий сертифікат, який працює: запис C, що є невірним, і відповідний рядок A і стовпець B.
Робін Котарі

Відповіді:


14

Ось швидкий аргумент, чому він працює над кільцями. Давши матриці , B , C , ми перевіряємо A B = C , вибираючи випадковий бітовий вектор v , а потім перевіряючи, чи A B v = C v . Це явно проходить , якщо A B = C .АБСАБ=СvАБv=СvАБ=С

Припустимо, і A B v = C v . Нехай D = A B - C . D - ненулева матриця, для якої D v = 0 . Яка ймовірність того, що це відбудеться? Нехай D [ i , j ] - ненульовий запис. За припущенням, j D [ i , j ] v [ j ] = 0АБСАБv=СvD=АБ-СDDv=0D[i',j']jD[i,j]v[j]=0. З ймовірністю , про [ J ' ] = 1 , так що ми маємо1/2v[j]=1

.D[i,j]+jjD[i,j]v[j]=0

Будь-яке кільце в процесі його додавання є адитивною групою, тому існує унікальна інверсія , тобто - D [ i , j ] . Тепер ймовірність поганого події - D [ я ' , J ' ] = Σ J J ' D [ я ' , J ] v [ J ] не більше 1 / 2D[i,j]D[i,j]D[i,j]=jjD[i,j]v[j]1/2. (Один із способів бачити це - "принцип відкладених рішень": щоб сума дорівнювала , принаймні один інший D [ i , j ] повинен бути ненульовим. Тому врахуйте v [ j ] відповідає цим іншим ненульовим записам. Навіть якщо ми встановимо всі ці v [ j ] , крім однієї з них оптимально , все ще існує однакова ймовірність, що для останнього буде 0 або 1D[i,j]D[i,j]v[j]v[j]01, Але до цих пір тільки один з цих значень може внести остаточну суму , рівну .) Таким чином , з імовірністю принаймні 1 / 4 , ми успішно знаходимо , що D V 0 , коли D дорівнює нулю. (Примітка v [ j ] і v [ j ] вибираються незалежно для j j .)D[i,j]1/4Dv0Dv[j]v[j]jj

Як бачите, наведений вище аргумент залежить від віднімання. Таким чином, він не буде працювати (наприклад) на довільних комутативних півколах. Можливо, ви могли б розслабити мультиплікативні властивості алгебраїчної структури і все ж отримати результат?


Приємно, дякую. Я бачу ваш погляд на те, що існує можливість зменшення обмежень на мультиплікативну структуру. На мою інформацію, чи це не той самий алгоритм, як в оригінальній статті Фрейвальда?
Робін Котарі

Алгоритм Фрейвальда вибирає випадковий вектор з компонентами в {-1,1}. Це теж працює. Якщо ви більш обережні , ви можете отримати ймовірність успіху, принаймні . 1/2
Райан Вільямс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.