Звичайно! Уявіть, що у вас єK=2k копії пошукового оракула USщо ви можете використовувати. Зазвичай ви шукаєте шляхом повторення дії
H⊗n(In−2|0⟩⟨0|⊗n)H⊗nUS,
починаючи з початкового стану
(H|0⟩)⊗n. На це потрібен час
Θ(N−−√). (Я використовую
In позначати
2n×2n матриця ідентичності.)
Ви можете замінити це на 2k паралельні копії, кожна з яких індексується x∈{0,1}k, використовуючи
(Ik⊗H⊗(n−k))Ik⊗(In−k−2|0⟩⟨0|⊗(n−k))(Ik⊗H⊗(n−k))US
і починаючи від держави
|x⟩(H|0⟩)⊗(n−k)
Час, необхідний для їх виконання, буде скорочено до
O(N/K−−−−√), ціною вимагання
K разів більше місця.
У сенсі масштабування можна вважати це нерелевантним результатом. Якщо у вас є фіксована кількість оракул,K, тоді ви отримуєте фіксований (K−−√) поліпшення (як і у випадку, якщо у вас є K паралельні класичні ядра, найкраще поліпшення, яке ви можете отримати, є фактором K), і це не змінює масштабування. Але це змінює основний час роботи. Ми знаємо, що алгоритм Гровера є абсолютно оптимальним. Це займає абсолютний мінімальний час, що можливий одним оракулом. Отже, знаючи, що ви отримаєтеK−−√ Поліпшення в часі є корисним щодо цього еталону конкретного часу роботи при конкретному значенні N.