Алгоритм Гровера: що робити з Oracle?


9

Мене плутає те, що потрібно ввести в Oracle в алгоритмі Гровера.

Чи не потрібно нам вводити те, що ми шукаємо, і де знайти те, що ми шукаємо в Oracle, окрім суперпозиціонованих квантових станів?

Наприклад, припустимо, що у нас є список імен людей {"Аліса", "Боб", "Корі", "Діо"}, і ми хочемо знайти, чи є в списку "Діо". Потім Oracle повинен взяти1/2(|00+|01+|10+|11) як вхід і вихід 1/2(|00+|01+|10|11). Я якось це розумію.

Але чи не потрібно також нам вводити слово "Dio" та список {"Аліса", "Боб", "Корі", "Діо"} до Oracle? В іншому випадку, як Oracle може повернути вихід? Чи це прямо не згадується, оскільки Oracle - це чорна скринька, і нам не потрібно думати, як її реалізувати?

Моє розуміння щодо Oracle:

  • Oracle має можливість розпізнавати, чи є в списку слово "Dio".
  • Для цього Oracle приймає суперпозиційні квантові стани як вхідні дані, де кожен квантовий стан являє собою індекс списку.
  • Отже, введення |00 для Oracle означає, що перевірте, чи є слово "Dio" в індексі 0 списку, і поверніться |00 якщо так, і поверніться |00 інакше.
  • У нашому випадку Oracle повертається 1/2(|00+|01+|10|11).
  • А як щодо списку та слова?

1
Хоча я не формулюється так само, я вважаю, що ваше питання більш-менш збігається з цим: алгоритм Гровера: де список?
DaftWullie

Відповіді:


4

Хоча популярні пояснення алгоритму Гровера говорять про пошук списку, насправді ви використовуєте його для пошуку можливих входів 0..N-1 до функції. Вартість алгоритму становитьО(NЖ) де N - кількість входів, які ви хочете шукати і Ж- це вартість оцінки функції. Якщо ви хочете, щоб ця функція здійснювала пошук у списку, вам слід ввести жорсткий список у цю функцію.

Жорстке кодування функції для використання списку N предметів, як правило, дуже погана ідея, оскільки це, як правило, викликає Ж до рівних О(N). Що б склало загальну вартість алгоритму ГровераО(NЖ)=О(NN)=О(N1.5). Який сорт перемагає цілі, оскількиN1.5>N.


Ви б не ввели впорядкований список, зробивши пошук набагато швидшим? Звичайно, ви можете потім включити вартість замовлення списку, але, мабуть, це все одно виходить якО(Nжурнал(N))загалом.
DaftWullie

@DaftWullie Проблема полягає в тому, що Гровер повинен здійснити пошук під суперпозицією, і для цього потрібна схема мультиплексора з воротами N AND (або іншими операціями, які не є Кліффордом). Квантовий І ворота (тобто Toffoli) має незначну вартість при виконанні виправлення помилок. Ця вартість технічно також присутня в класичній машині (тобто оперативна пам’ять має O (N) І ворота), вона, як правило, є незначною і навіть уникнути цього в цьому контексті.
Крейг Гідні

Я не розумію, що ти кажеш. Чи зможете ви висловити запитання та відповісти на нього, показати деталі? (Я не думаю, що я можу поставити досить гарне запитання на даний момент)
DaftWullie

@DaftWullie Я думаю, що питання було б на кшталт "як я можу надати квантовому комп'ютеру доступ для читання до класичної бази даних і наскільки це дорого".
Крейг Гідні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.