Проблема Саймонса - Simons problem

в теория сложности вычислений и квантовые вычисления, Проблема Саймона это вычислительная проблема которые можно решить экспоненциально быстрее на квантовый компьютер чем на классическом (или традиционном) компьютере. Проблема Саймона заключается в использовании черного ящика. Проблемы черного ящика дают квантовым алгоритмам преимущество перед классическими.

Сама проблема имеет небольшую практическую ценность, потому что существует мало вообразимых реалистичных настроек, которые потребовали бы решения проблемы Саймона. Однако проблема по-прежнему важна, потому что она можно доказать который квантовый алгоритм может решить эту проблему экспоненциально быстрее, чем любой известный классический алгоритм. Это первый пример квантовой вычислительной задачи, которую можно решить за полиномиальное время на квантовом компьютере.

Задача ставится в модели сложность дерева решений или сложность запроса и был задуман Дэниел Саймон в 1994 году. Саймон выставил квантовый алгоритм, обычно называется Алгоритм Саймона, который решает проблему экспоненциально быстрее, чем любой детерминированный или вероятностный классический алгоритм, требующий экспоненциально меньшего времени вычислений (точнее, запросов), чем лучший классический вероятностный алгоритм. В алгоритме Саймона для квантового алгоритма требуется линейное количество запросов, а не экспоненциальное количество запросов, необходимых для классического вероятностного алгоритма. Эта проблема дает разделение оракула между классами сложности BPP и BQP, в отличие от разделения, предусмотренного Алгоритм Дойча – Йожи, который разделяет п и EQP. Разделение является экспоненциальным (относительно оракула) между квантовой сложностью и классической сложностью запроса с ограниченной ошибкой. Проблема Саймона не доказывает, а скорее демонстрирует, что существует оракул, относительно которого. Оракул, используемый в проблеме Саймона, - это черный ящик, который мы учитываем при вычислениях.

Алгоритм Саймона также послужил источником вдохновения для Алгоритм Шора. Обе задачи являются частными случаями абелевой проблема скрытой подгруппы, который, как теперь известно, имеет эффективные квантовые алгоритмы.

Описание проблемы

Учитывая функцию (реализованную черный ящик или оракул) , обещал удовлетворить свойство, что для некоторого ненулевого и все ,

если и только если или же

Цель состоит в том, чтобы идентифицировать s и определить, или же запросив f (x).

Здесь, классифицирует взаимно однозначную функцию.

Если , функция является функцией два к одному, такой что

Другими словами, функция два к одному такая, что , для всех куда неизвестно.


Цель

Важно помнить, что цель проблемы Саймона - уменьшить количество запросов к черному ящику, чтобы мы могли определять s экспоненциально быстро.

Пример

Например, если , то следующая функция является примером функции, которая удовлетворяет требуемому и только что упомянутому свойству:

000101
001010
010000
011110
100000
101110
110101
111010

В этом случае, (т.е. решение). Легко проверить, что каждый вывод встречается дважды, и две входные строки, соответствующие любому заданному выходу, имеют побитовое исключающее ИЛИ, равное .

Например, входные строки и оба сопоставлены ( ) в ту же строку вывода . и . Если мы применим XOR к 010 и 100, мы получим 110, то есть также можно проверить с помощью входных строк 001 и 111, которые обе отображаются (с помощью f) в одну и ту же строку вывода 010. Если мы применим XOR к 001 и 111, мы получим 110, то есть . Это дает такое же решение мы решили раньше.

В этом примере функция f действительно является функцией два к одному, где .

Для однозначной функции такой, что

Сложность проблемы

Интуитивно это очень сложно решить «классическим» способом, даже если использовать случайность и допускать небольшую вероятность ошибки. Интуиция, стоящая за твердостью, довольно проста: если вы хотите решить проблему классическим образом, вам нужно найти два разных входа. и для которого . В функции не обязательно должна быть какая-либо структура это поможет нам найти два таких входа: более конкретно, мы можем узнать кое-что о (или что он делает) только тогда, когда для двух разных входов мы получаем один и тот же результат. В любом случае нам нужно будет угадать различных входов, прежде чем можно будет найти пару, на которой принимает тот же результат, что и проблема дня рождения. Поскольку классически, чтобы найти s со 100% уверенностью, потребовалось бы проверить до входных данных, задача Саймона пытается найти s с использованием меньшего количества запросов, чем этот классический метод.

Обзор алгоритма Саймона

Идея

Идея высокого уровня, лежащая в основе алгоритма Саймона, состоит в том, чтобы «исследовать» (или «выбрать») квантовую схему (см. Рисунок ниже) «достаточно раз», чтобы найти (линейно независимый ) п-битовые строки, то есть

такие, что выполняются следующие уравнения

куда это по модулю 2 скалярное произведение; то есть, , и , за и для .

Итак, эта линейная система содержит линейные уравнения в неизвестные (т. е. части ), и цель - решить его, чтобы получить , и фиксируется для данной функции . Не всегда есть (единственное) решение.

Квантовая схема Саймона

Квантовая схема, представляющая / реализующая алгоритм Саймона

Квантовая схема (см. Рисунок) - это реализация (и визуализация) квантовой части алгоритма Саймона.

Сначала готовится квантовое состояние всех нулей (это легко сделать). Штат представляет куда - количество кубитов. Половина этого состояния затем преобразуется с помощью преобразования Адамара. Затем результат передается в оракул (или «черный ящик»), который знает, как вычислить . Где действует на два регистра как . После этого часть вывода, производимого оракулом, преобразуется с помощью другого преобразования Адамара. Наконец, выполняется измерение итогового квантового состояния в целом. Именно во время этого измерения мы извлекаем n-битные строки, , упомянутые в предыдущем подразделе.

Алгоритм Саймона можно рассматривать как итерационный алгоритм (который использует квантовую схему), за которым следует (возможно) классический алгоритм для поиска решения линейной системы уравнений.

Алгоритм Саймона

В этом разделе подробно объясняется каждая часть алгоритма Саймона. При чтении каждого из следующих подразделов может быть полезно посмотреть на изображение квантовой схемы Саймона выше.

Вход

Алгоритм Саймона начинается с ввода , куда квантовое состояние с нули.

(Символ - типичный символ, используемый для обозначения тензорное произведение. Чтобы не загромождать обозначения, символ иногда опускается: например, в предыдущем предложении эквивалентно . В этой статье он (часто) используется для устранения двусмысленности или во избежание путаницы.)

Пример

Так, например, если , то начальный ввод

.

Первое преобразование Адамара

После этого ввод (как описано в предыдущем подразделе) преобразуется с помощью Преобразование Адамара. В частности, Преобразование Адамара тензорное произведение может также применяться к матрицам) применяется к первому кубиты, то есть в «частичное» состояние , так что составное состояние после этой операции

куда обозначает любую n-битную строку (т.е. суммирование производится по любой n-битовой строке). Период, термин может быть исключен из суммирования, потому что он не зависит от (т.е. это константа относительно ), и .

Пример

Предположим (снова) , то вход и преобразование Адамара является

Если мы сейчас применим к первому , т.е. в состояние

мы получаем

Чтобы получить окончательное составное квантовое состояние, мы можем теперь тензорное произведение с , то есть

Oracle

Затем мы вызываем оракул или черный ящик ( на картинке выше) для вычисления функции на преобразованном входе , чтобы получить состояние

Второе преобразование Адамара

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

куда может быть или же , в зависимости от , куда , за . Так, например, если и , тогда , которое является четным числом. Таким образом, в этом случае , и всегда неотрицательное число.

Интуицию, лежащую в основе применяемого здесь обратного преобразования Адамара, можно найти на Конспект лекций CMU

А теперь перепишем

следующее

Эта манипуляция будет удобна для понимания объяснений в следующих разделах. Порядок суммирования изменен на обратный.

Измерение

После выполнения всех ранее описанных операций в конце схемы измерение выполняется.

Теперь есть два возможных случая, которые мы должны рассмотреть отдельно.

  • или же
  • , куда .

Первый случай

Давайте сначала проанализируем (частный) случай , что обозначает является (по требованию) один к одному функции (как описано выше в «описании проблемы»).

Помните, что квантовое состояние до измерения

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

Это следует из

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

Значение правой части, то есть

легче увидеть .

Таким образом, когда , результат - просто равномерно распределены -битовая строка.

Второй случай

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

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

Однако во втором случае нам все еще нужно выяснить, что это за значение является. Давайте разберемся, почему, в следующих пояснениях.

Позволять , образ . Позволять (т.е. какой-то вывод функции ), то для каждого , есть один (и только один) , так что ; кроме того, у нас также есть , что эквивалентно (см. раздел «Описание проблемы» выше для обзора этой концепции).

Следовательно, мы имеем

При условии , то можно переписать коэффициент следующее

При условии , то мы можем записать выражение выше как

Так, в дальнейшем можно записать как

Нечетное число

Сейчас если нечетное число, то . В таком случае,

Следовательно, мы имеем

При условии , то у нас никогда не бывает этого дела, то есть нет строки в этом случае видна (после измерения).

(Это тот случай, когда мы имеем деструктивное вмешательство.)

Четное число

Если вместо этого - четное число (например, ноль), то . В таком случае,

Итак, у нас есть

В случае конструктивное вмешательство,

Итак, в общем, для этого второго случая мы имеем следующие вероятности

Классическая постобработка

Когда мы запускаем схему (операции), описанную выше, возможны два случая:

  • в (частном) случае, когда , результаты измерения в каждой строке с вероятностью
  • в случае (куда ) вероятность получить каждую строку дан кем-то

Таким образом, в обоих случаях результатом измерения является некоторая строка это удовлетворяет , а распределение униформа по всем строкам, которые удовлетворяют этому ограничению.

Достаточно ли этой информации, чтобы определить ? Ответ - «да», при условии, что процесс (см. Выше) повторяется несколько раз (и допускается небольшая вероятность отказа). В частности, если вышеуказанный процесс запущен раз мы получаем струны , так что

Это система линейные уравнения в неизвестные (т. е. части ), а цель - решить ее, чтобы получить . Обратите внимание, что каждый из то, что мы получаем после каждого измерения (для каждого «раунда» процесса), конечно же, является результатом измерения, поэтому он известен (в конце каждого «раунда»).

Мы получаем только единственное ненулевое решение если нам "повезет" и линейно независимы. Вероятность того, что линейно независимы, не менее

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

Сложность

Алгоритм Саймона требует запросов к черному ящику, тогда как для классического алгоритма потребуется как минимум запросы. Также известно, что алгоритм Саймона оптимален в том смысле, что любой квантовый алгоритм для решения этой проблемы требует запросы.[1][2]

Смотрите также

Рекомендации

  1. ^ Koiran, P .; Несме, В .; Портье, Н. (2007), "Сложность квантового запроса абелевой проблемы скрытой подгруппы", Теоретическая информатика, 380 (1–2): 115–126, Дои:10.1016 / j.tcs.2007.02.057, получено 2011-06-06
  2. ^ Koiran, P .; Несме, В .; Портье, Н. (2005), "Квантовая нижняя оценка сложности запроса проблемы Саймона", Proc. ИКАЛП, 3580: 1287–1298, arXiv:Quant-ph / 0501060, Bibcode:2005квант.ч..1060K, получено 2011-06-06