Certainement! Imaginez que vous ayez K=2k copies de l'oracle de recherche US que vous pouvez utiliser. Normalement, vous chercheriez par itérer l'action
H⊗n(In−2|0⟩⟨0|⊗n)H⊗nUS,
à
partir d'un état initial
(H|0⟩)⊗n . Cela prend du temps
Θ(N−−√). (J'utilise
Inpour désigner lamatrice d'identité
2n×2n.)
Vous pouvez le remplacer par 2k copies parallèles, indexées chacune par un x∈{0,1}k , en utilisant
(Ik⊗H⊗(n−k))Ik⊗(In−k−2|0⟩⟨0|⊗(n−k))(Ik⊗H⊗(n−k))US
et à partir d'un état
|x⟩(H|0⟩)⊗(n−k)
Le temps nécessaire pourexécutioncellesci serait réduite à
O(N/K−−−−√), au prix d'exiger
Kfois plus d'espace.
Dans un sens de mise à l'échelle, on pourrait considérer cela comme un résultat non pertinent. Si vous avez un nombre fixe d'oracles, K , alors vous obtenez un fixe ( K−−√ ) amélioration (tout comme si vous avezKcœurs classiques parallèles, la meilleure amélioration que vous pouvez obtenir est un facteur deK), et cela ne change pas l'échelle. Mais cela change le temps de fonctionnement fondamental. Nous savons que l'algorithme de Grover est exactement optimal. Cela prend le temps minimum absolu possible avec un seul oracle. Donc, sachant que vous obtenez unK−−√ amélioration du temps est utile en ce qui concerne ce pointréférence d'une durée spécifique à une valeur spécifique deN.