Чому в алгоритмі Гровера необхідний кубіт Oracle?


10

Я трохи розгублений щодо необхідності кубіта оракула в алгоритмі Гровера.

Моє запитання: чи залежить це від того, як ви реалізуєте свій оракул, вам потрібен кубіт Oracle чи ні? Або це є якась причина для куратора оракула? .

Багато ресурсів вводять алгоритм Гровера з кубітом oracle, але я виявив, що є випадки, що вам не потрібен кубіт Oracle.

Наприклад, ось дві реалізації алгоритму Гровера в тренажері IBM Q. Один використовує кубіт Oracle, а інший - ні. В обох випадках я хотів би знайти | 11> з простору | 00>, | 01>, | 10> і | 11>. В обох випадках oracle успішно перевертається | 11> до - | 11>.

・ З кубітом oracle ( Посилання на тренажер IBM Q ) введіть тут опис зображення

・ Без кубіта Oracle ( Посилання на тренажер IBM Q ) введіть тут опис зображення

Відповіді:


5

U|x|y=|x|yf(x),
f(x)x(|0|1)/2
U~|x=(1)f(x)|x

xU~U


Насправді дуже просто уникнути зайвого кубіта, якщо припустити, що він не використовується як робоча область під час обчислення oracle. Знайдіть будь-які CNOT на додатковому кубіті та замініть їх на Z-воріт на керуванні CNOT. Аналогічно замініть CCNOT на додатковий кубіт на CZ між двома елементами управління CCNOT. І т. Д.
Крейг Гідні

@CraigGidney Справедливий момент, хоча я думаю, що у вашому висловлюванні є більше припущень (що робить його не загальним, навіть якщо більшість випадків, про які ми знаємо, задовольняють їх): (1) не повинно бути проміжних прокладок, які використовуються під час оцінка функції; (2) схема оракула повинна бути розкладена на набір затворів, де єдиними мульти-кубітними воротами, що діють на oracly-кубіт, є (кілька) -контрольовані ноти, націлені на кубіт-оракул; (3) жоден інший шлюз не може діяти на кубіт оракула (тобто ви не можете просто повернути c-nots, що діють неправильно, використовуючи Адамарди на входах і виходах).
DaftWullie

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