Je suis un peu confus quant à la nécessité d'un qubit oracle dans l'algorithme de Grover.
Ma question est, cela dépend-il de la façon dont vous implémentez votre oracle, que vous ayez besoin d'un orbit qubit ou non? Ou, y at-il une raison pour un qubit oracle? (comme, il existe des problèmes qui ne peuvent pas être résolus sans qubit oracle, ou il est plus facile de penser au problème avec un qubit oracle, ou c'est une convention, etc.)
De nombreuses ressources présentent l'algorithme de Grover avec un qubit oracle, mais j'ai trouvé qu'il y a des cas où vous n'avez pas besoin d'un qubit oracle.
Par exemple, voici deux implémentations de l'algorithme de Grover dans le simulateur IBM Q. L'un utilise un qubit oracle, et l'autre non. Dans les deux cas, j'aimerais trouver | 11> à partir d'un espace de | 00>, | 01>, | 10> et | 11>. Dans les deux cas, oracle retourne avec succès | 11> à - | 11>.
・ Avec un qubit oracle ( Lien vers le simulateur IBM Q )
・ Sans qubit oracle ( Lien vers le simulateur IBM Q )