Bestimmt! Stellen Sie sich vor, Sie haben Kopien des , die Sie verwenden können. Normalerweise würden Sie suchen, indem Sie die Aktion
ausgehend von einem Anfangszustand . Dies dauert Zeit . (Ich benutze , um die Identitätsmatrix zu bezeichnen.)K=2kUS
H⊗n(In−2|0⟩⟨0|⊗n)H⊗nUS,
(H|0⟩)⊗nΘ(N−−√)In2n×2n
Sie können dies durch parallele Kopien ersetzen , die jeweils durch ein indiziert sind , indem Sie
und ausgehend von einem Zustand
Die zum Ausführen dieser Zeit erforderliche Zeit würde auf reduziert) auf Kosten des mal mehr Platzbedarfs.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
In einem skalierenden Sinne könnte man dies als irrelevantes Ergebnis betrachten. Wenn Sie eine feste Anzahl von Orakeln haben, , dann erhalten Sie eine feste ( ) Verbesserung (genau wie wenn Sie parallele klassische Kerne haben, ist die beste Verbesserung, die Sie erhalten können, ein Faktor von ) und das ändert nichts an der Skalierung. Aber es ändert die grundlegende Laufzeit. Wir wissen, dass der Grover-Algorithmus genau optimal ist. Es dauert die absolut minimale Zeit, die mit einem einzelnen Orakel möglich ist. Das Wissen, dass Sie eine -Zeitverbesserung erhalten, ist im Hinblick auf diesen Benchmark einer bestimmten Laufzeit bei einem bestimmten Wert von hilfreich .KK−−√KKK−−√N