Analyse
Nous allons maintenant analyser l'algorithme de Grover pour comprendre son fonctionnement. Nous commencerons par ce qu'on pourrait appeler une analyse symbolique, où nous calculons comment l'opération de Grover agit sur certains états, puis nous relierons cette analyse symbolique à une représentation géométrique qui aide à visualiser le fonctionnement de l'algorithme.
Solutions et non-solutions
Commençons par définir deux ensembles de chaînes.
L'ensemble contient toutes les solutions à notre problème de recherche, tandis que contient les chaînes qui ne sont pas des solutions (qu'on peut appeler non-solutions quand c'est pratique). Ces deux ensembles vérifient et c'est-à-dire qu'il s'agit d'une bipartition de
Ensuite, nous allons définir deux vecteurs unitaires représentant des superpositions uniformes sur les ensembles de solutions et de non-solutions.
Formellement, chacun de ces vecteurs n'est défini que lorsque l'ensemble correspondant est non vide, mais nous allons désormais nous concentrer sur le cas où ni ni n'est vide. Les cas et se traitent facilement séparément, et nous le ferons plus tard.
En passant, la notation utilisée ici est courante : chaque fois que nous avons un ensemble fini et non vide on peut écrire pour désigner le vecteur d'état quantique uniforme sur les éléments de
Définissons également comme l'état quantique uniforme sur toutes les chaînes de bits :
Remarque :
On a aussi donc représente l'état du registre après l'initialisation à l'étape 1 de l'algorithme de Grover.
Cela implique que juste avant les itérations de à l'étape 2, l'état de est contenu dans l'espace vectoriel bidimensionnel engendré par et et de plus les coefficients de ces vecteurs sont des nombres réels. Comme nous le verrons, l'état de aura toujours ces propriétés — c'est-à-dire que l'état est une combinaison linéaire réelle de et — après n'importe quel nombre d'itérations de l'opération à l'étape 2.
Une observation sur l'opération de Grover
Intéressons-nous maintenant à l'opération de Grover
en commençant par une observation intéressante à son sujet.
Imagine un instant que nous remplaçions la fonction par la composition de avec la fonction NOT — autrement dit, la fonction obtenue en inversant le bit de sortie de Appelons cette nouvelle fonction ; on peut l'exprimer de plusieurs manières équivalentes.
Remarque :
pour toute chaîne et donc
Cela signifie que si on substituait la fonction par la fonction l'algorithme de Grover ne fonctionnerait pas différemment — car les états obtenus par l'algorithme dans les deux cas sont nécessairement équivalents à une phase globale près.
Ce n'est pas un problème ! Intuitivement, l'algorithme n'a pas à savoir quelles chaînes sont des solutions et lesquelles sont des non-solutions — il lui suffit de pouvoir distinguer solutions et non-solutions pour fonctionner correctement.
Action de l'opération de Grover
Considérons maintenant l'action de sur les vecteurs d'état quantique et
D'abord, observons que l'opération a une action très simple sur et