L'algorithme de Deutsch
L'algorithme de Deutsch résout le problème de la parité pour le cas particulier où Dans le contexte du calcul quantique, ce problème est parfois appelé problème de Deutsch, et nous utiliserons cette terminologie dans cette leçon.
Pour être précis, l'entrée est représentée par une fonction d'un bit vers un bit. Il y a quatre telles fonctions :
La première et la dernière de ces fonctions sont constantes, et les deux du milieu sont équilibrées, ce qui signifie que les deux valeurs de sortie possibles apparaissent le même nombre de fois lorsqu'on parcourt toutes les entrées. Le problème de Deutsch consiste à déterminer à laquelle de ces deux catégories appartient la fonction d'entrée : constante ou équilibrée.
Si on considère la fonction d'entrée du problème de Deutsch comme représentant un accès aléatoire à une chaîne de bits, on pense alors à une chaîne de deux bits :
Vu sous cet angle, le problème de Deutsch consiste à calculer la parité (ou, de manière équivalente, le OU exclusif) des deux bits.
Tout algorithme de requête classique qui résout correctement ce problème doit interroger les deux bits : et Si on apprend que par exemple, la réponse peut encore être ou selon que ou respectivement. Tous les autres cas sont similaires ; connaître un seul des deux bits ne fournit aucune information sur leur parité. Ainsi, le circuit booléen décrit dans la section précédente est le mieux qu'on puisse faire en termes de nombre de requêtes nécessaires pour résoudre ce problème.
Description du circuit quantique
L'algorithme de Deutsch résout le problème de Deutsch en une seule requête, offrant ainsi un avantage quantifiable du calcul quantique sur le calcul classique. Il peut s'agir d'un avantage modeste — une requête contre deux — mais il faut bien commencer quelque part. Les avancées scientifiques ont parfois des origines en apparence humbles.
Voici un circuit quantique qui décrit l'algorithme de Deutsch :
Analyse
Pour analyser l'algorithme de Deutsch, nous allons suivre l'action du circuit ci-dessus et identifier les états des qubits aux moments suggérés par cette figure :
L'état initial est et les deux opérations de Hadamard sur le côté gauche du circuit transforment cet état en
(Comme toujours, on suit la convention d'ordre des qubits de Qiskit, qui place le qubit du haut à droite et le qubit du bas à gauche.) Il peut sembler peu intuitif d'écrire cet état produit partiellement distribué (en laissant les états du qubit 1 factorisés séparément), mais cela rendra nos expressions ultérieures plus compactes.
Ensuite, la porte est appliquée. Selon la définition de la porte , la valeur de la fonction pour l'état classique du qubit du haut/de droite est appliquée par XOR sur le qubit du bas/de gauche, ce qui transforme en l'état
On peut simplifier cette expression en observant que la formule
est valable pour les deux valeurs possibles Plus explicitement, les deux cas sont les suivants.
Ainsi, on peut exprimer de manière alternative comme suit :
Il vient de se passer quelque chose d'intéressant ! Bien que l'action de la porte sur les états de base standard laisse le qubit du haut/de droite intact et applique le XOR de la valeur de la fonction sur le qubit du bas/de gauche, on voit ici que l'état du qubit du haut/de droite a changé (en général) tandis que l'état du qubit du bas/de gauche reste le même — étant spécifiquement dans l'état avant et après l'application de la porte . Ce phénomène est connu sous le nom de retour de phase (phase kickback), et nous en dirons plus à ce sujet sous peu.
Avec une dernière simplification, qui consiste à sortir le facteur de la somme, on obtient cette expression de l'état :