Як працює дифузійний оператор Гровера та чому він оптимальний?


15

У цій відповіді пояснюється алгоритм Гровера. Пояснення вказує, що алгоритм багато в чому покладається на диверсійний оператор Grover , але не дає детальних відомостей про внутрішню роботу цього оператора.

Коротко кажучи, диверсійний оператор Гровер створює "інверсію щодо середнього", щоб ітеративно зробити невеликі відмінності на попередніх етапах досить великими, щоб бути вимірюваними.

Зараз питання:

  1. Як оператор дифузії Гровера досягає цього?
  2. Чому виходить O(n)загальний час для пошуку не упорядкованої бази даних оптимально?

1
Просто коментар до другого питання. Існують роботи, які показують, що трек стану в алгоритмі Гровера відповідає точно геодезичній, що з'єднує початковий стан алгоритму і стан призначення. Так що це оптимально.
XXDD

Відповіді:


5

Оскільки початкове запитання стосувалося опису неспеціаліста, я пропоную дещо інше рішення, яке, можливо, простіше зрозуміти (залежно від фону) на основі безперервного часу еволюція. (Я не претендую на те, що він підходить для мирян.)

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

|ψ=12ny{0,1}n|y
|x
H=|xx|+|ψψ|.
{|x,|ψ}2n{|x,|ψ}e-iHt| г |е-ят(I+2-пZ+
|ψ=12n1y{0,1}n:yx|y.
Використовуючи цю основу, еволюція часу може бути записана як де і - стандартні матриці Паулі. Це можна переписати як Отже, якщо ми розвиваємось за часeiHt|ψXZe-it(Icos(t
eit(I+2nZ+2n12nX)(12n112n),
XZt=π
eit(Icos(t2n/2)i12n/2sin(t2n/2)(Z+X2n1))(12n112n).
t=π22n/2, і ігноруючи глобальні фази, остаточний стан - Іншими словами, з ймовірністю 1 ми отримуємо стан який ми шукали. Звичайний опис пошуку Гровера на основі схем - це саме ця безперервна еволюція часу, розбита на дискретні кроки, з невеликим недоліком, який ви зазвичай не можете отримати точно ймовірності 1 для свого результату, просто дуже близького до нього.| х
12n/2(Z+X2n1)(12n112n)=(12n2n12n)+(112n2n12n)=(10).
|x

Одне застереження таке: ви можете переосмислити , і розвиватися за допомогою і час еволюції буде в 5 разів коротшим. Якщо ви хотіли бути дійсно радикальними, замініть 5 на , і пошук Гровера працює постійно! Але вам заборонено це робити довільно. Будь-який даний експеримент мав би фіксовану максимальну силу зв'язку (тобто фіксований множник). Так, різні експерименти мають різний час роботи, але їх масштабування однакове, . Це так само, як сказати, що вартість воріт у схемі схеми є постійною, а не припускати, що якщо ми будемо використовувати схему глибини кожен затвор може бути зроблений для запуску в часі . ˜ H 2n/22n/2k1/kH~=5HH~2n/22n/2k1/k

Доказ оптимальності по суті полягає в тому, щоб показати, що якщо ви зробите швидше виявлення одного можливого маркованого стану , воно зробить виявлення іншого позначеного стану повільніше. Оскільки алгоритм повинен працювати однаково добре, незалежно від того, який стан позначений, це рішення є найкращим.| у |x|y


4

Одним із способів визначення оператора дифузії є 1 , де - фазовий оракулD=HnU0HnU0

U0|0n=|0n,U0|x=|xfor|x|0n.

Це показує, що також можна записати як, даючи де .U0U0=I2|0n0n|

D=2|++|I,
|+=2n/2(|0+|1)n

Написання стану де є ортогональним до (тобто дає .|ψ=α|++β|+|+|+++=0)D|ψ=α|+β|+

Це дає 2, що оператор дифузії є відображенням про|+

Оскільки інша частина алгоритму Гровера також є відображенням, вони поєднуються для обертання поточного стану ближче до значення " " . Цей кут лінійно зменшується із числом обертів (доки він не перекриє шукане значення), що дає ймовірність правильного вимірювання правильного значення квадратично.x0

Беннет та ін. ін. показали, що це оптимально. Приймаючи класичне рішення NP-задачі, алгоритм Гровера може бути використаний для квадратичного прискорення цього. Однак, взявши мову для функції збереження довжини (тут, оракул), будь-якого обмеженого- помилка Oracle, заснована на квантовому контрольному апараті, не може прийняти цю мову за час .LA={y:xA(x)=y}AT(n)=o(2n/2)

Це досягається, взявши набір оракул, де не має зворотного (так не міститься в мові). Однак це міститься в новій мові за визначенням. Різниця в ймовірності машини, що приймає і іншої машини, яка приймає за часом становить менше тому жодна мова не приймається, і алгоритм Гровера дійсно асимптотично оптимальна. 3|1nLAyLALAyT(n)1/3

Пізніше Залка показала, що алгоритм Гровера є абсолютно оптимальним.


1 В алгоритмі Гровера знаки мінус можна переміщувати навколо, так що, де знак мінус, є дещо довільним і не обов'язково повинен бути у визначенні дифузійного оператора

2 Альтернативно, визначення оператора дифузії без знаку мінус дає відображення про|+

3 Визначення машини, що використовує oracle як і машина, що використовує oracle як , це пов'язано з тим, що існує безліч рядків бітів, де стани і в момент часу є -закрити 4 , з кардинальністю . Кожен оракул, де правильно вирішує, чи є в можна відобразити на оракул, де НевдачаAMAAyMAySMAMAytϵ<2T2/ϵ2MA|1nLA2nCard(S)MA правильно визначити, чи є мовою цього оракула. Однак він повинен дати одну з інших потенційних відповідей, і тому, якщо , машина не може визначити належність .|1n2n1T(n)=o(2n/2)LA

4 Використовуючи евклідову відстань, двічі відстань сліду

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.