Есть ли объяснение непрофессионала, почему работает алгоритм Гровера?


27

Этот пост от Скотта Ааронсона - очень полезное и простое объяснение алгоритма Шора .

Мне интересно, есть ли такое объяснение для второго наиболее известного квантового алгоритма: алгоритм Гровера для поиска в неупорядоченной базе данных размера в O ( O(n)времяO(n)

В частности, я хотел бы видеть некоторую понятную интуицию для первоначально удивительного результата времени выполнения!

Ответы:


20

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

По сути, алгоритм Гровера применяется, когда у вас есть функция, которая возвращает Trueодин из возможных входов и Falseвсе остальные. Задача алгоритма - найти тот, который возвращает True.

Для этого мы выражаем входные данные как битовые строки и кодируем их, используя |0 и |1 состояния строки кубитов. Таким образом, битовая строка 0011будет закодирована в четырехбитном состоянии |0011 , например.

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

U|a=|a,U|b=|b

aTruebFalse

12nnU12n

D

bj

D:jαj|bjj(2μαj)|bj

μ=jαjμ+δμδ

12n

12n

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

См. Ответы на другие вопросы для получения подробной информации о том, как реализованы функции и оператор диффузии .


4

Я нахожу графический подход вполне подходящим для того, чтобы дать некоторое представление, не становясь слишком техническим. Нам нужны некоторые входные данные:

  • |ψ|xx|ψ0
  • U1=(I2|ψψ|)
  • U2=I2|xx|

|ψ|x{|x,|ψ}{|x,|ψ}{|x,|ψ}и они возвращают состояние в промежутке. Более того, оба являются унитарными, поэтому длина входного вектора сохраняется.

|ψ|xвведите описание изображения здесь

|ψ|x|ψ|ψ|ψ|ψθвведите описание изображения здесь

U1|ψU2|ψвведите описание изображения здесь

U2U12θ|xвведите описание изображения здесь

|ψθ|xx

|x|ψp1O(1/p)p=sinθθθrsin((2r+1)θ)1rπ2θπ2p


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.