La seconde révolution quantique suppose que l’on peut résoudre le problème de la décohérence, une plaie de l’informatique quantique rendant rapidement tout calcul un peu complexe et long impossible.
Une image permet d’appréhender ce problème : pour réaliser un ordinateur quantique surpassant un ordinateur classique, il faut en effet disposer d’un grand nombre de ce que l’on appelle des qubits d’informations, la généralisation quantique des bits d’informations de la théorie des ordinateurs classiques.
On peut se les représenter comme les éléments d’un château de cartes. Plus il prend de la hauteur, plus il est instable. Quand il atteint quelques étages, un minuscule courant d’air ou une petite vibration de la table suffit pour que tout le château s’écroule. De façon générale donc, plus le château est grand, plus il a de risques de s’effondrer vite, à moins de le placer dans une chambre sous vide ou sur une table l’isolant des vibrations du sol, par exemple.
Le problème est similaire avec des qubits. Il faut généralement refroidir presque au zéro absolu les systèmes quantiques constitués des quelques atomes seulement qui portent ces qubits pour les isoler suffisamment longtemps du bruit de fond ambiant, souvent thermique, généré par le reste de l’Univers. Même ainsi, on dispose d’un temps trop court pour pouvoir effectuer autre chose que quelques timides calculs quantiques.
Peter Shor et ses collègues ont proposé une parade au milieu des années 1990, utiliser des codes correcteurs quantiques, cousins des codes correcteurs d’erreurs des ordinateurs classiques bien connus dans le cadre de la théorie de l’information classique, pour lutter contre les erreurs de calcul produites par la décohérence.
Les codes correcteurs d’erreurs.
Dans le cas bien étudié du traitement de l’information classique, les codes correcteurs d’erreurs sont le plus souvent appliqués à la transmission de données pour éliminer les effets du bruit. Il s’agit de techniques de codage basées sur la redondance permettant de détecter et de corriger des erreurs dans un message transmis. Elles trouvent aussi des applications avec les disques durs et les RAM.
Un exemple de code célèbre est celui de Hamming, que cite Richard Feynman dans ses leçons sur l’informatique. L’idée d’un code correcteur peut être rapidement saisie avec l’exemple des signaux en binaires que l’on transmet avec des « 0 » et des « 1 ». En triplant les données, par exemple en envoyant systématiquement
