1294
правки
Irina (обсуждение | вклад) |
KVN (обсуждение | вклад) |
||
(не показано 11 промежуточных версий 1 участника) | |||
Строка 3: | Строка 3: | ||
== Постановка задачи == | == Постановка задачи == | ||
Пусть A, B, C – три заданные матрицы размерности n x n над полем, где C – матричное произведение AB. Прямолинейный метод проверки того, что С = AB, заключается в перемножении матриц A и B и поэлементном сравнении полученного результата с C. Это занимает время <math>O(n^{\omega})</math>, где <math>\omega</math> – | Пусть 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: | ||
Эти же авторы изучали задачу проверки над булевой алгеброй | Эти же авторы изучали задачу проверки над булевой алгеброй {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( | Амбайнис, Бурман, Хойер, Карпински и Курур [2] впервые изучили задачу проверки матричного произведения в квантовомеханической формулировке. Рекурсивно применяя алгоритм поиска Гровера [6], они представили алгоритм с временем выполнения <math>O(n^{7/4})</math>. Бурман и Шпалек улучшили это время, адаптировав алгоритмы поиска, основанные на квантовом блуждании, которые были незадолго до того разработаны Амбайнисом [1] и Шегеди [11]. | ||
Обозначим за 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, если С | '''Теорема 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 предоставляются оракулом. В качестве меры сложности здесь используется количество вызовов оракула (запросов). Сложность в запросах их квантового алгоритма совпадает с временем работы в вышеприведенной теореме. Они также вывели нижнюю границу сложности в запросах для этой задачи. | ||
Теорема 2. Любой квантовый алгоритм с ограниченной ошибкой для задачи 1 имеет сложность в запросах | '''Теорема 2. Любой квантовый алгоритм с ограниченной ошибкой для задачи 1 имеет сложность в запросах <math>\Omega(n^{3/2})</math>.''' | ||
Когда матрицы A, B, C являются булевыми, а произведение определено над операциями | |||
Когда матрицы 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 | |||
\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> | |||
'''где w – количество ненулевых элементов матрицы C.''' | |||
где w – количество ненулевых элементов матрицы C. | |||
Строка 66: | Строка 75: | ||
Последующий алгоритм квантового блуждания, который предложили Маньез, Наяк, Роланд и Санта [ ], находит неправильный элемент за то же время, что и в Теореме 1, не требуя проведения бинарного поиска. Это немного улучшает время работы вышеописанного квантового алгоритма умножения матриц. | Последующий алгоритм квантового блуждания, который предложили Маньез, Наяк, Роланд и Санта [9], находит неправильный элемент за то же время, что и в Теореме 1, не требуя проведения бинарного поиска. Это немного улучшает время работы вышеописанного квантового алгоритма умножения матриц. | ||
Поскольку произведения булевых матриц могут быть проверены быстрее, эти произведения могут быть вычислены за ожидаемое время <math>O(n^{3/2}w)</math>, где w – число элементов "1" в произведении. | |||
Все упомянутые алгоритмы матричного произведения могут быть использованы и для умножения прямоугольных матриц с соответствующими модификациями. | Все упомянутые алгоритмы матричного произведения могут быть использованы и для умножения прямоугольных матриц с соответствующими модификациями. | ||
== См. также == | == См. также == | ||
Строка 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) | ||
[[Категория: Совместное определение связанных терминов]] |