Une approche de la tolérance aux fautes
Nous allons commencer par décrire une approche de base du calcul quantique tolérant aux fautes basée sur les circuits quantiques et les codes correcteurs d'erreurs.
Pour les besoins de cette discussion, considérons l'exemple suivant d'un circuit quantique. Il s'agit d'un circuit de téléportation, incluant la préparation de l'e-bit, mais la fonctionnalité spécifique du circuit n'est pas importante — c'est simplement un exemple, et en réalité nous sommes susceptibles de nous intéresser à des circuits considérablement plus grands.
Un tel circuit représente un idéal, et une implémentation réelle ne sera pas parfaite. Alors, qu'est-ce qui pourrait mal se passer ?
La réalité est que beaucoup de choses pourraient mal se passer ! En particulier, les initialisations d'état, les opérations unitaires et les mesures seront toutes imparfaites ; et les qubits eux-mêmes seront sensibles au bruit, y compris la décohérence, à chaque instant du calcul, même lorsqu'aucune opération n'est effectuée sur eux et qu'ils se contentent de stocker de l'information quantique. Autrement dit, à peu près tout pourrait mal se passer.
Il y a toutefois une exception : tout calcul classique impliqué est supposé être parfait — car, en pratique, les calculs classiques sont parfaits. Par exemple, si nous décidons d'utiliser un code de surface pour la correction d'erreurs, et qu'un algorithme classique de couplage parfait est exécuté pour calculer les corrections, nous n'avons pas vraiment besoin de nous préoccuper de la possibilité que des erreurs dans ce calcul classique mènent à une solution incorrecte. Comme autre exemple, les calculs quantiques nécessitent souvent un pré- et post-traitement classique, et ces calculs classiques peuvent également être supposés parfaits en toute sécurité.
Modèles de bruit
Pour analyser les implémentations tolérantes aux fautes des circuits quantiques, nous avons besoin d'un modèle mathématique précis — un modèle de bruit — par lequel des probabilités pour que différentes choses tournent mal peuvent être associées. Hypothétiquement, on pourrait tenter de concevoir un modèle de bruit très détaillé et complexe visant à refléter la réalité de ce qui se passe dans un dispositif particulier. Mais, si le modèle de bruit est trop compliqué ou difficile à raisonner, il sera probablement d'une utilité limitée. Pour cette raison, des modèles de bruit plus simples sont beaucoup plus typiquement considérés.
Un exemple de modèle de bruit simple est le modèle de bruit stochastique indépendant, où les erreurs ou fautes affectant différents composants à différents moments dans le temps — ou, en d'autres termes, différentes positions dans un circuit quantique — sont supposées être indépendantes. Par exemple, chaque porte pourrait tomber en panne avec une certaine probabilité, une erreur pourrait frapper chaque qubit stocké par unité de temps avec une probabilité différente, et ainsi de suite, avec aucune corrélation entre les différentes erreurs possibles.
Or, il est certainement raisonnable d'objecter à un tel modèle, car il y aura probablement des corrélations entre les erreurs dans les dispositifs physiques réels. Par exemple, il pourrait y avoir une faible probabilité d'une erreur catastrophique qui efface tous les qubits en une fois. Plus probablement, il pourrait y avoir des erreurs localisées qui affectent néanmoins plusieurs composants d'un ordinateur quantique. Personne ne prétend le contraire ! Néanmoins, le modèle de bruit stochastique indépendant fournit une base simple qui capture l'idée que la nature est imprévisible mais pas malveillante, et qu'elle n'essaie pas intentionnellement de ruiner les calculs quantiques.
D'autres modèles de bruit moins indulgents sont également couramment étudiés. Par exemple, une relaxation courante de l'hypothèse d'indépendance entre les erreurs affectant différentes positions d'un circuit quantique est que seules les positions des erreurs sont indépendantes, mais les erreurs réelles affectant ces positions pourraient être corrélées.
Quel que soit le modèle de bruit choisi, il faut reconnaître que l'apprentissage des erreurs affectant des dispositifs spécifiques, et la formulation de nouveaux modèles d'erreurs si les anciens nous induisent en erreur, pourrait potentiellement être une partie importante du développement du calcul quantique tolérant aux fautes.
Implémentations de circuits tolérants aux fautes
Nous allons maintenant considérer une stratégie de base pour les implémentations tolérantes aux fautes des circuits quantiques. Nous utiliserons le circuit de téléportation ci-dessus comme exemple récurrent pour illustrer la stratégie, bien qu'elle puisse s'appliquer à tout circuit quantique.
Voici un diagramme d'une implémentation tolérante aux fautes de notre circuit de téléportation.
Les composants individuels de ce diagramme et leur lien avec le circuit original sont les suivants.
-
Les préparations d'états, les portes unitaires et les mesures ne sont pas effectuées directement, comme opérations uniques, mais plutôt par des soi-disant gadgets, qui peuvent chacun impliquer plusieurs qubits et plusieurs opérations. Dans le diagramme, les gadgets sont indiqués par des boîtes violettes étiquetées par la préparation d'état, la porte ou la mesure à implémenter.
-
Les qubits logiques sur lesquels le circuit original idéal s'exécute sont protégés en utilisant un code correcteur d'erreurs quantiques. Plutôt qu'agir directement sur ces qubits logiques, les gadgets agissent sur les qubits physiques qui les encodent. Le diagramme suggère que cinq qubits physiques sont utilisés pour chaque qubit logique, comme si le code à qubits était utilisé, mais ce nombre peut naturellement être différent. Il convient de souligner que ces qubits logiques ne sont jamais exposés ; ils passent toute leur existence à être protégés par le code correcteur d'erreurs quantiques que nous avons choisi.
-
La correction d'erreurs est effectuée de manière répétée, comme le suggèrent les boîtes bleues étiquetées « EC » dans le diagramme, tout au long du calcul. Il est d'une importance critique que cela soit fait à la fois fréquemment et en parallèle. Au fur et à mesure que les erreurs se produisent, l'entropie s'accumule, et un travail constant est nécessaire pour la retirer du système à un rythme suffisamment élevé pour permettre au calcul de fonctionner correctement.
Il y a donc des choix spécifiques qui doivent être faits, notamment la sélection des gadgets ainsi que le code correcteur d'erreurs quantiques lui-même. Une fois ces choix effectués, et en supposant qu'un modèle de bruit particulier a été adopté, il y a une question fondamentale que nous pouvons nous poser : Est-ce que cela aide vraiment ? Autrement dit, améliorons-nous les choses, ou pourrions-nous en réalité les empirer ?
Si le taux de bruit est trop élevé, l'ensemble du processus suggéré pourrait très bien aggraver les choses, tout comme le code de Shor à 9 qubits aggrave les choses pour des erreurs indépendantes si la probabilité d'erreur sur chaque qubit dépasse le point d'équilibre. Si, cependant, le taux de bruit est en dessous d'un certain seuil, alors tout ce travail supplémentaire nous mènera quelque part — et comme nous le discuterons vers la fin de la leçon, des voies s'ouvrent pour une réduction supplémentaire des erreurs.