Аноним

Квантовый алгоритм проверки матричных тождеств: различия между версиями

Материал из WEGA
 
(не показано 11 промежуточных версий 1 участника)
Строка 3: Строка 3:


== Постановка задачи ==
== Постановка задачи ==
Пусть A, B, C – три заданные матрицы размерности n x n над полем, где C – матричное произведение AB. Прямолинейный метод проверки того, что С = AB, заключается в перемножении матриц A и B и поэлементном сравнении полученного результата с C. Это занимает время <math>O(n^{\omega})</math>, где <math>\omega</math> – «экспонента матричного умножения». Из определения операции умножения матриц следует, что <math>2 \le \omega \le 3</math>. Наилучшая известная нижняя граница <math>\omega</math> составляет 2,376 [4].
Пусть A, B, C – три заданные матрицы размерности n x n над полем, где C – матричное произведение AB. Прямолинейный метод проверки того, что С = AB, заключается в перемножении матриц A и B и поэлементном сравнении полученного результата с C. Это занимает время <math>O(n^{\omega})</math>, где <math>\omega</math> – «степень матричного умножения». Из определения операции умножения матриц очевидным образом следует, что <math>2 \le \omega \le 3</math>. Наилучшая известная нижняя граница <math>\omega</math> составляет 2,376 [4].




Строка 12: Строка 12:




Бурман и Спалек рассматривали сложность проверки матричных произведений на квантовом компьютере.
Бурман и Шпалек рассматривали сложность проверки матричных произведений на квантовом компьютере.




Строка 22: Строка 22:




Эти же авторы изучали задачу проверки над булевой алгеброй f0; 1g с операциями f_; л}, где техника снятия отпечатков пальцев неприменима.
Эти же авторы изучали задачу проверки над булевой алгеброй {0, 1} с операциями <math>\{ \vee, \wedge \}</math>, где техника снятия отпечатков пальцев неприменима.




Строка 28: Строка 28:




Задача 2 (умножение матриц)
'''Задача 2 (умножение матриц)'''


Дано: матрицы A, B, C размерности n х n над целочисленной областью или булевой алгеброй {0, 1}.
'''Дано:''' матрицы A, B, C размерности n х n над целочисленной областью или булевой алгеброй {0, 1}.


Требуется: найти матричное произведение C = AB над целочисленной областью или булевой алгеброй.
'''Требуется:''' найти матричное произведение C = AB над целочисленной областью или булевой алгеброй.


== Основные результаты ==
== Основные результаты ==
Амбайнис, Бурман, Хойер, Карпински и Курур [2] впервые изучили задачу проверки матричного произведения в квантовомеханической формулировке. Рекурсивно применяя алгоритм поиска Гровера [ ], они представили алгоритм с временем выполнения O(n7/4). Бурман и Спалек улучшили это время, адаптировав алгоритмы поиска, основанные на квантовом блуждании, которые были недавно разработаны Амбайнисом [ ] и Шегеди [11].
Амбайнис, Бурман, Хойер, Карпински и Курур [2] впервые изучили задачу проверки матричного произведения в квантовомеханической формулировке. Рекурсивно применяя алгоритм поиска Гровера [6], они представили алгоритм с временем выполнения <math>O(n^{7/4})</math>. Бурман и Шпалек улучшили это время, адаптировав алгоритмы поиска, основанные на квантовом блуждании, которые были незадолго до того разработаны Амбайнисом [1] и Шегеди [11].




Обозначим за W = f(i;j)j(AB - C)jtj /0} множество координат, где C не совпадает с произведением AB, и за W0 – наибольшее независимое подмножество W. (Набор координат считается независимым, если ни одна строка или столбец не встречается в нем более одного раза). Определим q(W) =
Обозначим за <math>W = \{ (i,j) |(AB - C)_{i, j} \ne 0 \}</math> множество координат, где C не совпадает с произведением AB, и за W' – наибольшее независимое подмножество W. (Набор координат считается ''независимым'', если ни одна строка или столбец не встречается в нем более одного раза). Определим <math>q(W) = max \{ |W'|, min \{ |W|, \sqrt{n} \} \}</math>.




Теорема 1. Рассмотрим задачу 1. Существует квантовый алгоритм, который всегда возвращает значение EQUAL, если C = AB, возвращает NOT EQUAL с вероятностью не менее 2/3, если С 6AB, и имеет наихудшее время выполнения O(n5/3), ожидаемое время выполнения O(n2/3/q(W)1/3) и пространственную сложность O(n5/3).
'''Теорема 1. Рассмотрим задачу 1. Существует квантовый алгоритм, который всегда возвращает значение EQUAL, если C = AB, возвращает NOT EQUAL с вероятностью не менее 2/3, если С <math>\ne</math> AB, и имеет наихудшее время выполнения <math>O(n^{5/3})</math>, ожидаемое время выполнения <math>O(n^{2/3}/q(W)^{1/3})</math> и пространственную сложность <math>O(n^{5/3})</math>.'''




Бурман и Спалек излагают свои результаты в терминах сложности «черного ящика» или «числа запросов», где элементы входных матриц A, B, C предоставляются оракулом. В качестве меры сложности здесь является количество вызовов оракула (запросов). Сложность в запросах их квантового алгоритма совпадает с временем работы в вышеприведенной теореме. Они также вывели нижнюю границу сложности в запросах для этой задачи.
Бурман и Шпалек излагают свои результаты в терминах сложности «черного ящика» или «сложности в запросах», где элементы входных матриц A, B, C предоставляются оракулом. В качестве меры сложности здесь используется количество вызовов оракула (запросов). Сложность в запросах их квантового алгоритма совпадает с временем работы в вышеприведенной теореме. Они также вывели нижнюю границу сложности в запросах для этой задачи.




Теорема 2. Любой квантовый алгоритм с ограниченной ошибкой для задачи 1 имеет сложность в запросах Q(n312).
'''Теорема 2. Любой квантовый алгоритм с ограниченной ошибкой для задачи 1 имеет сложность в запросах <math>\Omega(n^{3/2})</math>.'''
Когда матрицы A, B, C являются булевыми, а произведение определено над операциями f_; л}, оптимальный алгоритм с временной сложностью / сложностью в запросах O(n3/2) может быть получен из алгоритма для деревьев AND-OR [ ]. Пространственная сложность этого алгоритма составляет O((log n)3).
 
 
Когда матрицы A, B, C являются булевыми, а произведение определено над операциями <math>\{ \vee, \wedge \}</math>, оптимальный алгоритм с временной сложностью / сложностью в запросах <math>O(n^{3/2})</math> может быть получен из алгоритма для деревьев AND-OR [7]. Пространственная сложность этого алгоритма составляет <math>O((log \; n)^3)</math>.




Все квантовые алгоритмы могут быть обобщены для проверки произведения прямоугольных матриц с соответствующей модификацией временной и пространственной сложности.
Все квантовые алгоритмы могут быть обобщены для проверки произведения прямоугольных матриц с соответствующей модификацией временной и пространственной сложности.


== Применение ==
Используя бинарный поиск вместе с алгоритмами из предыдущего раздела, можно найти положение неправильного элемента в матрице C (предположительно являющейся произведением матриц A и B) и затем исправить его. Бурман и Шпалек применяют этот подход в итеративном режиме для получения алгоритма умножения матриц, начиная с предположения C = 0. Когда произведение AB является разреженной матрицей, этот метод позволяет получить квантовую схему умножения матриц, которая для некоторых параметров работает быстрее, чем известные классические схемы.
'''Теорема 3. Для любых матриц A и B размера n x n над целочисленной областью матричное произведение C = AB может быть вычислено квантовым алгоритмом с полиномиально малой вероятностью ошибки за ожидаемое время'''


== Применение ==
<math>O(1) \cdot
Используя бинарный поиск вместе с алгоритмами из предыдущего раздела, можно найти и затем исправить положение неправильного элемента в матрице C (предположительно являющейся произведением матриц A и B). Бурман и Спалек применяют этот подход в итеративном режиме для получения алгоритма умножения матриц, начиная с предположения C = 0. Когда произведение AB является разреженной матрицей, этот метод позволяет получить квантовую схему умножения матриц, которая для некоторых параметров работает быстрее, чем известные классические схемы.
\begin{cases}
n \; log \; n \cdot n^{2/3} w^{2/3}, 1 \le w \le \sqrt{n}; \\
n \; log \; n \cdot \sqrt{n} w, \sqrt{n} \le w \le n; \\
n \; log \; n \cdot n \sqrt{w}, n \le w \le n^2, \\


\end{cases}</math>


Теорема 3. Для любых матриц A и B размера n x n в целочисленной области матричное произведение C = AB может быть вычислено квантовым алгоритмом с полиномиально малой вероятностью ошибки за ожидаемое время
'''где w – количество ненулевых элементов матрицы C.'''
I n log n • n2/3w2/3    when 1 < w < pn ; n log n • pn w        when pn < w < n ; and nlog n • npw        when n < w < n2 ;
где w – количество ненулевых элементов матрицы C.




Строка 66: Строка 75:




Последующий алгоритм квантового блуждания, который предложили Маньез, Наяк, Роланд и Санта [ ], находит неправильный элемент за то же время, что и в Теореме 1, не требуя проведения бинарного поиска. Это немного улучшает время работы вышеописанного квантового алгоритма умножения матриц.
Последующий алгоритм квантового блуждания, который предложили Маньез, Наяк, Роланд и Санта [9], находит неправильный элемент за то же время, что и в Теореме 1, не требуя проведения бинарного поиска. Это немного улучшает время работы вышеописанного квантового алгоритма умножения матриц.
 
 
Поскольку произведения булевых матриц могут быть проверены быстрее, эти произведения могут быть вычислены за ожидаемое время <math>O(n^{3/2}w)</math>, где w – число элементов "1" в произведении.




Поскольку произведения булевых матриц могут быть проверены быстрее, эти произведения могут быть вычислены за ожидаемое время O(n3/2w), где w – число элементов Г в произведении.
Все упомянутые алгоритмы матричного произведения могут быть использованы и для умножения прямоугольных матриц с соответствующими модификациями.
Все упомянутые алгоритмы матричного произведения могут быть использованы и для умножения прямоугольных матриц с соответствующими модификациями.


== См. также ==
== См. также ==
Строка 100: Строка 110:


11. Szegedy, M.: Quantum speed-up of Markov chain based algorithms. In: Proceedings of the 45th IEEE Symposium on Foundations of Computer Science, pp. 32-41, Rome, Italy, 17-19 October 2004 (2004)
11. Szegedy, M.: Quantum speed-up of Markov chain based algorithms. In: Proceedings of the 45th IEEE Symposium on Foundations of Computer Science, pp. 32-41, Rome, Italy, 17-19 October 2004 (2004)
[[Категория: Совместное определение связанных терминов]]