Безусловно! Представьте, что у вас есть копий поискового оракула который вы можете использовать. Обычно вы выполняете поиск, повторяя действие
начиная с начального состояния . Это занимает время . (Я использую для обозначения матрицы тождественности .)K=2kUS
H⊗n(In−2|0⟩⟨0|⊗n)H⊗nUS,
(H|0⟩)⊗nΘ(N−−√)In2n×2n
Вы можете заменить это на параллельных копий, каждая из которых проиндексирована символом , используя
и начиная с состояния
Время, необходимое для их выполнения, будет сокращено до , за счет чего требуется в раз больше места.2kx∈{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
В смысле масштабирования можно считать это неуместным результатом. Если у вас есть фиксированное число оракулов, , то вы получаете фиксированное ( ) улучшение (точно так же, как если у вас параллельных классических ядер, лучшее улучшение, которое вы можете получить, это коэффициент ), и это не меняет масштабирование. Но это меняет фундаментальное время работы. Мы знаем, что алгоритм Гровера является абсолютно оптимальным. Это занимает минимально возможное время с одним оракулом. Таким образом, зная , что вы получите улучшение времени полезно в отношении этого теста определенного времени работы при определенном значении .KK−−√KKK−−√N