Sono un po 'confuso sulla necessità di un qubit oracolare nell'algoritmo di Grover.
La mia domanda è: dipende da come implementate il vostro oracolo se avete bisogno di un qubit oracolo o no? Oppure, c'è qualche motivo per un qubit oracolo? (ad esempio, esistono alcuni problemi che non possono essere risolti senza un orbito qubit, oppure è più facile pensare al problema con un oracolo qubit, oppure è una convenzione, ecc.)
Molte risorse introducono l'algoritmo di Grover con un qubit oracle, ma ho scoperto che in alcuni casi non è necessario un qubit oracle.
Ad esempio, ecco due implementazioni dell'algoritmo di Grover in IBM Q simulator. Uno sta usando un orbit qubit e l'altro no. In entrambi i casi, vorrei trovare | 11> da uno spazio di | 00>, | 01>, | 10> e | 11>. In entrambi i casi, l'oracolo lancia con successo da | 11> a - | 11>.
・ Con un orbit qubit ( Link al simulatore IBM Q )
・ Senza orbit qubit ( collegamento al simulatore IBM Q )