Ich bin etwas verwirrt über die Notwendigkeit eines Orakel-Qubits in Grovers Algorithmus.
Meine Frage ist, hängt es davon ab, wie Sie Ihr Orakel implementieren, ob Sie ein Orakel-Qubit benötigen oder nicht? Oder gibt es einen Grund für ein Orakel-Qubit? (Zum Beispiel gibt es einige Probleme, die ohne ein Orakel-Qubit nicht gelöst werden können, oder es ist einfacher, über das Problem mit einem Orakel-Qubit nachzudenken, oder es ist eine Konvention usw.)
Viele Ressourcen führen den Grover-Algorithmus mit einem Orakel-Qubit ein, aber ich habe festgestellt, dass es einige Fälle gibt, in denen Sie kein Orakel-Qubit benötigen.
Hier sind beispielsweise zwei Implementierungen des Grover-Algorithmus im IBM Q-Simulator. Einer benutzt ein Orakel-Qubit und der andere nicht. In beiden Fällen möchte ich | 11> aus einem Raum von | 00>, | 01>, | 10> und | 11> finden. In beiden Fällen wechselt Orakel erfolgreich | 11> zu - | 11>.
・ Mit einem Orakel-Qubit ( Link zum IBM Q-Simulator )
・ Ohne Orakel-Qubit ( Link zum IBM Q-Simulator )