Чи є пояснення мирян, чому алгоритм Гровера працює?


27

Цей поштовий журнал від Скотта Аронсона є дуже корисним та простим поясненням алгоритму Шор .

Мені цікаво, чи існує таке пояснення для другого найвідомішого квантового алгоритму: алгоритму Гровера для пошуку не упорядкованої бази даних розміром за час .O ( O(n)O(n)

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

Відповіді:


20

Існує гарне пояснення Крейг Gidney тут (він також має інше великий вміст, в тому числі схеми симулятора, на своєму блозі ).

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

Для цього ми виражаємо входи як бітові рядки та кодуємо їх за допомогою та станів рядків кубітів. Отже, бітова рядок буде кодована, наприклад, у чотирьох кубітному стані .|0|10011|0011

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

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

де - бітова рядок, для якої повертається функція, а - будь-яка, для якої вона повертається .aTruebFalse

Якщо ми почнемо з суперпозицією всіх можливих бітових рядків, що досить легко зробити, просто Hadamarding все, всі входи починаються з однієї і тієї ж амплітудою (де є довжина бітових рядків, які ми шукаємо, і, отже, кількість кубітів, які ми використовуємо). Але якщо ми застосуємо оракул , амплітуда стану, який ми шукаємо, зміниться на .12nnU12n

Це не будь-яка легко помітна різниця, тому нам потрібно її посилити. Для цього ми використовуємо Гровер Diffusion оператора , . Ефект цього оператора полягає в тому, щоб подивитися на те, чим кожна амплітуда відрізняється від середньої амплітуди, а потім обернути цю різницю. Отже, якщо певна амплітуда була на певну суму більше середньої амплітуди, вона стане на ту саму суму меншою, ніж середня, і навпаки.D

Зокрема, якщо у вас суперпозиція бітових рядків , дифузійний оператор має ефектbj

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

де - середня амплітуда. Тож будь-яка амплітуда перетворюється на μ - δ . Щоб дізнатися, чому він має такий ефект, і як його реалізувати, дивіться у цих конспектах лекцій .μ=jαjμ+δμδ

Більша частина амплітуд буде мініатюрною більшою, ніж середня (завдяки ефекту одинарного 12n ), тому вони стануть крихітним трохи менше середнього за допомогою цієї операції. Не велика зміна.

На стан, який ми шукаємо, буде впливати сильніше. Його амплітуда набагато менша від середньої, і тому вона стане набагато більшою середньою після застосування оператора дифузії. Кінцевий ефект дифузійного оператора полягає в тому, щоб спричинити перешкодний вплив на стани, котрий амплітуда 12n з усіх неправильних відповідей і додає їх до правильної. Повторивши цей процес, ми можемо швидко дійти до того, що наше рішення виділяється з натовпу настільки, що ми можемо його ідентифікувати.

Звичайно, все це свідчить про те, що всю роботу виконує дифузійний оператор. Пошук - це лише програма, яку ми можемо підключити до неї.

Детальні відомості про те, як реалізуються функції та оператор дифузії, див. Відповіді на інші запитання .


4

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

  • ми можемо створити стан з ненульовим перекриттям з «зазначеним» станом | х : х | г | 0 .|ψ|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.