УДК 519.7
H. Нахимове1, Р. А. М. Сантос2, К. Р. Хадиев3
КВАНТОВЫЕ БЛУЖДАНИЯ МОГУТ НЕ НАЙТИ ОТМЕЧЕННЫЕ СМЕЖНЫЕ ВЕРШИНЫ*
Работа посвящена изучению поведения квантовых блужданий с дискретным временем применительно к задаче поиска отмеченных вершин в графе. Большинство статей в данной области посвящено случаю поиска одной отмеченной вершины. В нашей работе показывается, что в случае нескольких отмеченных вершин их взаимное расположение может разительно влиять на время работы алгоритма поиска. Мы показываем широкий класс размещений отмеченных вершин, для которых алгоритму поиска требуется fl(N) шагов, т. е. столько же, сколько и классическому полному перебору. Найденные конфигурации состоят из двух и более смежных отмеченных вершин. В статье дается анализ для двумерной сетки, который затем обобщается на случай общего графа.
Рассматривается алгоритмическое приложение обнаруженного эффекта. В качестве такого приложения выбрана задача определения наличия совершенного паросочетания в двудольном графе. Рассматривается класс двудольных графов, для которого алгоритм, использующий конфигурации-исключения квантовых блужданий, работает быстрее, чем классические алгоритмы.
Ключевые слова: квантовые алгоритмы, теория графов, задача поиска, квантовые блуждания.
I. Введение. Квантовые вычисления — это одна из наиболее обсуждаемых тем в информатике и теоретической кибернетике последних десятилетий. Успехи физиков в последние годы стали особенно подогревать интерес к этой теме. Подробнее о квантовых вычислениях можно прочесть в работах [1-4]. На данный момент найдено много задач, для которых построены квантовые алгоритмы, работающие быстрее, чем классические аналоги [4]. Одна из таких задач — задача поиска "отмеченного", т.е. удовлетворяющего условию, элемента в некотором пространстве поиска, обычно заданном в виде графа. Одним из наиболее мощных подходов к решению подобных задач являются квантовые блуждания.
Квантовые блуждания являются квантовым аналогом классических случайных блужданий [6]. Аналогично классическому случаю существует два типа квантовых блужданий: квантовые блуждания с дискретным временем [7] и квантовые блуждания с непрерывным временем [8]. Для блужданий с дискретным временем шаг алгоритма обычно задается последовательностью двух операторов: "оператора монеты" (coin operator) и "оператора сдвига" (shift operator). Оператор монеты действует на внутреннее состояние "частицы" и меняет амплитуды (неформально, вероятности) перемещения в смежные вершины. Оператор сдвига перемещает "частицу" между смежными вершинами.
Для решения задач поиска вводится понятие отмеченной вершины, т. е. вершины, удовлетворяющей условию поиска. Шаг блуждания меняется таким образом, чтобы операторы в отмеченных вершинах отличались от операторов в неотмеченных вершинах. В случае правильно подобранных операторов процесс блуждания приводит к состоянию системы, в котором вероятность получить отмеченную вершину в результате измерения существенно больше, чем для любой неотмеченной вершины. Подобный метод был предложен в [9] и с тех пор широко используется.
1 Center for Quantum Computer Science, Faculty of Computing, University of Latvia, researcher, e-mail: nikolajs.nahimovsQlu.lv
2 Center for Quantum Computer Science, Faculty of Computing, University of Latvia, researcher, e-mail: rsantosQlu.lv
3 ООО Квантовые интеллектуальные технологии, Институт ВМиИТ Казанского федерального университета, Center for Quantum Computer Science, Faculty of Computing, University of Latvia, науч. сотр., к.ф.-м.н., e-mail: khadievQkpfu.ru
* Работа выполнена при финансовой поддержке ERC Advanced grant MQC. Исследования в разделе 5 выполнены при финансовой поддержке РНФ, проект № 17-71-10152.
Данная работа посвящена изучению поведения квантовых блужданий с дискретным временем применительно к задаче поиска отмеченных вершин в графе. Большинство статей в данной области изучает случай поиска одной отмеченной вершины. В работе показывается, что в случае нескольких отмеченных вершин взаимное их расположение может разительно влиять на время работы алгоритма поиска. Мы показываем широкий класс конфигураций (видов размещения) отмеченных вершин, для которых алгоритму поиска требуется П(Ж) шагов, т. е. столько же, сколько и классическому полному перебору. Найденные конфигурации, названные в данной статье конфигурациями-исключениями, состоят из двух и более смежных отмеченных вершин.
В начале работы рассматривается двумерная сетка и доказывается, что любые две смежные вершины образуют конфигурацию-исключение. Далее, полученный результат обобщается до случая общего графа, когда отмеченные смежные вершины имеют одинаковую степень й, и показывается, что вероятность нахождения отмеченных вершин ограничена сверху величиной ®(с!? /Н). После этого показывается, что любая /■•-клика отмеченных вершин также образует конфигурацию-исключение.
Причина, почему некоторые конфигурации являются конфигурациями-исключениями, заключается в том, что для подобных конфигураций начальное состояние алгоритма поиска находится близко к одному из собственных векторов (состояний) шага блуждания. Мы формулируем общие условия, которым должно удовлетворять состояние, чтобы быть стационарным для шага блуждания.
В конце работы рассматривается алгоритмическое приложение для исключительных конфигураций. Предлагается алгоритм для определения наличия совершенного паросочетания в двудольном графе, встраиваемом в двумерную сетку.
2. Двумерная сетка.
2.1. Квантовые блуждания в двумерной сетке. Рассмотрим двумерную сетку размера у N х л/Н с периодическими граничными условиями (тор). Пометим узлы сетки их координатами (ж,у), где х,у € {0,...,у/М- 1}. Узлы сетки определяют множество базовых векторов \х,у), которые охватывают гильбертово пространство Н-р, ассоциированное с положением "частицы". Дополнительно, определим четырехмерное гильбертово пространство Не, порожденное векторами (|с) : с € {<—, —4-}} и ассоциированное с направлением.
Шаг блуждания задается оператором II = Б ■ (/дг ® С), где в оператор сдвига:
3\ЬЗЛ) = Н, + 1,4-),
^М,«-) = \i-lj, ->•), = |г + 1,
а С — оператор монеты
С = 2\ВС){8С\^14,
где
|*с> = ^(т + и>+ |<-> +и»-
Оператор С выполняет инверсию относительно среднего для размерности 4. Состояние системы после £ шагов алгоритма блуждания будем обозначать {'ф^)). Начальное состояние алгоритма блуждания
1 \Zn-I
що)> = -= у; м®|*с> а)
у г,з=0
является равномерной суперпозицией по всем вершинам и направлениям. Данное состояние является единственным собственным вектором оператора 17 с собственным значением 1.
Алгоритм поиска использует шаг блуждания U' = S • (/дг ® С) • (Q ® Ц), где Q оператор проверки отмеченности вершины (query operator). Оператор Q меняет знак в отмеченных вершинах, т.е. Q\x.y) = —|х.у). если вершина (х.у) отмечена и Q\x.y) = \х.у). в противном случае. Заметим, что (^'(О)) является собственным вектором U, но не U'.
В случае одной отмеченной вершины через 0(^/N log N) шагов скалярное произведение (i/j(t)\i/j(Q)) становится близким к 0. Вероятность нахождения отмеченной вершины, в случае измерения состояния в этот момент, будет 0(1/ log N) [10].
2.2. Конфигурации-исключения для двумерной сетки. Рассмотрим двумерную сетку размера л/iV х л/N с двумя отмеченными вершинами (?', j) и (i + 1, j). Построим состояние \Ф%(и) в котором все амплитуды равны а, за исключением \i,j, —») и |i + 1, j, ), которые равны —За (см. рис. 1), т.е.
к-1
IФ'каг) = Y1 Y1 а1Я' С) ~ ->) - 4а1* + 1;<">• (2)
:r,j/=0 с
Мы утверждаем, что данное состояние не меняется шагом алгоритма блуждания.
Рис. 1. Амплитуды стационарного состояния для отмоченных вершин (i,j) и (г + 1. j)
Лемма 1. Рассмотрим двумерную сетку л/N х a/N с двумя отмеченными вершинами (i.j) и (i + 1, j). Тогда состояние определяемое формулой (2), не меняется ша.гом блуждания,
т.с.и'\фаяШ) = \ф«яШ).
Доказательство. Рассмотрим действие шага алгоритма на Оператор Q ме-
няет знак в отмеченных вершинах, С выполняет инверсию относительно среднего: для неотмеченных вершин все амплитуды равны а, и оператор не меняет амплитуды; для отмеченных вершин среднее значение равно 0 и оператор меняет знаки амплитуд. Таким образом, (I ® C)(Q ® Т)\ф'яиа) = |(f>%at). S меняет амплитуды смежных вершин. Для |ф"ш) S меняет а на а и —'in на -3а, т.е., S(I®C)(Q ® 1)\ф%аг) =
Начальное состояние алгоритма, данное формулой (1), может быть записано как
|V'(0)> = I Cat) + !»( ''•■/• ->> + I i + <-»,
для a, = I/у/1N. Единственная часть начального состояния, изменяемая шагом алгоритма, равна 4a(|i, j, —>) + + 1, j, <—)). Оценим вероятность нахождения одной из отмеченных вершин.
Лемма 2. Рассмотрим двумерную сетку л/N х л/N с двумя отмеченными вершинами (i.j) и (i + 1, j). Тогда для любого количества шагов, вероятность нахождения отмеченной вершины Рм = 0\±).
Доказательство следует из приведенной далее теоремы 2 при d = 4 и т = 2N.
Заметим, что в случае блока отмеченных вершин мы можем задать стационарное состояние, если блок может быть покрыт подблоками размером 1 х 2 и 2 х 1. Например, для блока М = {(0, 0), (0,1), (2, 0), (3, 0)} (п 3) стационарное состояние будет следущим:
к-1
Wkat) = 4^?/, с) — 4«|0,0, ->> -4a|0,l,<-) -4a|2,0,t> -4a|3,lU>-
:r,J/=0 с
Построение стационарных состояний для блоков отмеченных вершин для двумерных сеток будет детально описано в [11].
3. Общий граф.
3.1. Квантовые блуждания в общем графе. Рассмотрим граф О = (К Е), где V множество вершин, а Е множество ребер. Пусть п = (Т7!, т = \Е\. Множество вершин и направлений в смежные вершины (иначе, упорядоченных пар смежных вершин) определяет множество базовых векторов {|г>, с) : г> € К 0 ^ с < где с1,г степень вершины г>. Блуждание с дискретным временем происходит в гильбертовом пространстве У,2"'порожденным базовыми векторами. Заметим, что в случае, если граф не является регулярным, состояние |г>, с) не может быть записано как |г') ® |с).
Шаг блуждания задается оператором и = Б ■ С, где С оператор монеты, а Б оператор сдвига. Оператор монеты С является тензорной суммой операторов монеты для отдельных вершин, т. е.
С = С1©-©С„,гда
| <:<<Ь
с г = - = -у= ^ |с).
V"« с=0
Оператор Сг выполняет инверсию относительно среднего для размерности Оператор сдвига Б задается как ,5|г>, с) = |и', с'), где V и г>' являются смежными вершинами, а с и с' соответствуют направлениям из V в г>' и из г>' в г>. Начальное состояние системы
що)> = ^=£ Е М (з)
у г=0 с=О
является равномерной суперпозицией пар вершина-направление. Данное состояние является единственным собственным вектором оператора и с собственным значением 1.
Алгоритм поиска использует шаг блуждания [/' = Б • С • где С} оператор проверки отмеченности вершины, меняет знак в отмеченных вершинах, т. е.
<1„,-1 и;£Л/ с=О
где М множество отмеченных вершин.
В общем случае время работы алгоритма поиска зависит как от структуры графа, так и от множества (количества и взаимного расположения) отмеченных вершин.
3.2. Конфигурации-исключения для общего графа.
Две отмеченные вершины. Рассмотрим граф О = (К Е) с двумя смежными отмеченными вершинами г и ] одной степени д^ = в,) = в,. Построим состояние в котором все амплитуды
равны а, за исключением амплитуд вершин г и указывающих друг на друга, которые равны — ((I — 1)а. На рис. 2 иллюстрируется данное состояние. Мы утверждаем, что данное состояние является стационарным для шага алгоритма блуждания.
Рис. 2. Амплитуды стационарного состояния для двух смежных отмеченных вершин г и ;]
Теорема 1. Пусть О = (К Е) граф с двумя смежными отмеченными вершинами г и ] одной степени а= в,) = (1 и пусть
IФ'1.}) = (1*'С(М)> + Ь': Си.г))) :
где с^у) направление из вершины г в вершину Тогда состояние
п— 1 - 1
I= Ё М + Ю'
г=0 с=0
не меняется ша.гом алгоритма, т. е. и'\ф"ш) = \ф[!,ии).
Доказательство. Рассмотрим действие шага алгоритма на Оператор (} меняет
знак в отмеченных вершинах, С выполняет инверсию относительно среднего: для неотмеченных вершин все амплитуды равны а, и оператор не меняет амплитуды; для отмеченных вершин среднее значение 0, и оператор меняет знаки амплитуд. Таким образом, С(2\ф"ш) = |Ф%(и); Б меняет амплитуды смежных вершин, указывающих друг на друга. Для |Ф%аг) оператор сдвига Б меняет а на а и —{в, — 1)а на —{в, — 1)а. Получаем БССЦ\ф%(и} = |Ф%(и}-
Начальное состояние алгоритма |,г/;(0)); данное формулой (3), может быть записано как ^(О)) = = IФ%<и) ~ IФ'1 ¡) для а = 1 /\/2т. Единственная часть начального состояния, изменяемая шагом алгоритма, \Ф1,])- Оценим вероятность нахождения одной из отмеченных вершин.
Теорема 2. Пусть О = (К Е) граф с двумя смежными отмеченными вершинами г и ] одной степени с^ = = в,. Тогда вероятность нахождения отмеченной вершины, рд/ = О (^г) ; где т = \Е\.
Доказательство. Единственная часть начального состояния |'?/;(0)), изменяемая шагом алгоритма, это |= —ай с^у)) + Ц, Су^)) для а = 1/\/2т. Так как эволюция состояния унитарна, то норма изменяемой части константна. Наша задача найти распределение амплитуд изменяемой части, которое максимизирует вероятность нахождения одной из отмеченных вершин. Более формально, мы максимизируем значение функции 2(й — 1)(а + хх)2 + 2(—(с£ — 1)а — х2)2, при ограничении 2{в, — 1).т| + 2х22 = |||<^"у)||2 = 2а?в?. Здесь х\ это амплитуда изменяемой части, соответствующая направлению из отмеченной вершины в неотмеченную, а х2 амплитуда направления из одной отмеченной вершины в другую. Из соображений симметрии максимизируемой функции все амплитуды из отмеченной вершины в неотмеченную приняты равными между собой. То же касается амплитуд между отмеченными вершинами. Максимизируя вышеописанную функцию получим ры < 2а?(2^/(в, - 1)о!3 + (1(2(1 — 1)) = О .
Одним из следствий теоремы 2 является то, что в случае, если степень отмеченных вершин мала по сравнению с п, то вероятность нахождения отмеченной вершины остается близкой к изначальной.
Три отмеченные вершины. Рассмотрим граф О = (К Е) с тремя смежными отмеченными вершинами ] и к. Амплитуды стационарного состояния для них показаны на рис. 3.
<4-2
Рис. 3. Амплитуды стационарного состояния для трех смежных отмоченных вершин г, ;) и к
Заметим, что аналогично случаю двух отмеченных вершин, для того, чтобы состояние было стационарным, сумма амплитуд в каждой из отмеченных вершин должна быть равна 0. Это задает систему уравнений
"I" Ьк — ^'г 2,
¿г] + 1]к — 2,
Ьк + 1]к = ¿к ~ 2-
решая которую получим
Нз =-2--' к =-2--И =-2----' '
Теорема 3. Пусть О = (V, Е) — граф с тремя смежными отмеченными вершинами г, ] и к и пусть
IФ*,з,к) = + 1) (1«>с(ы)) + \hHhi))) ~ + !) (1*>с(г,*)> + \к1 с(*,г)>) ~
- Фзк + 1) си,к)} + \к, С(кл))) ,
где 1ц~ и определены формулой (4). Тогда
п — 1 «¡„ — 1 г>=0 с=О
не меняется шагом алгоритма.
Доказательство. Аналогично доказательству теоремы 1.
Заметим, что, в отличие от случая двух отмеченных вершин, для трех отмеченных вершин конфигурация является конфигурацией-исключением вне зависимости от порядка вершин.
/■-клика отмеченных вершин. Обобщим предыдущий результат на полный отмеченный подграф.
Теорема 4. Пусть О = (V, Е) — граф с к отмеченными вершинами ..., ук, образующими к-клику. Тогда отмеченные вершины составляют конфигурацию-исключение.
Доказательство. Пусть сЦ = (А; — 1) + д!р где д!^ — количество ребер исходящих из г^ в неотмеченные вершины. Наша задача: задать амплитуды ребер между отмеченными вершинами так, чтобы сумма амплитуд для любой отмеченной вершины была равна 0. Не теряя общности рассуждения, будем считать, что й\ < й'2 < ■ ■ ■ < й'к. Положим амплитуду ребра из в г>2 равной а амплитуды прочих ребер из в отмеченные вершины равными 0. Мы удовлетворили условие стационарности для вершины и свели проблему к полному подграфу размера А; — 1. Повторяя вышеописанный шаг, сведем задачу к 3-клике, для которой, согласно выше доказанной теореме, всегда существует стационарное состояние.
Общие условия. Ниже описаны общие условия, которым должно соответствовать стационарное состояние.
Теорема 5. Пусть \ф) — состояние в котором:
1) все амплитуды в неотмеченных вершинах равны между собой;
2) сумма амплитуд в отмеченных вершинах равна 0;
3) амплитуды смежных вершин, указывающих друг на друга, равны.
Тогда \ф) не меняется шагом алгоритма блуждания, т. е. 11\ф) = \ф).
Доказательство. Из пункта 1 следует, что оператор монеты не меняет амплитуды в неотмеченных вершинах. Из утверждения пункта 2 вытекает, что оператор монеты меняет знаки амплитуд в отмеченных вершинах. Так как знаки в отмеченных вершинах были до этого изменены оператором (2, то С ■ С}\ф) = \'ф). Утверждение пункта 3 необходимо для того, чтобы оператор смещения не менял амплитуды состояния. Таким образом, 8СС}\ф) = \ф).
4. Приложение эффекта "конфигураций-исключений". Было бы интересно обнаружить алгоритмическое приложение эффекта исключительных конфигураций. Одним из возможных таких приложений может быть алгоритм для решения задачи обнаружения совершенного паросоче-тания в двудольном графе. Сформулируем саму задачу.
Задача обнаружения совершенного паросочетания в двудольном графе. Рассмотрим граф О = (У,Е), где V — множество вершин, Е — множество ребер. При этом вершины можно разделить на две доли Ц и такие, что С V, ¥2 = ТЛ^, не существует таких ребер
61,62 € Е, что 61 = («1, «г), «1, «2 € V-!, ег = , «2)! ! Паросочетанием называется множе-
ство ребер Е' С Е, такое, что никакие два ребра из Е\ не имеют общих вершин. Паросочетание называется совершенным, если ребра из Е' покрывают все ребра, т.е. V = {г> : V € {«1,^2}, где е = («1,^2), е € Е'}. Задача состоит в том, чтобы определить, существует ли в двудольном графе совершенное паросочетание или нет [12].
Граф О будем называть встраиваемым в двухмерную сетку Ь = (У^, -Ех), если можно выбрать множество вершин С У^, которое мы будем называть отмеченными вершинами, обладающими следующими свойствами: (¡) каждой вершине V € V взаимнооднозначно соответствует вершина из VI; (И) две вершины из смежны в Ь тогда и только тогда, когда их образы из V смежны в О.
Для решения этой задачи рассматривается следующий алгоритм.
Алгоритм.
Шаг 1. Встраиваем граф О в сетку размерами N х Ы, где N = \У\
Шаг 2. Запускаем алгоритм "квантовые блуждания".
Шаг 3. В случае, если обнаружена отмеченная вершина, то в графе нет совершенного паросо-четания; если не обнаружена — то паросочетание есть.
Вычислим временную сложность алгоритма, и покажем, что он работает правильно.
Теорема 6. Временная сложность Алгоритма равна О(Ы) = 0(|У| 1оё|У|). Если совершенное паросочетание существует, то алгоритм это определит.
Доказательство. Временная сложность алгоритма "квантовые блуждания" на данной сетке равна = 0(Н) = 0(|У| Пусть совершенное паросочетание существует, тогда множество ребер Е'ь, являющееся паросочетанием, разбивает все отмеченные вершины сетки на непересекающиеся смежные пары по определению. Таким образом, они образуют исключительную конфигурацию, и алгоритм не найдет отмеченные вершины, т. е. алгоритм выдаст верный ответ. Пусть совершенного паросочетания в графе не существует. Кроме того, выполняется следующее условие:
где V € VI — количество смежных неотмеченных вершин, У^'1, V,'1' — вершины из Уь, которые принадлежат одной и второй доле соответственно.
При данном условии исключительной конфигурации в графе не существует. Поэтому алгоритм найдет одну из отмеченных вершин и выдаст правильный ответ.
5. Заключение. В статье рассмотрено поведение квантовых блужданий с дискретным временем применительно к задаче поиска нескольких отмеченных вершин в графе и показан широкий класс конфигураций отмеченных вершин, для которых алгоритму поиска требуется столько же шагов, сколько и классическому полному перебору. Эти конфигурации названы в статье конфигурациями-исключениями. Пометка ранее непомеченной вершины может как преобразовать обычную конфигурацию в конфигурацию-исключение, так и конфигурацию-исключение — в обычную конфигурацию. Таким образом, дополнительная помеченная вершина может разительно изменить время работы алгоритма. Обнаруженный эффект не имеет прямого аналога в классических случайных блужданиях, где дополнительная отмеченная вершина не увеличивает количества шагов алгоритма поиска. Мы полагаем, что обнаруженный эффект может иметь широкое применение в качестве алгоритмического примитива. Как пример подобного применения мы использовали вышеописанный выше эффект для решения задачи обнаружения совершенного паросочетания в двудольном графе.
vevi'1 vEV^'2
СПИСОК ЛИТЕРАТУРЫ
1. Nielsen M. A., Chuang I.L. Quantum Computation and Quantum Information. Cambridge University Press, 2010.
2. Ambainis A. Understanding Quantum Algorithms via Query Complexity. arXiv. 2017. N 1712.06349.
3. Say A. C.C., Yakaryilmaz A. Quantum finite automata: A modern introduction // Computing with New Resources. Lecture Notes in Computer Science. Vol. 8808. Berlin: Springer, 2014. P. 208-222.
4. De Wolf R. Quantum computing and communication complexity. Ph. D. Thesis. Amsterdam, Universiteit van Amsterdam, 2001.
5. Jordan S. Quantum Algorithms Zoo. URL: https://math.nist.gov/quantum/zoo
6. Portugal R. Quantum Walks and Search Algorithms. Springer, 2013.
7. Aharonov Y., Davidovich L., Zagury N. Quantum random walks // Physical Review A. 48(2). 1993. P. 1687.
8. Farhi E., Gutmann S. Quantum computation and decision trees // Physical Review A. 58(2). 1998. P. 915.
9. Shenvi N., Kempe J., Whaley K.B. Quantum random walk search algorithm //Physical Review A. 67(5). 2003. P. 052307.
10. Ambainis A., Kempe J., Rivosh A. Coins make quantum walks faster//Proceedings of SODA'05. New York: ACM, 2005. P. 1099-1108.
11. Nahimovs N., Rivosh A. Exceptional configurations of quantum walks with Grover's coin // Mathematical and Engineering Methods in Computer Science. Lecture Notes in Computer Science. Vol. 9548. Springer Nature, 2015. P. 79-92.
12. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms-Secund Edition. McGraw-Hill, 2001.
13. Magniez F., Santha M., Szegedy M. An 0(n1,3) quantum algorithm for the triangle problem // Proceedings of SODA'05. New York: ACM, 2006. P. 413-424.
Поступила в редакцию 11.09.18