Научная статья на тему 'Квантовый алгоритм для нахождения кратчайшего пути в ациклическом ориентированном графе'

Квантовый алгоритм для нахождения кратчайшего пути в ациклическом ориентированном графе Текст научной статьи по специальности «Математика»

CC BY
368
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КВАНТОВЫЕ АЛГОРИТМЫ / ТЕОРИЯ ГРАФОВ / ПОИСК КРАТЧАЙШИХ ПУТЕЙ / ОРГРАФ / МОДЕЛЬ ЗАПРОСОВ / АЛГОРИТМЫ / QUANTUM ALGORITHMS / GRAPH THEORY / SHORTEST PATH SEARCH / QUERY MODEL / ALGORITHMS

Аннотация научной статьи по математике, автор научной работы — Хадиев К.Р., Сафина Л.И.

В работе рассматривается задача нахождения кратчайших путей от заданной вершины до всех остальных в ациклическом взвешенном топологичиски отсортированном орграфе. Известно, что временная сложность лучшего детерминированного алгоритма составляет 0(М + N), где N — число вершин в графе, а М — число ребер. Предлагается квантовый алгоритм решения рассматриваемой задачи. Временная сложность предложенного алгоритма 0(\/NM log N), и вероятность ошибки 0(\/N). Данный алгоритм базируется на методе динамического программирования в ациклических орграфах, а также квантовом алгоритме Дюрра и Хойера (С. Durr, Р. Нруег) поиска минимального элемента в неупорядоченной последовательности. При этом алгоритм, описанный в данной работе, работает быстрее, чем лучший известный квантовый алгоритм нахождения кратчайшего пути в графе, предложенный Дюрром и соавторами для неориентированного графа.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Хадиев К.Р., Сафина Л.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Квантовый алгоритм для нахождения кратчайшего пути в ациклическом ориентированном графе»

УДК 519.7

К. Р. Хадиев1, Л. И. Сафина2

КВАНТОВЫЙ АЛГОРИТМ ДЛЯ НАХОЖДЕНИЯ КРАТЧАЙШЕГО ПУТИ В АЦИКЛИЧЕСКОМ ОРИЕНТИРОВАННОМ ГРАФЕ*

В работе рассматривается задача нахождения кратчайших путей от заданной вершины до всех остальных в ациклическом взвешенном топологичиски отсортированном орграфе. Известно, что временная сложность лучшего детерминированного алгоритма составляет 0(М + N), где N — число вершин в графе, а М — число ребер.

Предлагается квантовый алгоритм решения рассматриваемой задачи. Временная сложность предложенного алгоритма 0{л/1Шlog AT), и вероятность ошибки 0(l/N). Данный алгоритм базируется на методе динамического программирования в ациклических орграфах, а также квантовом алгоритме Дюрра и Хойера (С. Dürr, Р. Н0уег) поиска минимального элемента в неупорядоченной последовательности. При этом алгоритм, описанный в данной работе, работает быстрее, чем лучший известный квантовый алгоритм нахождения кратчайшего пути в графе, предложенный Дюрром и соавторами для неориентированного графа.

Ключевые слова: квантовые алгоритмы, теория графов, поиск кратчайших путей, орграф, модель запросов, алгоритмы.

1. Введение. Квантовые вычисления — это одна из наиболее обсуждаемых тем в информатике и теоретической кибернетике последних двух-трех десятилетий. Успехи физиков последних лет стали особенно подогревать интерес к этой теме. Подробнее о квантовых вычислениях можно прочесть в работах [1-4]. На данный момент существует уже много задач, для которых были построены квантовые алгоритмы, работающие быстрее, чем классические [5]. Одна из таких задач — задача нахождения кратчайшего пути в графе. В данной работе предложен новый квантовый алгоритм, который увеличивает разрыв между классической и квантовой временной сложностью.

Рассматривается взвешенный ациклический ориентированный топологически отсортированный граф, состоящий из N вершин и М ребер. Задача состоит в том, чтобы найти длину кратчайших путей до всех вершин, достижимых из заданной стартовой вершины s.

Если данную задачу решать подходящими для неориентированных графов алгоритмами, то они имеют следующую временную сложность: алгоритм Флойда-Уоршелла — 0(N3), алгоритм Форда-Белмана — O(iVM), алгоритм Дейкстры [6] (релизация с фибоначчиевой кучей [6, 7] или приоритетной очередью [8]) — 0(М + iVlogiV). Так как задача поставлена для ациклического орграфа, то для ее решения можно применить метод динамического программирования [6]. Метод заключается в том, что решение задачи строится исходя из предвычисленных задач с меньшими значениями параметров. Идея аналогична рекуррентным соотношениям. Временная сложность такого алгоритма 0(N + М).

В 2004 г. в работе [9, 10] предложен квантовый алгоритм нахождения кратчайшего пути в неориентированном взвешенном графе. Его временная сложность составляет 0(s/NM log2 N). Этот алгоритм базируется на идеях алгоритма Дейкстры и квантовом алгоритме поиска минимума Дюрра и Хойера [11]. В данной работе представлен квантовый алгоритм, который использует подход динамического программирования на ациклических графах [12] и квантовый алгоритм поиска минимума Дюрра и Хойера [11]. Такое сочетание позволило получить временную сложность 0(VNM log N) и вероятность ошибки, стремящуюся к 0 как 0(1/N). Подобные подходы были использованы в работах [9, 10, 13-15] для различных графовых задач.

Заметим, что временная сложность алгоритмов также зависит и от способа представления графа в памяти. Выше была приведена временная сложность для модели представления графа

1 ООО Квантовые интеллектуальные технологии, Факультет ИВМиИТ Казанского федерального университета, Center for Quantum Computer Science, Faculty of Computing, University of Latvia, ассистент, к.ф.-м.н., e-mail: kamilhadiQgmail.com

2 Факультет ИВМиИТ Казанского федерального университета, инженер, e-mail: liliasafina94Qgmail.com

* Работа выполнена при финансовой поддержке РНФ, проект № 17-71-10152.

"список смежности". В случае, если мы рассматриваем модель "матрица смежности", то лучший детерминированный алгоритм (основанный на динамическом программировании) работает за время 0(N2); квантовый алгоритм Дюрра и соавторов работает за 0(N1-5(\og iV)2), в то время как представленный в данной статье алгоритм работает за OlN1-5 logiV), следовательно — быстрее детерминированных и квантовых аналогов.

Статья имеет следующую структуру. В п. 2 размещены основные определения. В п. 3 представлен разработанный квантовый алгоритм, а в п. 4 содержится заключение.

2. Основные определения. Рассмотрим формальную постановку задачи. Дан взвешенный ациклический ориентированный граф (Directed Acyclic Graph — DAG) G = (F, E), где V — множество вершин, E — множество ориенированных ребер (дуг). При этом гарантируется, что для любого ребра е = (vi,vj), е € Е, Vi,Vj € V, выполняется следующее условие: г < j. Обозначим количество вершин графа N, а количество ребер Л/. т.е. |F| = N, \Е\ = М.

Обозначим через X>j множество всех вершин, из которых исходят дуги, входящие в вершину vf. T>i = {vj : Зе = (vj,vi) € Е}, где i € {l,...,iV}. Количество таких вершин обозначим di = |X>j|. Будем говорить, что w(j, i) — это вес дуги е = (Vj,Vi) в случае, если е € Е, где i,j € {1,..., N}. Если е 0 Е, то w(j, i) = +оо. Кроме того, w(i, i) = 0 для г € {1,..., N}.

Задача Ps, где s € {1,... ,N}, состоит в том, что необходимо найти кратчайшие расстояния от стартовой вершины с номером s до всех остальных, если они достижимы из вершины vs.

Будем говорить, что модель хранения графа — "список смежности", если граф хранится в виде массива L. При этом г-ш элемент массива L[i) — это список пар (v,w), где v € A, w — вес ребра (v,Vi), i € {l,...,iV}. При этом список L[i) отсортирован по индексу v. Мы будем обозначать и -^й[j]-w элементы v и w из j-й пары списка L[i] соответственно. Будем говорить, что модель хранения графа — "матрица смежности", или "матрица весов", если граф хранится в виде матрицы В. При этом j-й элемент г-ш строки B[i][j] = w(i,j).

2.1. Модель вычислений. Определим основные понятия квантовой информатики. Квантовым битом (кубитом) называется вектор из двух комплексных чисел \ф) = (ao,ai), таких, что |a0|2 + |ai|2 = 1. Традиционно в квантовой информатике используются обозначения Дирака [1, 16]. Вектор — это элемент гильбертова пространства И2. Число щ называется амплитудой состояния i. Над кубитом допустимы две операции: применение унитарной трансформации или измерение. Операция унитарной трансформации состоит в том, что вектор \ф) домножается на унитарную комплекснозначную 2 х 2-матрицу. Операция измерения позволяет извлечь информацию из кубита. После этой операции кубит переходит в состояние |0) = (1,0) с вероятностью |ао|2 или в состояние |1) = (0,1) с вероятностью |ai|2.

Регистром из t кубит называется вектор из 2* комплексных чисел |ф) = (ао,...,агО G W2 ,

причем ^ |aj|2 = 1. Операция унитарной трансформации — это домножение на унитарную ком-

г=0

плекснозначную 2* х 2*-матрицу. Измерение извлекает состояние i с вероятностью |aj|2.

Одной из наиболее часто встречающихся моделей для квантовых алгоритмов является модель запросов [1, 2]. В данной модели мы можем обращаться к оракулу, который, в свою очередь, имеет доступ к модели хранения графа (списку смежности или матрице смежности). Запрос — это домножение вектора состояния квантового регистра на диагональную унитарную матрицу Q, в которой элемент дц = 1, если некоторая вычисляемая оракулом функция f(i) = 0, и цц = —1, если f(i) = 1. Оракул может вычислять только такие функции /, которые можно вычислить за константное или логарифмическое время относительно размера регистра.

3. Квантовый алгоритм для нахождения кратчайшего пути. Представленный в данной статье квантовый алгоритм базируется на методе динамического программирования на ацикли-

ческих ориентированных графах [6, 12] и квантовом алгоритме поиска минимума [11]. Данный алгоритм основывается на алгоритме Гровера [17] и обладает следующим свойством.

Свойство 1 [12]. Алгоритм Дюрра и Хойера находит индекс минимального элемента в неупорядоченной последовательности длины К за среднее время 0(у/К). При этом вероятность ошибки алгоритма не более чем

Введем следующие обозначения, которые будем использовать в алгоритме поиска кратчайшего пути:

• 5 — заданная стартовая вершина;

• кЩ — кратчайшее расстояние от до В случае, если вершина ^ не достижима из вершины

то кЩ = +оо.

Приведем квантовый алгоритм.

Алгоритм 1. к = {+оо,..., +оо};

for (i from s + 1 to N)

k[i] = min(.h\ji]+w{ji,j),...,h\ju]+w{ju,i)), где и = du Д = (vh,... ,vjn).

Функция min — возвращает минимальное значение из переданных параметров. Она реализована с помощью алгоритма Дюрра и Хойера.

Покажем корректность данного алгоритма и оценим временную сложность и вероятность нахождения правильного ответа.

Лемма 1. Алгоритм 1 вычисляет длину кратчайших путей до всех вершин, достижимых из vs. Вероятность нахождения правильного ответа О(фг).

Доказательство. Заметим, что в силу топологической отсортированности графа, в момент, когда мы хотим посчитать k[i], все значения k[j\],..., k[ju] посчитаны.

Докажем корректность по индукции. Предположим, что все значения k[ji],..., k[ju] посчитаны корректно (без ошибок). Пусть минимум достигается на значении k[r] + w(r,i). Если настоящий кратчайший путь от vs до Vi равен z < k[r] + w(r,i), то он обязательно проходит через одну из вершин р, и тогда длина пути от vs до Vi состоит из пути до vp и длины дуги (vp,vi), т.е. z = k\р] + w(p,i) < k[r] + w(r,i), а это противоречит тому, что на г достигается минимум.

Теперь посчитаем вероятность выдачи правильного ответа. Согласно свойству 1, вероятность верно вычислить кЩ для каждого i € {s + 1 составляет 0(|). Таким образом, вероят-

ность корректно вычислить кЩ для всех вершин равна О(дж) в силу того, что каждое из событий корректности обработки вершины является независимым.

Лемма 2. Среднее время работы Алгоритма 1 составляет O(ViVM) для списка смежности и 0(N1-5) для матрицы смежности.

Доказательство. Оценим временную сложность для списка смежности. Пусть для вершины с номером г количество ребер, которые входят в вершину г, равно Тогда, согласно свойству 1, среднее время обработки вершины Vi составит 0(^/di). Таким образом, получим, что общая

временная сложность алгоритма для всего графа будет равна О . По неравенству Коши

Последнее равенство корректно, потому что М — число всех дуг в графе.

Оценим временую сложность для матрицы смежности. Аналогично предыдущему случаю, среднее время обработки одной вершины составляет 0(у/М) согласно свойству 1. В связи с этим,

При больших значениях N алгоритм не сможет быть применен, так как lim i = 0.

JV-i-oc *

3.1. Модифицированный квантовый алгоритм. Для увеличения вероятности корректной обработки каждой из вершин, запустим алгоритм поиска минимального значения Дюрра и Хойера К = 21og2 N раз и среди К полученных результатов выберем минимальное значение. Приведем итоговый алгоритм нахождения кратчайших путей.

h[s] = 0;

Буняковского получим, что временная сложность алгоритма равна

время обработки всех вершин составляет О {Ny/Nj = О (iV1-5)

Алгоритм 2.

h = {+оо,..., +оо};

h[s] = 0;

for (i from s + 1 to N)

for (j from 1 to |"21og2iV])

h[i] = min(/i[¿], min(.h\ji] + w(i,ji),...,h\ju] + w(i,ju))),

где и = di, T>i = (v:jl,... ,vju).

Для полученного алгоритма справедлива следующая

Теорема. Алгоритм 2 вычисляет длину кратчайших путей до всех вершин, достижимых из vs. Вероятность нахождения правильного ответа 0(1 — Среднее время работы Алгоритма 2 составляет Q{VÑM log N) для списка, смежности и 0(N1'5 log N) для матрицы смежности.

Доказательство. Корректность алгоритма можно доказать по аналогии с доказательством леммы 1 для Алгоритма 1. Оценим вероятность ошибки для обработки одной вершины. Вероятность того, что среди К = 2 log2 N результатов минимальное значение ни разу не будет найдено, составляет Prerr(i) = -рг = 2а i0g2 n = • Следовательно, вероятность найти минимальное значение для вершины с номером г будет равна

1

PfcorriP) — 1 P^erriP) — 1 д.•_> •

Для всего графа вероятность вычислить верные значения:

Заметим, что РгС0ГГ 1 при N ^ оо.

По аналогии с доказательством леммы 2 можно показать, что среднее время работы Алгоритма 2 составляет

0(VÑM log N) для списка смежности и 0(N1'5 log N) для матрицы смежности.

6. Заключение. В таблице приведены характеристики алгоритмов для двух способов хранения графов: список смежности и матрица смежности (матрица весов).

Сравнение алгоритмов поиска кратчайших путей

Алгоритм Временная сложность алгоритма

Список смежности Матрица весов

Полный перебор 0(NM 2м) 0(N3 2м)

Алгоритм Дейкстры,

наивная реализация 0(N2 + М) 0(N2)

Алгоритм Дейкстры

с использованием

двоичной кучи 0(М log N) 0(N2)

Алгоритм Дейкстры

с использованием

фибоначчиевой кучи 0(N log N + М) 0(N2)

Алгоритм Форда-Беллмана O(NM)

Алгоритм Флойда-Уоршелла — 0(N3)

Динамическое

программирование CJ(N + M) 0(N2)

Квантовый алгоритм

Дюрра и соавторов CJ(VNM log2 N) OiN1-5 log2 N)

Предложенный квантовый алгоритм CJ(^/NM\ogN) OiN1-5 log N)

Предложенный квантовый алгоритм работает быстрее известных существующих классических и квантового алгоритмов поиска кратчайших путей во взвешенном ориентированном ацикличе-

ском графе в случае, если число ребер М > N(\og2N)2, и достигает наибольшего преимущества

при М = 0(N2).

СПИСОК ЛИТЕРАТУРЫ

1. Nielsen М. A., Chuang I.L. Quantum Computation and Quantum Information. Cambridge: Cambridge University Press, 2010.

2. Ambainis A. Understanding quantum algorithms via query complexity // arXiv. 2017. N 1712.06349.

3. Say A.G.G., 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. Cormen Т.Н., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms-Secund Edition. McGraw-Hill, 2001.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Brodal G. S., Lagogiannis G., Tar jan R. E. Strict Fibonacci heaps // Proceedings of the forty-fourth annual ACM symposium on theory of computing (STOC'12). New York: ACM, 2012. P. 1177-1184.

8. Brodal G. S. Worst-case efficient priority queues // Proceedings of SODA'96. Atlanta, GA, USA: ACM, 1996. P. 52-58.

9. Dürr С., Heiligman M., H0yer P., Mhalla M. Quantum query complexity of some graph problems // International Colloquium on Automata, Languages, and Programming. Springer, 2004. P. 481-493.

10. Dürr С., Heiligman M., H0yer P., Mhalla M. Quantum query complexity of some graph problems // SIAM J. Comput. 2006. 35. N 6. P. 1310-1328.

11. Dürr С., H0yer P. A quantum algorithm for finding the minimum // arXiv. 1996. N quant-ph/9607014.

12. Khadiev K. Quantum dynamic programming algorithm for DAGs. Applications for AND-OR DAG evaluation and DAG's diameter search // arXiv. 2018. N 1804.09950.

13. Ambainis A., Spalek R. Quantum algorithms for matching and network flows // Annual Symposium on Theoretical Aspects of Computer Science. Springer, 2006. P. 172-183.

14. Dorn S. Quantum algorithms for matching problems // Theory of Computing Systems. 2009. 45. N 3. P. 613-629.

15. Dorn S. Quantum complexity of graph and algebraic problems. Ph. D. Thesis. Ulm, Universität Ulm, 2008.

16. Shankar R. Principles of Quantum Mechanics. London: Springer London, 2012.

17. Gr over L. K. A fast quantum mechanical algorithm for database search // Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing. New York: ACM, 1996. P. 212-219.

Поступила в редакцию 26.07.18

AN FPT-ALGORITHM FOR COMPUTING LATTICE WIDTH OF SIMPLICIES, DEFINED BY A CONVEX HULL OF POINTS

Veselov S.I., Gribanov D.V., Malyshev D. S.

In this paper, we present a fixed-parameter tractable algorithm for the simplex width computation problem, when the simplex is defined by a convex hull of points. The parameter is the maximal absolute value of rank-order minors in the matrix, which columns are the points coordinates.

Keywords: width of a convex body, integer programming, FPT-algorithm, bounded minors.

ON APPLICATION OF THE GENERALIZED ALLOCATION SCHEME TO ANALYSIS OF A CLASS OF SEQUENCES GENERATED BY A SHIFT REGISTER

Kolchin A. V., Bezrodnyy B. F., Leeva M. A.

We consider an example of application of the generalized allocation scheme to studying the asymptotic behavior of combinatorial objects. In this research, we analyze the allocation of tuples of zeros and ones onto a circle which are generated by a shift register under certain conditions.

Keywords: generalized allocation scheme, local limit theorems.

i Надоели баннеры? Вы всегда можете отключить рекламу.