УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО УНИВЕРСИТЕТА.
_ СЕРИЯ ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
2020, Т. 162, кн. 3 С. 367-382
ISSN 2541-7746 (Print) ISSN 2500-2198 (Online)
УДК 519.712.3 doi: 10.26907/2541-7746.2020.3.367-382
КВАНТОВЫЕ ОНЛАЙН-АЛГОРИТМЫ ДЛЯ МОДЕЛИ ИГРЫ ЗАПРОС-ОТВЕТ С БУФЕРОМ
К.Р. Хадиев12, Д.И. Лин2'3
1ООО «Квантовые интеллектуальные технологии», г. Казань, 420111, Россия 2Казанский (Приволжский) федеральный университет, г. Казань, 420008, Россия 3Компания АО «Барс Груп», г. Казань, 420012, Россия
Аннотация
В статье онлайн-алгоритмы представляются в качестве игры «запрос-ответ». Это игра двух игроков: алгоритма и противника. Противник, у которого хранятся входные данные, отдает их по частям, затем делает запрос, а алгоритм отвечает на него, отправляя выходные данные. Мы рассматриваем обобщенную модель, в которую добавлен буфер ограниченного размера. Противник загружает данные в буфер, а алгоритм считывает данные из буфера в произвольном порядке. В работе рассматриваются квантовые и классические (детерминированные и вероятностные) алгоритмы в рамках данной модели.
Специально была сконструирована задача, для которой квантовый алгоритм работает эффективнее, чем любой классический. Эффективность алгоритмов в работе рассматривается с точки зрения конкурентного соотношения. Заметим, что при рассмотрении классических алгоритмов стандартная модель онлайн-алгоритмов эквивалентна расширенной модели с буфером.
Ключевые слова: квантовые вычисления, онлайн-алгоритмы, игра запрос-ответ, задача онлайн-минимизации, вычисления с буфером
Введение
Одно из применений онлайн-алгоритмов - это решение задач оптимизации [1]. В таком случае алгоритм выводит очередную порцию выходных данных сразу же после прочтения очередной порции входных данных. При этом выдаваемый результат должен минимизировать некоторую целевую функцию (функцию стоимости выходных данных). В качестве меры эффективности таких алгоритмов чаще всего используется конкурентное соотношение [2, 3].
Одна из возможных точек зрения на такие алгоритмы - это игра «запрос-ответ» [4]. Это игра двух игроков: онлайн-алгоритма и противника, у которого в полном распоряжении находится входной набор. Противник на своем раунде отправляет запрос в виде входной переменной, а онлайн-алгоритм возвращает в качестве ответа очередную выходную переменную. Рассмотрим развернутый вариант игры. Алгоритм просит у противника прислать ему входную переменную, но в качестве оплаты противник требует вернуть ему выходную переменную. Новая версия игры эквивалентна исходной, но ее можно обобщить. В настоящей работе предлагается новая модель, которая называется игра «запрос-ответ» с буфером. Это игра трех игроков: онлайн-алгоритма, противника и буфера ограниченного размера. Алгоритм может делать запросы двух видов:
- попросить противника загрузить очередной блок входных переменных в буфер;
- запросить у буфера одну из переменных, которая в нем сохранена.
Для некоторого целого числа R, выступающего параметром модели, противник запрашивает у алгоритма очередной блок выходных переменных каждые R раундов игры.
Если размер буфера равен 1 и R = 1, то модель в точности соответствует изначальной модели игры «запрос-ответ».
Мотивация. Онлайн-алгоритмы имеют различные применения. Одно из них -принятие решений в текущий момент в условиях отсутствия информации о данных, которые придут в будущем. Другое применение - обработка потока данных и вывод потока выходных данных в онлайн-формате, например, обработка потокового видео и другие. Многие языки программирования, такие как Java, C+—+ [5, 6] и др., используют потоки данных с буфером, которые сохраняют данные в быстрый буфер, а уже программа считывает данные из буфера. Предложенная модель схожа с потоками данных с буфером. Другими словами, рассматриваемая модель фокусируется на онлайн-поведении выходного потока данных в случае, когда алгоритм читает входные данные из потока, но при этом может пропускать часть входных данных.
Квантовая .модель вычислений. В настоящей работе рассматривается квантовая версия модели игра «запрос-ответ» с буфером. Сами квантовые вычисления являются активно разрабатываемым направлением кибернетики [7-9]. Существует много задач, для которых квантовые алгоритмы демонстрируют превосходство перед лучшими классическими аналогами [11-15]. При этом исследователи рассматривали различные вычислительные модели, такие как модели запросов, модели обработки потока данных, коммуникационные модели и др. [16-26].
Различные версии квантовых онлайн-алгоритмов были рассмотрены в работах [21, 22], в том числе онлайн-алгоритмы, обрабатывающие потоки данных [27, 28], квантовые онлайн-алгоритмы с ограниченной памятью [29], квантовые онлайн-алгоритмы с возможностью повторно прочесть входной набор [30]. В этих работах авторы показали примеры задач, для которых квантовые онлайн-алгоритмы имели меньшее конкурентное соотношение в сравнении с классическими онлайн-алгоритмами.
Полученные результаты. В работе предлагается специально сконструированная задача и квантовый онлайн-алгоритм для модели игры «запрос-ответ» с буфером для ее решения. Покажем, что предлагаемый квантовый алгоритм эффективнее (имеет меньшее конкурентное соотношение), чем любой классический (вероятностный или детерминированный) аналог. Рассматриваемая задача называется «наиболее часто встречающаяся строка». При этом в задаче рассматриваются строки длины ровно к. Задача состоит в том, чтобы найти наиболее часто встречающуюся строку (из интересующих нас) и выдавать ее сразу же после каждой новой поступившей строки. Данная задача является разновидностью задачи поиска наиболее часто встречающегося элемента в последовательности [31], которая активно исследуется при изучении потоков данных [32-34]. Существует много приложений данной задачи для маршрутизации пакетов, ведения журнала телекоммуникаций и отслеживания запросов ключевых слов в поисковых машинах. Похожая задача для классических онлайн-алгоритмов рассматривалась в [35].
Статья организована следующим образом. Определения представлены в разд. 1. Описание задачи и квантового алгоритма для нее дано в разд. 2. Нижняя оценка сложности классических алгоритмов рассмотрена в разд. 3.
1. Определения
Задача онлайн-минимизации состоит из множества I допустимых входных наборов и функции стоимости. Каждый входной набор I = (xi,..., xn) - это набор
запросов, где n - размер входного набора \I\ = n. Кроме того, с множеством I связано множество возможных выходных данных (решений) O(I) ; выходные данные - это последовательность ответов O = (yi,... ,yn). Оптимальным решением
для I является Oopt(I) = argmincost(I, O).
oeo(i)
Дадим определение онлайн-алгоритма для такой задачи. Детерминированный онлайн-алгоритм A выдает выходную последовательность A(I) = = (yi,...,yn) такую, что yi вычисляется по xi,...,xi. Скажем, что A является c-конкурентным в случае, если существует такая константа а > 0 для каждого n и каждого выходного набора I размера n, что:
cost(I, A(I)) < c • cost(I, Oopt(I)) + а,
где c - это минимальное число, удовлетворяющее условию. Мы также говорим, что c - это конкурентное соотношение для алгоритма A. Если а = 0 и c = 1, то алгоритм A называется оптимальным.
Вероятностный онлайн-алгоритм R вычисляет выходную последовательность R^ (I ) = (yi,...,yn) такую, что yi определяется по ф,х\,... ,xi, где ф -содержимое вероятностной ленты, то есть бесконечной бинарной последовательности, в которой значения всех битов выбираются равновероятно и независимо. Пусть cost(I,R^(I)) - это случайная величина, показывающая стоимость выходных данных, вычисленных R по набору I. R является c-конкурентным в ожидании, если существует такая константа а > 0, что для любого I выполняется следующее неравенство:
E [cost(I, R^(I))] < c • cost(I, Oopt(I)) + а.
Говорят, что c - это математическое ожидание от конкурентного отношения алгоритма R.
1.1. Модель игры «запрос-ответ» с буфером. Стандартная модель онлайн-алгоритмов может быть рассмотрена как игра «запрос-ответ» [4].
Противник имеет доступ ко входным данным и отправляет запрос xi алгоритму, а алгоритм выдает ответ yi. В такой модели «активным» игроком, который управляет игрой, является противник, а алгоритм выступает в роли «пассивного», то есть только отвечающего на запросы.
Изменим точку зрения на эту игру. Рассмотрим модель, когда оба пользователя являются «активными» в некотором смысле.
Раунд 1. Алгоритм запрашивает переменную xi. (На этом раунде алгоритм является активным игроком.)
Раунд 2. Противник запрашивает выходную переменную yi. (На этом раунде противник является активным игроком.)
Раунд 2i — 1. Алгоритм запрашивает переменную xi. (На этом раунде алгоритм является активным игроком.)
Раунд 2i. Противник запрашивает выходную переменную yi. (На этом раунде противник является активным игроком.)
Легко заменить, что новая модель эквивалентна исходной игре и стандартной модели.
В то же время новую модель можно обобщить. Рассмотрим третьего игрока, который будет выступать буфером или посредником между алгоритмом и противником. Пусть K - это положительное целое число, представляющее размер
буфера. Дополнительно рассмотрим целочисленный параметр К < К. Алгоритм делает запрос на загрузку в буфер блока данных из К переменных. К примеру, если г - это номер загружаемого блока, то на раундах, на которых алгоритм является активным, он может выполнить одно из двух следующих действий:
- алгоритм делает запрос на очистку буфера и загрузку в буфер следующего блока из К входных переменных, то есть переменных ■ ■ ■ ,хнк+к. После этого параметр г увеличивается на единицу (г ^ г + 1);
- алгоритм запрашивает любую из переменных, которая загружена в буфер. В данном случае мы рассматриваем модель запросов для доступа к переменным буфера.
Таким образом, игра проходит по следующему сценарию: Раунд 0. Инициализация переменной г ^ 0.
Раунд 1 . Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд 2. Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд К. Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд К + 1. Противник является активным игроком. Он запрашивает выходные переменные у\, ■ ■ ■ ,ук.
Раунд (К +1) • 3 + 1. Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд (К + 1) • з + 2 . Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд (К +1) • з + К. Алгоритм является активным игроком и выполняет одно из возможных действий, описанных раннее.
Раунд (К +1) • з + К +1. Противник является активным игроком. Он запрашивает выходные переменные ■ ■ ■, у^-к+к.
Замечание. В случае, если К =1 и К =1, новая модель эквивалентна стандартной модели онлайн-алгоритмов.
В случае вероятностного алгоритма процесс запросов переменных из буфера является вероятностным и используется вероятностная модель запросов. Так же, как и для стандартной модели, в данном случае рассматривается математическое ожидание от конкретного отношения. В то же время запрос на загрузку следующего блока в буфер является детерминированной операцией. В случае квантового алгоритма процесс запросов переменных из буфера является квантовым и используется квантовая модель запросов. Из-за вероятностного поведения квантового алгоритма в данном случае также рассматривается математическое ожидание от конкурентного отношения. В то же время запрос на загрузку следующего блока в буфер является детерминированной операцией.
Так как основная часть рассмотренных алгоритмов классическая и только некоторые процедуры квантовые, то в настоящей работе детальное описание квантовой модели пропущено. Более подробную информацию о квантовой модели запросов можно получить из [7-9].
2. Квантовый алгоритм для задачи поиска наиболее часто встречающейся строки
Обсудим формальную постановку задачи.
Задача. Пусть т, с! и к - некоторые положительные целые числа. Тогда входными данными является последовательность
Здесь (в1,...^^ - это последовательность интересующих нас строк, = = (в1,..., вк) € {0,1}к , где 3 € {1,...,!}. Строки х1,..., хт - это строки-запросы, где х3 = (х1,..., хк) € {0,1}к для 3 € {1,..., т}. При этом длина входного набора
составляет п = (т + !) ■ к. Частота строки Ш € {0,1}к - это /(Ш) = -, где
т
#(£) = \{г • Ш = х1,1 € {1,..., т}}\ - это число появления Ш в наборе (х1,..., хт). Рассмотрим множество Г = {г : х1 € {в1,...,«^}}. Индекс ¿о наиболее часто встречающейся строки хг° такой, что выполняется условие / (хг°) = тах / (хг),
гЕР
причем ¿о минимально из всех возможных. Необходимо выводить индекс го после прочтения каждой из строк хз. Верный ответ, который вычисляет оптимальный онлайн-алгоритм, - это последовательность (х1,... ,гп), причем г^+^к = го для 3 € {1,..., т}, а остальные выходные переменные не важны. Стоимость выходного набора О = (у1,..., уп) равна
т
сов^!, О) = 1 + т д(У(з+^• 1,го) з=1
Здесь 5(а, Ь) = 1, если а = Ь, и 6(а, Ь) = 0 в случае, если а = Ь
2.1. Квантовый алгоритм. Прежде всего обсудим квантовую процедуру, которая сравнивает две строки длины I для некоторого целого положительного I.
2.1.1. Квантовый алгоритм для сравнения двух строк. Рассмотрим реализацию процедуры, которая будет сравнивать строки в = (в1,..., вк) и Ш = = (¿1,... ) длины к в лексикографическом порядке. Функция будет возвращать
• —1, если в < Ш;
• 0, если в = Ш;
• 1, если в > Ш.
Обозначим данную квантовую процедуру за СомРАКЕ_8ТКШС8(в, Ш, к). Алгоритм базируется на следующей идее. Для булевой функции находится минимальный аргумент, на котором функция принимает значение 1 . Формально результат следующий.
Лемма 1 [10]. Рассмотрим функцию / : {1,. .. N} ^ {0, 1} для некоторого положительного целого N. Существует квантовый алгоритм, который находит 3о = тш{3 € {1, .. ., N} : /(3) = 1}. При этом алгоритм находит 3о с .запросной сложностью ) и с вероятностью ошибки не более 1/2.
В качестве функции / выберем функцию /(3) = в = ^). Таким образом будет найден 3о, являющийся наименьшим индексом несовпадающих символов двух строк. В этом случае можно утверждать, что в предшествует Ш в лексикографическом порядке тогда и только тогда, когда предшествует в алфавите. Если же неравных символов не найдено, то строки в и Ш равны. Будем считать, что если алгоритм нашел аргумент 3' такой, что /(3') = 0, то он возвращает значение
к + 1. Такое может произойти и в случае, если строки равны и у функции / нет аргументов, на которых она принимает значение 1; или же если алгоритм ошибся, то есть аргументы, на которых функция принимает значение 1, есть, а алгоритм его не нашел.
Для данного алгоритма применяется стандартная техника разгона вероятности успеха, которая используется, к примеру, в [13]. С этой целью выполнение алгоритма повторяется 3 1с^2 т раз и возвращается минимальное из полученных значений. Напомним, что m - это число строк в последовательности я. После применения данного подхода вероятность ошибки станет равной О (1/231°8 т) = О (1/т3). Рассмотрим реализацию этого алгоритма. В качестве процедуры, реализующей алгоритм из леммы 1, мы будем рассматривать ТнЕ_рт8Т_ОПЕ_8ЕАКСн(/, к), где
/ (з) = (-ъ = Ь).
Алгоритм 1 Compare_strings(s, t, к). Квантовый алгоритм сравнения двух строк
j0 * The_first_one_search(/, k)
for i e {1,... , 3log2 m} do
j0 * min(j0, The_first_one_search(/, k)) end for
if j0 = k + 1 then
result * 0 end if
if (jo = k + 1)&(sJ0 < tj0) then
result *--1
end if
if (jo = k + 1)&(Sj0
result * 1 end if
return result
> tj0) then
> Начальное значение
> Строки равны
> s предшествует t
> t предшествует s
Лемма 2. Алгоритм 1 сравнивает две строки длины к в лексикографическом порядке. Алгоритм имеет запросную сложность O(Vk log m) и вероятность ошибки O (l/m3) .
Доказательство. Алгоритм находит минимальный индекс неравных символов двух строк. Пусть индекс этого символа есть jo. Таким образом, как обсуждалось ранее, для определения, какая из строк меньше в лексикографическом порядке, достаточно сравнить символы sj0 и tj0. Это и делает алгоритм. Обсудим вероятность ошибки. Алгоритм допускает ошибку только в случае, если ошибку допустили все 3log2 m запусков алгоритма THE_FiRST_ONE_SEARCH. Вероятность такого события не более чем 0.531og2 m = O (l/m3). □
2.1.2. Квантовый онлайн-алгоритм для модели игры «запрос-ответ» с буфером. В первую очередь обсудим идею алгоритма. Воспользуемся известной структурой данных - самобалансирующимся двоичным деревом поиска. В качестве реализации данной структуры воспользуемся АВЛ-деревьями [36, 37] или красно-черными деревьями [37, 38]. Обе реализации дерева позволяют осуществлять поиск и добавление элемента за время O(log N), где N - число вершин в дереве.
В каждой вершине дерева будет сохраняться тройка (i, s, c), где i - минимальный индекс строки из {x1,..., xm}, такой, что s = хг; c - количество появлений s среди x1,..., xm . Будем считать, что тройка (i, s, c) меньше тройки (i', s', c') тогда и только тогда, когда s предшествует s' в лексикографическом порядке. При этом
процедура Compare_STRiNGS(s, s', к) будет использоваться в качестве функции
сравнения вершин.
Во-первых, алгоритм загружает все строки s1,..., sd по очереди в буфер и добавляет в дерево вершину, соответствующую тройке v = (NULL, sj, 0) для строки sj , где j € {1,..., d}. Значение NULL в v является начальным значением и означает, что на данный момент мы не знаем минимального i, такого что xl = sj ; 0 в v означает, что алгоритм еще не встретил sj среди (x1,..., xm). При этом если есть две или более одинаковых строк среди s1,..., sd, алгоритм создает в дереве только одну вершину для каждой из различных строк.
Во-вторых, алгоритм загружает строки от x1 до xm по очереди в буфер и ищет их в дереве. Рассмотрим случай, кода очередная строка xl была найдена среди сохраненных в дереве и ей соответствует тройка (j, s,c). Тогда число c увеличивается на 1 и, если j равно NULL, то в качестве j записывается число i. Если же строка не найдена в дереве, тогда ее нет среди s1,... sd и алгоритм игнорирует ее. В то же время алгоритм в отдельной тройке переменных сохраняет строку, которая встречалась чаще всего, то есть
(imax, s, cmax) = argmaX c, (i,t,c) в дереве
и перевычисляет эти переменные после обработки очередной строки. В случае, когда противник запрашивает очередную выходную переменную, алгоритм возвращает imax.
Опишем алгоритм формально. Пусть BST - это самобалансирующееся бинарное дерево поиска, обладающее следующими операциями:
• Find(BST, xl) находит вершину, которой соответствует тройка (j,s,c) такая, что s = xl, или выдает NULL в случае, если xl не найдено.
Стандартный алгоритм поиска xl в дереве состоит в том, чтобы сравнивать xl со строками, сохраненными в вершинах, и двигаться по дереву в соответствие с результатами сравнения. В том случае, когда алгоритм вызывает процедуру Compare_strings , он запрашивает переменные из буфера для тестирования символов строки xl и переменные из собственной памяти для проверки символов строки, сохраненной в вершине.
• Add(BST, sj) добавляет вершину с тройкой (NULL, sj, 0) в дерево, если таковой еще нет, и возвращает вершину в качестве результата.
• Init(BST) инициализирует пустое дерево.
Теорема 1. Алгоритм 2 c-конкурентен в ожидании, причем c не превышает Cq , где
г п(л , (m log m) ' (log d)
Cq = O l1 +-Th
Доказательство. Корректность алгоритма следует из его описания. Обсудим запросную сложность процедуры Find(BST, xl). Процедура выполняет O(log d) операций сравнения COMPARE_STRiNGS(x% sl ,к). Согласно лемме 2, каждая операция сравнения совершает o (vh log m) запросов. Общая запросная сложность операции Find составляет O ^vk(log m) • (log d)j .
Таким образом, алгоритм проверяет все строки из x1,...,xm за O ^m\/h(log m) • (log d)^ раундов и после этого гарантированно сможет возвращать противнику корректный результат.
/rov^log m) • (log d)\ /m(log m) • (log d)
Следовательно, первые O --- = O '
х к ) V \[к
«значимые» выходные переменные могут быть ошибочными, а оставшиеся уже верные. Здесь будем называть выходные переменные к (для ] € {1,..., т})
Алгоритм 2 Квантовый онлайн-алгоритм для задачи поиска наиболее часто встречающейся строки
,d} do To Buffer
Init(BST )
cmax ^ 1 imax ^ 1
step ^ 0 for j e {1, .
LOAD_ t ^ ""
for q e {1,... , k} do
t ^ t + RQUEST(q)
end for
Add(BST, t)
end for
for i e {1,... , m} do
LOAD_TO_BUFFER
v = (j, t, c) ^ Find(BST, xi) if v = NULL then if j = NULL then j ^ i
> Инициализация дерева
> Максимальная частота > Индекс наиболее частой строки
> Загрузка в- в буфер > Изначально t - пустая строка > Чтение строки t > Запрос q-й переменной из буфера и сохранение ее в переменную t
> Добавление строки t = вj в дерево в составе тройки (NULL,t, 0)
> Загрузка хг в буфер > Поиске хг в дереве > Если хг входит в (в1,... , sd)
> Если х] не встречалась раньше, то сохраняется индекс текущей строки
then
> Увеличиваем частоту > Обновляем значение в вершине новой тройкой > Обновляем максимальные значения
end if
c c + 1 v ^ (j,t,c)
if c > cmax
cmax 4- c imax 4- i
end if end if end for
if Противник запрашивает выходную переменную then return i end if
max
«значимыми», потому что стоимость ответа зависит именно от этих переменных. В таком случае, стоимость выходного набора будет составлять не более 1 + + о i m(log m) • (log d)'
V Vk
Обсудим вероятность ошибки. Ошибка может возникать только при вызове процедуры сравнения строк. Все события возникновения ошибок независимы. Таким образом, для корректности всего алгоритма необходимо, чтобы все вероятностные процедуры сработали корректно. Согласно лемме 2, вероятность корректности одного запуска процедуры сравнения строк равна 1 — (1 — 1/m3). Следовательно, вероятность корректности всех O(m log m) событий не менее 1 — (1 — 1/m3)1 m '°s m для некоторой константы y .
Заметим, что
(1 — 1/m3)T m '°s m lim ^-- < 1.
п^ж 1/m
Следовательно, итоговая вероятность ошибки не превышает O (1/m).
В случае ошибки все «значимые» выходные переменные могут оказаться ошибочными. Тогда математическое ожидание конкретного соотношения алгоритма
не превышает
■ (1 + о(го(1^ т—_(Ьё+ о(т ■ т
СЯ = -
1
= о ( 1 + т(1°е т) ' (1°ё
у/к
3. Нижняя оценка сложности классического онлайн-алгоритма для задачи поиска наиболее часто встречающейся строки
Покажем, что существует такой входной набор 1в, что любой классический (детерминированный или вероятностный) алгоритм будет возвращать выходной набор стоимостью О(т).
Теорема 2. Математическое ожидание конкурентного соотношения с любого вероятностного онлайн-алгоритма не менее чем Ск = О(т). В то же время Ск > С^ в случае, если (1og2 т) ■ (1og2 а) = о(л/к).
Доказательство. Покажем, что существует входной набор такой, что поставленная задача эквивалентна задачи поиска на неструктурированных данных для этого набора. Пусть т = 2Ь для некоторого целого Ь.
Тогда пусть х4+1,..., х2 = 0к, где 0к - это строка из к нулей. Другие строки такие, что выполняется только один из двух случаев:
случай 1: х1, .. . ,х1 = 1к ;
случай 2: существует г € {1,..., Ь} и и € {1,..., к} такие, что хи = 0 и х^ = 1 для всех и' € {1, ... ,и — 1,и + 1,. .. ,к} . При этом хг = 1к для г' € {1, .. ., £}\{г} .
Пусть а = 2, в1 = 0к и в2 = 1к .
В первом случае ответом будет 1к, во втором - 0к. Следовательно, на этом наборе данных задача эквивалентна задачи поиска 0 среди Ьк = тк/2 переменных.
Согласно [39], вероятностная запросная сложность поиска среди неструктурированных данных размера тк/2 составляет 0.(тк).
Если т - это нечетное число, то тогда возьмем хт = 1к/20к/2 и не будем его учитывать в поиске. Тогда мы можем рассматривать только т — 1 строку, а т — 1 в этом случае четное число.
Предположим, что существует вероятностный онлайн-алгоритм А, который решает задачу за о(тк) запросов к буферу при чтении х1,...,хт. Тогда противник может сконструировать входной набор /в так, что А получит неверный ответ. Следовательно, все «значимые» выходные переменные будут ошибочными и соб^/в ,А(1в)) = 1 + т. Конкурентное соотношение в таком случае будет Ск = т + 1.
Если же алгоритм выполняет О(тк) запросов к буферу для вычисления ответа, то тогда О(т) «значимых» выходных переменных должны быть выведены до того, как алгоритм сможет выдавать верный ответ. Следовательно, соб^/в,А(1в)) = = О(т) и Ск = О(т).
В случае, если (1og2 т) ■ (1°g2 а) = о(л/к), получаем
CQ = О I 1+--—=- I = о(т) < О(т) = Ск.
Заключение
В работе была рассмотрена новая модель для онлайн-алгоритмов, которая может быть применена к реальным задачам. Было показано, что в случае (log2 m) • (log2 d) = o(\/k) квантовый алгоритм оказывается более эффективным с точки зрения конкурентного соотношения по сравнению с любым классическим (вероятностным или детерминированным). Заметим, что данное ограничение вполне разумно и встречается в реальных задачах.
Благодарности. Исследование выполнено за счет гранта Российского научного фонда (проект № 19-71-00149).
Авторы выражают благодарность Аблаеву Фариду Мансуровичу и Хадиевой Алие Ихсановне (Казанский федеральный университет) за полезные советы при обсуждении задачи.
Литература
1. Komm D. An Introduction to Online Computation: Determinism, Randomization, Advice. - Springer, 2016. - XV, 349 p. - doi: 10.1007/978-3-319-42749-2.
2. Sleator D.D., Tarjan R.E. Amortized efficiency of list update and paging rules // Communications of the ACM. - 1985. - V. 28, No 2. - P. 202-208. - doi: 10.1145/2786.2793.
3. Karlin A.R., Manasse M.S., Rudolph L, Sleator D.D. Competitive snoopy caching // 27th Annual Symposium on Foundations of Computer Science. - Toronto, Ont., Canada, 1986. - P. 244-254. - doi: 10.1109/SFCS.1986.14.
4. Albers S. Competitive Online Algorithms: A BRICS Mini-Course. - 1996. - URL: https://www.brics.dk/LS/96/2/.
5. Java Platform SE 8 documentation. - URL: https://docs.oracle.com/javase/8/docs/api/ java/io/BufferedReader.html.
6. Lippman S.B., Lajoie J. CH—H Primer. - Massachusetts: Addison-Wesley, 1998. - 1264 p.
7. Nielsen M.A., Chuang I.L. Quantum Computation and Quantum Information. -Cambridge Univ. Press, 2010. - 702 p. - doi: 10.1017/CB09780511976667.
8. Ambainis A. Understanding quantum algorithms via query complexity // Proc. Int. Congr. of Mathematicians (ICM 2018). - 2019. - P. 3265-3285. - doi: 10.1142/9789813272880_0181.
9. Ablayev F., Ablayev M., Huang J.Z., Khadiev K., Salikhova N., Wu D. On quantum methods for machine learning problems part I: Quantum tools // Big Data Mining and Analytics. - 2019. - V. 3, No 1. - P. 41-55. - doi: 10.26599/BDMA.2019.9020016.
10. Kapralov R., Khadiev K., Mokut J., Shen Y, Yagafarov M. Fast classical and quantum algorithms for online k-server problem on trees. - 2020. - arXiv:2008.00270.
11. Wolf de R. Quantum computing and communication complexity: Acad. Proefschrift. -2001. - 225 p. - URL: https://homepages.cwi.nl/ ~rdewolf/publ/qc/phd.pdf.
12. Jordan St. Quantum Algorithm Zoo. - URL: https://quantumalgorithmzoo.org/.
13. Khadiev K., Safina L. Quantum algorithm for dynamic programming approach for DAGs. Applications for Zhegalkin polynomial evaluation and some problems on DAGs // McQuillan I., Seki S. (Eds.) Unconventional Computation and Natural Computation. UCNC 2019. Lecture Notes in Computer Science, V. 11493. - Cham: Springer, 2019. -P. 150-163. - doi: 10.1007/978-3-030-19311-9_13.
14. Khadiev K., Kravchenko D., Serov D. On the quantum and classical complexity of solving subtraction games // van Bevern R., Kucherov G. (Eds.) Computer Science - Theory and
Applications. CSR 2019. Lecture Notes in Computer Science, V. 11532. - Cham: Springer, 2019. - P. 228-236. - doi: 10.1007/978-3-030-19955-5_20.
15. Khadiev K., Mannapov I., Safina L. The quantum version of classification decision tree constructing algorithm C5.0 // Hölldobler S., Malikov A. (eds.) Proc. YSIP-3 Workshop. -2019. - URL: http://ceur-ws.org/Vol-2500/paper_6.pdf.
16. Ambainis A., Nahimovs N. Improved constructions of quantum automata // Theor. Comput. Sci. - 2009. - V. 410, No 20. - P. 1916-1922. - doi: 10.1016/j.tcs.2009.01.027.
17. Ablayev F.M., Vasilyev A.V. On quantum realisation of Boolean functions by the fingerprinting technique // Discrete Math. Appl. - 2009. - V. 19, No 6. - P. 555-572. - doi: 10.1515/DMA.2009.037.
18. Ablayev F., Gainutdinova A., Khadiev K., Yakaryilmaz A. Very narrow quantum OBDDs and width hierarchies for classical OBDDs //Jurgensen H., Karhumaki J., Okhotin A. (Eds.) Descriptional Complexity of Formal Systems. DCFS 2014. Lecture Notes in Computer Science, V. 8614. - Cham: Springer, 2014. - P. 53-64. - doi: 10.1007/978-3-319-09704-6_6.
19. Ablayev F. Gainutdinova A., Khadiev K., Yakaryilmaz A. Very narrow quantum OBDDs and width hierarchies for classical OBDDs // Lobachevskii J. Math. - 2016. - V. 37, No 6. - P. 670-682. - doi: 10.1134/S199508021606007X.
20. Ablayev F., Ambainis A., Khadiev K., Khadieva A. Lower bounds and hierarchies for quantum memoryless communication protocols and quantum ordered binary decision diagrams with repeated test // Tjoa A., Bellatreche L., Biffl S., van Leeuwen J., Wiedermann J. (Eds.) SOFSEM 2018: Theory and Practice of Computer Science. SOFSEM 2018. Lecture Notes in Computer Science, V. 10706. - Cham: Edizioni della Normale, 2018. - P. 197-211. - doi: 10.1007/978-3-319-73117-9_14.
21. Ablayev F., Ablayev M., Khadiev K., Vasiliev A. Classical and quantum computations with restricted memory // Boöckenhauer H.J., Komm D., Unger W. (Eds.) Adventures Between Lower Bounds and Higher Altitudes. Lecture Notes in Computer Science, V. 11011. - Cham: Springer, 2018. - P. 129-155. - doi: 10.1007/978-3-319-98355-4_9.
22. Khadiev K., Khadieva A., Mannapov I. Quantum online algorithms with respect to space and advice complexity // Lobachevskii J. Math. - 2018. - V. 39, No 9. - P. 1377-1387. -doi: 10.1134/S1995080218090421.
23. Khadiev K., Khadieva A. Reordering method and hierarchies for quantum and classical ordered binary decision diagrams // Weil P. (Ed.) Computer Science - Theory and Applications. CSR 2017. Lecture Notes in Computer Science, V. 10304. - Cham: Springer, 2017. - P. 162-175. - doi: 10.1007/978-3-319-58747-9_16.
24. Ibrahimov R., Khadiev K., Prusis K., Yakaryilmaz A. Error-free affine, unitary, and probabilistic OBDDs // Konstantinidis S., Pighizzini G. (Eds.) Descriptional Complexity of Formal Systems. DCFS 2018. Lecture Notes in Computer Science, V. 10952. - Cham: Springer, 2018. - P. 175-187. - doi: 10.1007/978-3-319-94631-3_15.
25. Le Gall F. Exponential separation of quantum and classical online space complexity // Theory Comput. Syst. - 2009. - V. 45, No 2. - P. 188-202. - doi: 10.1007/s00224-007-9097-3.
26. Khadiev K., Ilikaev A. Quantum algorithms for the most frequently string search, intersection of two string sequences and sorting of strings problems // Martin-Vide C., Pond G., Vega-Rodríguez M. (Eds.) Theory and Practice of Natural Computing. TPNC 2019. Lecture Notes in Computer Science, V. 11934. - Cham: Springer, 2019. - P. 234245. - doi: 10.1007/978-3-030-34500-6_17.
27. Khadiev K., Khadieva A., Kravchenko D., Rivosh A., Yamilov A., Mannapov I. Quantum versus classical online streaming algorithms with logarithmic size of memory. - 2019. -arXiv:1710.09595v3.
28. Khadiev K., Khadieva A. Quantum online streaming algorithms with logarithmic memory // Int. J. Theor. Phys. - 2019. - doi: 10.1007/s10773-019-04209-1. - URL: https://link.springer.com/article/10.1007%2Fs10773-019-04209-1.
29. Khadiev K., Khadieva A. Two-way quantum and classical machines with small memory for online minimization problems // Proc. SPIE V. 11022: International Conference on Micro-and Nano-Electronics 2018. - 2019. - Art. 110222T, P. 1-9. - doi: 10.1117/12.2522462.
30. Yuan Q. Quantum online algorithms: PhD Thesis. - Santa Barbara, US: University of California at Santa Barbara, 2009. - 88 p.
31. Cormode Gr., Hadjieleftheriou M. Finding frequent items in data streams // Proc. VLDB Endowment. - 2008. - V. 1, No 2. - P. 1530-1541. - doi: 10.14778/1454159.1454225.
32. Muthukrishnan S. Data streams: Algorithms and applications // Foundations and Trends in Theoretical Computer Science. - 2005. - V. 1, No 2. - P. 117-236.
33. Aggarwal Ch.C. Data Streams: Models and Algorithms. - Springer US, 2007. -XVIII, 354 p. - doi: 10.1007/978-0-387-47534-9.
34. Becchetti L., Chatzigiannakis I., Giannakopoulos Y. Streaming techniques and data aggregation in networks of tiny artefacts // Comput. Sci. Rev. - 2011. - V. 5, No 1. -P. 27-46. - doi: 10.1016/j.cosrev.2010.09.007.
35. Boyar J., Larsen K.S., Maiti A. The frequent items problem in online streaming under various performance measures // Int. J. Found. Comput. Sci. - 2015. - V. 26, No 4. -P. 413-439. - doi: 10.1142/S0129054115500239.
36. Адельсон-Вельский Г.М., Ландис Е.М. Один алгоритм организации информации // Докл. АН СССР. - 1962. - Т. 146, № 2. - С. 263-266.
37. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms. -Cambridge, Mass.: MIT Press, 2001. - 1180 p.
38. Guibas L. J, Sedgewick R. A dichromatic framework for balanced trees // 19th Annu. Symp. on Foundations of Computer Science - IEEE, 1978. - P. 8-21. - doi: 10.1109/SFCS.1978.3.
39. Bennett Ch.H., Bernstein E., Brassard G., Vazirani U. Strengths and weaknesses of quantum computing // SIAM J. Comput. - 1997. - V. 26, No 5. - P. 1510-1523. -doi: 10.1137/S0097539796300933.
Поступила в редакцию 04.08.2020
Хадиев Камиль Равилевич, кандидат физико-математических наук, научный сотрудник; старший научный сотрудник лаборатории «Квантовые методы обработки информации»
ООО «Квантовые интеллектуальные технологии»
ул. К. Маркса, д. 5, оф. 36, г. Казань, 420111, Россия Казанский (Приволжский) федеральный университет
ул. Кремлевская, д. 18, г. Казань, 420008, Россия E-mail: [email protected]
Лин Дмитрий Игоревич, студент Института вычислительной математики и информационных технологий; разработчик
Казанский (Приволжский) федеральный университет
ул. Кремлевская, д. 18, г. Казань, 420008, Россия Компания АО «Барс Груп»
ул. Некрасова, д. 9, г. Казань, 420012, Россия E-mail: [email protected]
ISSN 2541-7746 (Print)
ISSN 2500-2198 (Online)
UCHENYE ZAPISKI KAZANSKOGO UNIVERSITETA. SERIYA FIZIKO-MATEMATICHESKIE NAUKI
(Proceedings of Kazan University. Physics and Mathematics Series)
2020, vol. 162, no. 3, pp. 367-382
doi: 10.26907/2541-7746.2020.3.367-382
Quantum Online Algorithms for a Model of the Request-Answer Game with a Buffer
K.R. Khadieva'b*, D.I. Linb'c**
aOOO Kvantovye intellektual'nye tekhnologii, Kazan, 420111 Russia bKazan Federal University, Kazan, 420008 Russia cAO Bars Grup, Kazan, 420012 Russia E-mail: *[email protected], **[email protected]
Received August 4, 2020 Abstract
In this paper, we considered online algorithms as a request-answer game between two players: an adversary that generates input requests and an online algorithm that answers them. A generalized version of the game that has a buffer of limited size was studied. The adversary loads data to the buffer, while the algorithm has random access to elements of the buffer. For the model, quantum and classical (deterministic or randomized) algorithms were a focus of attention. A specific problem and a quantum algorithm that works better than any classical (deterministic or randomized) algorithm, in terms of competitive ratio, were provided. At the same time, for the problem, classical online algorithms in the standard model are equivalent to the classical algorithms in the request-answer game with a buffer model.
Keywords: quantum computation, online algorithms, request-answer game, online minimization problem, computation with buffer
Acknowledgments. The study was supported by the Russian Science Foundation (project no. 19-71-00149).
We are grateful to Farid Mansurovich Ablaev and Aliya Ikhsanovna Khadieva (Kazan Federal University) for their valuable advice during the discussion of the problem under consideration.
References
1. KommD. An Introduction to Online Computation: Determinism,, Randomization, Advice. Springer, 2016. XV, 349 p. doi: 10.1007/978-3-319-42749-2.
2. Sleator D.D., Tarjan R.E. Amortized efficiency of list update and paging rules. Commun. ACM, 1985, vol. 28, no. 2, pp. 202-208. doi: 10.1145/2786.2793.
3. Karlin A.R., Manasse M.S., Rudolph L., Sleator D.D. Competitive snoopy caching. Proc. 27th Annu. Symp. on Foundations of Computer Science. Toronto, Ont., Canada, 1986, pp. 244-254. doi: 10.1109/SFCS.1986.14.
4. Albers S. Competitive Online Algorithms: A BRICS Mini-Course. 1996. Available at: https://www.brics.dk/LS/96/2/.
5. Java Platform SE 8 documentation. Available at: https://d0cs.0racle.c0m/javase/8/ docs/api/java/io/BufferedReader.html.
6. Lippman S.B., Lajoie J. C+ + Primer. Massachusetts, Addison-Wesley, 1998. 1264 p.
7. Nielsen M.A., Chuang I.L. Quantum Computation and Quantum Information. Cambridge Univ. Press, 2010. 702 p. doi: 10.1017/CBO9780511976667.
8. Ambainis A. Understanding quantum algorithms via query complexity. Proc. Int. Congr. of Mathematicians (ICM 2018), 2019, pp. 3265-3285. doi: 10.1142/9-789813272880_0181.
9. Ablayev F., Ablayev M., Huang J.Z., Khadiev K., Salikhova N., Wu D. On quantum methods for machine learning problems part I: Quantum tools. Big Data Min. Anal., 2019, vol. 3, no. 1, pp. 41-55. doi: 10.26599/BDMA.2019.9020016.
10. Kapralov R., Khadiev K., Mokut J., Shen Y., Yagafarov M. Fast classical and quantum algorithms for online k-server problem on trees. 2020. arXiv:2008.00270.
11. Wolf de R. Quantum Computing and Communication Complexity: Acad. Proefschrift. 2001. 225 p. Available at: https://homepages.cwi.nl/ ~rdewolf/publ/qc/phd.pdf.
12. Jordan St. Quantum Algorithm Zoo. Available at: https://quantumalgorithmzoo.org/.
13. Khadiev K., Safina L. Quantum algorithm for dynamic programming approach for DAGs. Applications for Zhegalkin polynomial evaluation and some problems on DAGs. In: McQuillan I., Seki S. (Eds.) Unconventional Computation and Natural Computation. UCNC 2019. Lecture Notes in Computer Science. Cham, Springer, 2019, vol. 11493, pp. 150-163. doi: 10.1007/978-3-030-19311-9_13.
14. Khadiev K., Kravchenko D., Serov D. On the quantum and classical complexity of solving subtraction games. In: van Bevern R., Kucherov G. (Eds.) Computer Science - Theory and Applications. CSR 2019. Lecture Notes in Computer Science. Cham, Springer, 2019, vol. 11532, pp. 228-236. doi: 10.1007/978-3-030-19955-5_20.
15. Khadiev K., Mannapov I., Safina L. The quantum version of classification decision tree constructing algorithm C5.0. In: Hölldobler S., Malikov A. (Eds.) Proc. YSIP-3 Workshop, 2019. Available at: http://ceur-ws.org/Vol-2500/paper_6.pdf.
16. Ambainis A., Nahimovs N. Improved constructions of quantum automata. Theor. Comput. Sci., 2009, vol. 410, no. 20, pp. 1916-1922. doi: 10.1016/j.tcs.2009.01.027.
17. Ablayev F.M., Vasilyev A.V. On quantum realisation of Boolean functions by the fingerprinting technique. Discrete Math. Appl., 2009, vol. 19, no. 6, pp. 555-572. doi: 10.1515/DMA.2009.037.
18. Ablayev F., Gainutdinova A., Khadiev K., Yakaryilmaz A. Very narrow quantum OB-DDs and width hierarchies for classical OBDDs. In: Jurgensen H., Karhumaki J., Okho-tin A. (Eds.) Descriptional Complexity of Formal Systems. DCFS 2014. Lecture Notes in Computer Science. Cham, Springer, 2014, vol. 8614, pp. 53-64. doi: 10.1007/978-3-319-09704-6_6.
19. Ablayev F. Gainutdinova A., Khadiev K., Yakaryilmaz A. Very narrow quantum OBDDs and width hierarchies for classical OBDDs. Lobachevskii J. Math., 2016, vol. 37, no. 6, pp. 670-682. doi: 10.1134/S199508021606007X.
20. Ablayev F., Ambainis A., Khadiev K., Khadieva A. Lower bounds and hierarchies for quantum memoryless communication protocols and quantum ordered binary decision diagrams with repeated test. In: Tjoa A., Bellatreche L., Biffl S., van Leeuwen J., Wiedemann J. (Eds.) SOFSEM 2018: Theory and Practice of Computer Science. SOFSEM 2018. Lecture Notes in Computer Science. Cham, Edizioni della Normale, 2018, vol. 10706, pp. 197-211. doi: 10.1007/978-3-319-73117-9_14.
21. Ablayev F., Ablayev M., Khadiev K., Vasiliev A. Classical and quantum computations with restricted memory. In: Bockenhauer H.J., Komm D., Unger W. (Eds.) Adventures Between Lower Bounds and Higher Altitudes. Lecture Notes in Computer Science. Cham, Springer, 2018, vol. 11011, pp. 129-155. doi: 10.1007/978-3-319-98355-4_9.
22. Khadiev K., Khadieva A., Mannapov I. Quantum online algorithms with respect to space and advice complexity. Lobachevskii J. Math., 2018, vol. 39, no. 9, pp. 1377-1387. doi: 10.1134/S1995080218090421.
23. Khadiev K., Khadieva A. Reordering method and hierarchies for quantum and classical ordered binary decision diagrams. In: Weil P. (Ed.) Computer Science - Theory and Applications. CSR 2017. Lecture Notes in Computer Science. Cham, Springer, 2017, vol. 10304, pp. 162-175. doi: 10.1007/978-3-319-58747-9_16.
24. Ibrahimov R., Khadiev K., Prusis K., Yakaryilmaz A. Error-free affine, unitary, and probabilistic OBDDs. In: Konstantinidis S., Pighizzini G. (Eds.) Descriptional Complexity of Formal Systems. DCFS 2018. Lecture Notes in Computer Science. Cham, Springer, 2018, vol. 10952, pp. 175-187. doi: 10.1007/978-3-319-94631-3_15.
25. Le Gall F. Exponential separation of quantum and classical online space complexity. Theory Comput. Syst., 2009, vol. 45, no. 2, pp. 188-202. doi: 10.1007/s00224-007-9097-3.
26. Khadiev K., Ilikaev A. Quantum algorithms for the most frequently string search, intersection of two string sequences and sorting of strings problems. In: Martin-Vide C., Pond G., Vega-Rodriguez M. (Eds.) Theory and Practice of Natural Computing. TPNC 2019. Lecture Notes in Computer Science. Cham, Springer, 2019, vol. 11934, pp. 234-245. doi: 10.1007/978-3-030-34500-6_17.
27. Khadiev K., Khadieva A., Kravchenko D., Rivosh A., Yamilov A., Mannapov I. Quantum versus classical online streaming algorithms with logarithmic size of memory. 2019. arXiv:1710.09595v3.
28. Khadiev K., Khadieva A. Quantum online streaming algorithms with logarithmic memory. Int. J. Theor. Phys., 2019. doi: 10.1007/s10773-019-04209-1. Available at: https://link.springer.com/article/10.1007%2Fs10773-019-04209-1.
29. Khadiev K., Khadieva A. Two-way quantum and classical machines with small memory for online minimization problems. Proc. SPIE, Vol. 11022: Int. Conf. on Micro- and, Nano-Electronics 2018, 2019, art. 110222T, pp. 1-9. doi: 10.1117/12.2522462.
30. Yuan Q. Quantum online algorithms. PhD Thesis. Santa Barbara, US, Univ. Calif. at Santa Barbara, 2009. 88 p.
31. Cormode Gr., Hadjieleftheriou M. Finding frequent items in data streams. Proc. VLDB Endowment, 2008, vol. 1, no. 2, pp. 1530-1541. doi: 10.14778/1454159.1454225.
32. Muthukrishnan S. Data streams: Algorithms and applications. Found. Trends Theor. Comput. Sci., 2005, vol. 1, no. 2, pp. 117-236.
33. Aggarwal Ch.C. Data Streams: Models and Algorithms. Springer US, 2007. XVIII, 354 p. doi: 10.1007/978-0-387-47534-9.
34. Becchetti L., Chatzigiannakis I., Giannakopoulos Y. Streaming techniques and data aggregation in networks of tiny artefacts. Comput. Sci. Rev., 2011, vol. 5, no. 1, pp. 27-46. doi: 10.1016/j.cosrev.2010.09.007.
35. Boyar J., Larsen K.S., Maiti A. The frequent items problem in online streaming under various performance measures. Int. J. Found. Comput. Sci., 2015, vol. 26, no. 4, pp. 413439. doi: 10.1142/S0129054115500239.
36. Adel'son-Vel'skii G.M., Landis E.M. An algorithm for organization of information. Dokl. Akad. Nauk SSSR, 1962, vol. 146, no. 2, pp. 263-266. (In Russian)
37. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms. Cambridge, Mass., MIT Press, 2001. 1180 p.
38. Guibas L. J, Sedgewick R. A dichromatic framework for balanced trees. Proc. 19th Annu. Symp. on Foundations of Computer Science. IEEE, 1978, pp. 8-21. doi: 10.1109/SFCS.1978.3.
39. Bennett Ch.H., Bernstein E., Brassard G., Vazirani U. Strengths and weaknesses of quantum computing. SIAM J. Comput., 1997, vol. 26, no. 5, pp. 1510-1523. doi: 10.1137/S0097539796300933.
/ Для цитирования: Хадиев К.Р., Лин Д.И. Квантовые онлайн-алгоритмы для мо-( дели игры запрос-ответ с буфером // Учен. зап. Казан. ун-та. Сер. Физ.-матем. \ науки. - 2020. - Т. 162, кн. 3. - С. 367-382. - doi: 10.26907/2541-7746.2020.3.367-382.
For citation: Khadiev K.R., Lin D.I. Quantum online algorithms for a model of the / request-answer game with a buffer. Uchenye Zapiski Kazanskogo Universiteta. Seriya \ Fiziko-Matematicheskie Nauki, 2020, vol. 162, no. 3, pp. 367-382. doi: 10.26907/25417746.2020.3.367-382. (In Russian)