SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
UNIVERSITE DU BURUNDI
FACULTE DES SCIENCES
SECTION POLYTECHNIQUE
DEPARTEMENT DE PHYSIQUE
APPORT DE LA MECANIQUE QUANTIQUE DANS LA
REALISATION DE L'ORDINATEUR FONCTIONNANT
AU-DELA DE LA LOI EMPIRIQUE DE MOORE
Par
BUCUMI Zabulon
Sous la Direction de : Mémoire présenté et défendu
publiquement en vue de l'obtention
Dr AKIMANA Rachel du grade de Licencié en Sciences
Physiques
Option : Physique Fondamentale
et Appliquée.
Bujumbura, le 26 novembre 2015
Dédicace
A mon père,
A ma mère,
A mes frères,
A ma s÷ur,
A tous ceux qui me sont chers,
Je dédie ce mémoire.
i
Remerciements
Au terme de ce travail, je tiens à exprimer mes vifs et sincères remerciements à
Dieu, Tout Puissant. Son amour, Sa grâce et Sa miséricorde m'ont été d'un atout
sans égal.
Mes remerciements les plus profonds s'adressent plus particulièrement au
professeur Dr AKIMANA Rachel, promoteur et directeur de ce mémoire, pour son
soutien continu, sa disponibilité exceptionnelle et ses conseils avisés. Elle a su me
témoigner une grande conance dont je lui suis reconnaissant.
Je remercie également tous ceux qui ont participé à ma formation tant humaine
que scientique depuis l'école primaire jusqu'à l'Université du Burundi; spéciale-
ment tous les professeurs de la Faculté des Sciences et en particulier ceux de la
section Polytechnique. Qu'ils trouvent dans l'accomplissement du présent travail le
couronnement de leurs énormes eorts!
Je témoigne aussi ma profonde reconnaissance à tous ceux qui, de près ou de
loin, m'ont prêté main forte, à tous ceux qui ont rendu mon séjour agréable à
l'Université du Burundi et à toutes les personnes qui ne cessent de penser à moi.
Je voudrais aussi remercier GAHUNGU Pascal, KWIZERA Ferdinand et
NIZIGIYIMANA Aline Bahati pour leurs générosités. Leurs multiples privations et
sacrices en ma faveur m'ont permis d'avancer dans la rédaction du présent travail.
Qu'ils trouvent ici l'expression de ma profonde gratitude!
Je réserve une marque de reconnaissance spéciale envers tous les membres de
ma famille et bien entendu mes parents en premier lieu, pour leur soutien sans
limite depuis le tout début. Je veux que vous sachiez à quel point je vous respecte
pour ce que vous êtes et à quel point je vous aime.
BUCUMI Zabulon
ii
Liste des sigles et abréviations
BIOS : Basic Input Output System
CMOS : Complementary Metal Oxyde Semiconductor
CNOT : Controlled NOT
CPU : Central Processing Unit
EEPROM : Electrically Erasable Programmable Read Only Memory
EPR : Einstein-Podolsky-Rosen
EPROM : Erasable Programmable Read Only Memory
IBM : International Business Machine
NAND : Not AND
NOR : Not OR
MOS : Metal Oxyde Semiconductor
PC : Personal Computer
PROM : Programmable Read Only Memory
RAM : Random Acces Memory
RMN : Résonance Magnétique Nucléaire
RSA : Rivest Shamir Adleman
TQF : Transformée de Fourier Quantique
UAL : Unité Arithmétique et Logique
USB : Universal Serial Bus
iii
Liste des tableaux
1.1 Table de vérité d'une porte NAND . . . . . . . . . . . . . . . . . . . 12
1.2 Table de vérité d'une porte NOR . . . . . . . . . . . . . . . . . . . . 13
2.1 Table de vérité d'une porte Controlled-NOT . . . . . . . . . . . . . . 24
3.1 Crude estimates for decoherence times τD (seconds), operations times
τop and maximum number of operations nop for various candidate
physical realizations of interacting systems of quantum bits. . . . . . 49
3.2 Opérateurs de correction d'erreurs . . . . . . . . . . . . . . . . . . . . 58
iv
Liste des gures
1.1 Architecture de Von Neumann. . . . . . . . . . . . . . . . . . . . . . 4
1.2 Représentation schématique d'une diode . . . . . . . . . . . . . . . . 10
1.3 Représentation schématique du transistor . . . . . . . . . . . . . . . 11
1.4 Représentation schématique et symbole de la porte NAND . . . . . . 12
1.5 Représentation schématique et symbole de la porte NOR . . . . . . . 13
1.6 Loi de Moore : évolution du nombre de transistors dans une puce Intel 14
1.7 Nombres d'atomes nécessaires pour représenter 1 bit d'information
en fonction de l'année. Dans ce mode semi-logarithmique, la droite
indique qu'on a une évolution exponentielle. Par extrapolation, on en
déduit que le niveau 1 atome pour 1 bit sera atteint aux environs de
2020. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Représentation géométrique d'un qubit par une sphère de Bloch. . . . 19
2.2 Schéma du principe de calcul quantique . . . . . . . . . . . . . . . . . 21
2.3 Représentation schématique d'une porte PHASE Z . . . . . . . . . . 22
2.4 Représentation schématique d'une porte ROTATION Y . . . . . . . 22
2.5 Représentation schématique d'une porte NOT . . . . . . . . . . . . . 23
2.6 Représentation schématique d'une porte de Hadamard . . . . . . . . 23
2.7 Circuit d'une porte Controlled-NOT . . . . . . . . . . . . . . . . . . 25
2.8 Circuit calculant en parallèle toutes les valeurs possibles (f(0) et f(1))
d'une fonction f(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 Circuit calculant en parallèle toutes les valeurs possibles d'une fonc-
tion f(x) avec N qubits. Le l avec un  /  dans ce circuit représente
un ensemble de n qubits. . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.10 Ouverture d'un cadenas classique . . . . . . . . . . . . . . . . . . . . 28
2.11 Ouverture d'un cadenas quantique . . . . . . . . . . . . . . . . . . . . 28
2.12 Circuit quantique de l'algorithme de Deutsch . . . . . . . . . . . . . . 32
2.13 Circuit quantique de l'algorithme généralisé de Deutsch-Jozsa. . . . . 33
2.14 Circuit de la transformée de Fourier quantique . . . . . . . . . . . . . 37
2.15 Le circuit quantique de l'algorithme de Grover. . . . . . . . . . . . . . 42
2.16 Interprétation géométrique de l'algorithme de Grover. . . . . . . . . . 43
3.1 Binary symmetric channel. . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Circuit d'encodage du code bit-ip à 3 qubits . . . . . . . . . . . . . 57
v
Résumé
La puissance de calcul des ordinateurs classiques est expliquée par les progrès
technologiques constamment réalisés dans le domaine de la miniaturisation des com-
posants électroniques (transistors) suivant un rythme exponentiel de la loi de Moore.
Cependant, cette loi porte en elle-même une limitation intrinsèque : si les
transistors deviennent de plus en plus petits, les eets quantiques commenceront à
apparaître et imposeront une barrière infranchissable pour améliorer la puissance
de calcul.
Une solution envisageable à ce dé lié à cette miniaturisation est de changer
radicalement l'architecture des ordinateurs classiques et d'adopter une autre
architecture capable de mettre à prot ces eets quantiques et mener à bien des
calculs plus rapidement que l'ordinateur classique. Une telle architecture est un
ordinateur quantique.
Dans notre travail, nous avons montré l'apport de la mécanique quantique
dans la réalisation d'un tel ordinateur fonctionnant au-delà de la loi empirique de
Moore. Un ordinateur quantique tire sa puissance de calcul dans les phénomènes de
l'intrication, de la superposition et du parallélisme quantiques. Ceci est bien illustré
par l'algorithme de factorisation de Shor et l'algorithme de recherche de Grover.
Les diérentes approches expérimentales mises en ÷uvre pour l'implémentation
physique du calcul quantique ont en commun un même obstacle : la décohérence.
vi
Abstract
The computing power of classical computers is explained by technological
advances constantly made in the area of miniaturization of electronic components
(transistors) at an exponential rate of Moore's Law.
However, this law carries within itself an intrinsic limitation : if the transistors
become smaller and smaller, quantum eects begin to appear and impose an
insurmountable barrier to improve the computing power.
One possible solution to this challenge linked to this miniaturization is
to radically change the architecture of classical computers and adopt another
architecture that is able to make prot these quantum eects and carry out compu-
tations faster than the classical computer. Such architecture is a quantum computer.
In our work, we have shown the contribution of quantum mechanics in the
realization of such a computer running beyond the empirical law of Moore. A
quantum computer gets its computing power from the phenomena of entanglement,
superposition and quantum parallelism. This is well illustrated by Shor's factoring
algorithm and Grover's search algorithm.
The dierent experimental approaches used for the physical implementation of
quantum computing have in common a same obstacle : decoherence.
vii
Table des matières
Dédicace i
Remerciements ii
Liste des sigles et abréviations iii
Liste des tableaux iv
Table des gures v
Résumé vi
Abstract vii
Table des matières viii
Introduction générale 1
1 Concept de l'ordinateur classique 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L'aspect matériel des composants de l'ordinateur . . . . . . . . . . . 3
1.2.1 Architecture de Von Neumann . . . . . . . . . . . . . . . . . . 3
1.2.2 Unité centrale ou processeur . . . . . . . . . . . . . . . . . . . 4
1.2.3 Structure du microprocesseur . . . . . . . . . . . . . . . . . . 4
1.2.3.1 L'unité de commande ou Séquenceur . . . . . . . . . 5
1.2.3.2 Unité de traitement . . . . . . . . . . . . . . . . . . 5
1.2.4 Principe de fonctionnement du microprocesseur . . . . . . . . 5
1.2.5 Les mémoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.6 Caractéristiques techniques d'une mémoire . . . . . . . . . . . 6
1.2.7 La mémoire vive et RAM ou mémoire lecture/écriture . . . . . 6
1.2.8 Opérations sur la mémoire . . . . . . . . . . . . . . . . . . . . 7
1.2.9 La mémoire morte ou mémoire à lecture seule, ROM . . . . . 7
1.2.10 Le bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 L'aspect logiciel de l'ordinateur classique . . . . . . . . . . . . . . . . 8
1.4 Codage de l'information . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Le transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Les semi-conducteurs . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.2 Fonctionnement d'un transistor . . . . . . . . . . . . . . . . . 11
viii
1.6 Les portes logiques universelles . . . . . . . . . . . . . . . . . . . . . 11
1.6.1 La porte NAND . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.2 La porte NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Les grands dés de l'ordinateur classique . . . . . . . . . . . . . . . . 13
1.7.1 Les limites de la Loi de Moore . . . . . . . . . . . . . . . . . . 13
1.7.2 Factorisation des grands nombres . . . . . . . . . . . . . . . . 14
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Concept de l'ordinateur quantique 17
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Qu'est-ce qu'un ordinateur quantique? . . . . . . . . . . . . . . . . . 17
2.3 Eléments quantiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Les bits quantiques et mesure quantique . . . . . . . . . . . . 18
2.3.2 Calcul quantique et portes logiques quantiques . . . . . . . . . 20
2.3.2.1 Le calcul quantique . . . . . . . . . . . . . . . . . . . 20
2.3.2.2 Les portes logiques quantiques à un seul qubit . . . . 21
2.3.2.3 Les portes logiques quantiques à deux qubits . . . . . 23
2.4 Puissance de calcul quantique . . . . . . . . . . . . . . . . . . . . . . 25
2.4.1 Intrication et mesure quantique . . . . . . . . . . . . . . . . . 25
2.4.2 La superposition et le parallélisme quantiques . . . . . . . . . 26
2.4.3 Théorème de non-clonage . . . . . . . . . . . . . . . . . . . . 29
2.5 Algorithmes quantiques et applications . . . . . . . . . . . . . . . . . 30
2.5.1 L'algorithme de Deutsch-Jozsa . . . . . . . . . . . . . . . . . . 30
2.5.1.1 La solution classique . . . . . . . . . . . . . . . . . . 31
2.5.1.2 La solution probabiliste . . . . . . . . . . . . . . . . 31
2.5.1.3 Algorithme de Deutsch . . . . . . . . . . . . . . . . . 31
2.5.1.4 Algorithme de Deutsch-Jozsa . . . . . . . . . . . . . 32
2.5.2 Algorithme de Shor . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5.2.1 Transformée de Fourier quantique . . . . . . . . . . . 35
2.5.2.2 Une description détaillée de l'algorithme de Shor . . 38
2.5.3 Algorithme de recherche de Grover . . . . . . . . . . . . . . . 40
2.5.3.1 Position du problème . . . . . . . . . . . . . . . . . . 40
2.5.3.2 Formulation mathématique du problème . . . . . . . 40
2.5.3.3 Procédure de l'algorithme . . . . . . . . . . . . . . . 41
2.5.3.4 Représentation géométrique et détermination du
nombre d'itérations . . . . . . . . . . . . . . . . . . . 42
2.5.4 Simulation de la nature . . . . . . . . . . . . . . . . . . . . . . 44
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3 Implémentation physique du calcul quantique 46
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2 Les critères de DiVincenzo . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.1 Un système physique évolutif d'un et de plusieurs qubits bien
caractérisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.2 La capacité d'initialiser l'état des qubits à un état de repère
simple, comme |0...0 . . . . . . . . . . . . . . . . . . . . . . 47
ix
3.2.3 Longues durées de décohérence pertinentes, beaucoup plus
long que le temps de fonctionnement de la porte . . . . . . . . 47
3.2.4 Un ensemble universel de portes logiques quantiques . . . . 49
3.2.5 Une capacité de mesures spéciques pour chaque qubit . . . . 50
3.3 Approches expérimentales . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.1 Les circuits supraconducteurs . . . . . . . . . . . . . . . . . . 51
3.3.2 La résonance magnétique nucléaire en solution-RMN . . . . . 53
3.3.3 Les ions piégés . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 Codes de correction d'erreurs quantiques . . . . . . . . . . . . . . . . 54
3.4.1 Code classique simple . . . . . . . . . . . . . . . . . . . . . . 54
3.4.2 Codes de correction d'erreurs quantiques . . . . . . . . . . . . 55
3.4.2.1 Récupération d'un état quantique . . . . . . . . . . . 56
3.4.2.2 Exemples de correction d'erreur quantique . . . . . . 57
3.4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Conclusion Générale et Perspectives 60
Bibliographie 62
x
Introduction générale
A l'heure actuelle, la miniaturisation des composants utilisés dans les ordina-
teurs permet d'augmenter leur puissance de calcul. En 1965, Gordon E. Moore,
co-fondateur de la société Intel, publia dans la revue Electronics Magazine un
article dans lequel il constata que le nombre de transistors dans les microprocesseurs
doublait environ tous les deux ans depuis leur invention [30]. Ce constat, connu sous
le nom de la loi de Moore, a expliqué l'augmentation exponentielle de la puissance
de calcul. Cependant, cette miniaturisation ne peut pas continuer sans limite. Si les
transistors deviennent de plus en plus petits, en-dessous d'une certaine limite, les
eets de la mécanique quantique commenceront à apparaitre. Ces eets imposeront
une barrière infranchissable à l'amélioration de la puissance des ordinateurs
modernes, si ce n'est pas déjà le cas. Conscients de cette barrière technologique, les
chercheurs n'ont cessé de penser comment mettre à prot les propriétés quantiques
de la matière. C'est ainsi que des chercheurs [45, 55, 73] émirent l'hypothèse de
réaliser un ordinateur quantique dont le fonctionnement est basé sur la mécanique
quantique.
C'est sans doute, le physicien Richard Feynman [71], qui, en 1982, fut le
premier à révéler les avantages que présenterait un tel ordinateur. La supériorité de
l'ordinateur quantique sur l'ordinateur classique a été montrée pour la première fois
par Peter Shor de Bells laboratories en 1994 [67]. Il inventa un algorithme quantique
permettant la factorisation d'un entier en facteurs premiers en un temps dépendant
de façon polynomiale de la taille de l'entier, alors que les meilleurs algorithmes
classiques requièrent une dépendance exponentielle. En utilisant cet algorithme, un
ordinateur quantique serait capable de casser les codes de la cryptographie basée
sur la factorisation en un peu de temps que ne le ferait un ordinateur classique.
D'autres algorithmes quantiques, plus rapides que leurs homologues classiques,
ont été depuis proposés comme l'algorithme de Grover [52, 53], eectuant une
recherche dans une base de données. Avec la motivation donnée par ces algorithmes,
l'ordinateur quantique commença à intéresser la communauté scientique [25].
A part que l'ordinateur quantique semble être l'avenir de l'ordinateur classique
sur sa piste de miniaturisation, il est important de noter qu'il y a plus de raisons
de s'intéresser à l'ordinateur quantique. Selon les connaissances actuelles, notre
monde physique présente deux paties : la partie classique et la partie quantique.
Or, les ordinateurs classique sont des dispositifs dont le fonctionnement est
basé sur les lois de la physique classique. Donc, ces ordinateurs n'exploitent pas
entièrement les potentialités du monde physique pour le traitement de l'information.
1
INTRODUCTION GENERALE
Notre sujet de mémoire traitera de cette problématique. En eet, c'est dans le
but d'explorer le monde physique et comprendre comment les lois de la physique
quantique peuvent être mises au service de la réalisation théorique et pratique de
l'ordinateur qui fonctionnera au-delà de la loi empirique de Moore que se situe ce
mémoire.
Ainsi, dans le premier chapitre, nous nous attarderons principalement à pré-
senter l'architecture de base de l'ordinateur classique. C'est dans ce chapitre que
seront abordés l'aspect matériel et logiciel, les portes logiques universelles réalisées
à l'aide des transistors ainsi que les grands dés de l'ordinateur classique.
Le deuxième chapitre constitue quant à lui un aperçu des notions fondamentales
concernant l'ordinateur quantique. C'est dans ce chapitre que jaillira la lumière sur
la contribution de la physique quantique pour le fonctionnement de l'ordinateur
quantique. Nous verrons dans ce chapitre la dénition de l'ordinateur quantique,
ses éléments, sa puissance ainsi que certains algorithmes quantiques célèbres.
L'implémentation physique de l'ordinateur quantique fera objet du dernier cha-
pitre de ce mémoire. Les critères nécessaires pour la réalisation de l'ordinateur quan-
tique, les diérentes approches expérimentales, ainsi que les codes de corrections
d'erreurs y seront discutés. Une conclusion générale et des perspectives clôtureront
notre travail.
2
Chapitre 1
Concept de l'ordinateur classique
1.1 Introduction
Dans cette partie, nous décrivons l'architecture de base d'un ordinateur. Ce der-
nier est une machine électronique qui traite de l'information c'est-à-dire une machine
capable d'acquérir une information, de la stocker, de la transformer en eectuant
des traitements quelconques et puis de la restituer sous une autre forme. Nous allons
passer donc en revue ici la nature des composants de l'ordinateur en distinguant leur
aspect matériel et leur aspect logiciel. Nous allons terminer le chapitre en présentant
les dés de l'ordinateur classique.
1.2 L'aspect matériel des composants de l'ordina-
teur
Les travaux réalisés par le mathématicien hongrois Von Neumann et ses colla-
borateurs constituent le fondement de l'architecture dans la quasi-totalité des ordi-
nateurs contemporains [7]. Le schéma général et simplié de l'architecture de Von
Neumann est présenté sur la gure 1.1 [41].
1.2.1 Architecture de Von Neumann
L'architecture, dite de Von Neumann décompose l'ordinateur en quatre parties :
1. Le processeur ou Unité Centrale, appelé familièrement puce est composé de
deux unités :
• une unité arithmétique et logique (UAL) ou tout simplement une unité de
traitement. Son rôle est d'eectuer des opérations de base.
• une unité de contrôle chargée des séquençages des opérations.
2. La mémoire qui contient à la fois les données et les programmes exécutés par
l'unité de contrôle. La mémoire se divise en deux parties : la mémoire volatile
ou RAM contenant des programmes et des données en cours de traitement et
la mémoire permanente ou ROM qui stocke programmes et données de base
de la machine.
3
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
3. Les dispositifs d'entrée-sorties qui permettent de communiquer avec le monde
extérieur.
4. Le bus qui relie les diérents composants.
Figure 1.1  Architecture de Von Neumann.
Dans la partie suivante, nous allons détailler chacun des composants de cette archi-
tecture, an de comprendre comment fonctionne un ordinateur.
1.2.2 Unité centrale ou processeur
Le processeur (ou CPU) est le c÷ur d'un ordinateur. Il s'agit d'un circuit intégré
qui interprète les instructions et traite les données d'un programme.
Il est caractérisé par :
 La fréquence de son horloge. Toute activité de l'ordinateur est synchronisée
sur le rythme imposé par cette horloge de façon à ce que tous ses circuits
électroniques travaillent en cadence. La fréquence de cette horloge s'exprime
en hertz (MHz ou GHz).
 la largeur de ses registres exprimée en bits (8, 16, 32, 64, 128 bits)
 son nombre de noyaux de calcul.
 son jeu d'instruction
 sa nesse de gravure exprimée en nm ( nanomètres).
1.2.3 Structure du microprocesseur
Le microprocesseur exécute les instructions constituant le programme. Cette
tâche nécessite plusieurs interventions qui sont classées en général dans deux blocs
diérents : l'unité de contrôle et l'unité de traitement associées à des registres chargés
de stocker les diérentes informations à traiter.
4
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
1.2.3.1 L'unité de commande ou Séquenceur
Elle permet de séquencer le déroulement des instructions. Elle eectue la re-
cherche en mémoire de l'instruction. Comme chaque instruction est codée sous forme
binaire, elle assure le codage pour enn superviser son exécution puis eectuer la
préparation de l'instruction suivante.
L'unité de commande est composée par :
1. un compteur de programme (compteur ordinal). Il s'agit d'un registre qui sert
à stocker en permanence l'adresse de l'instruction suivante.
2. un registre d'instruction . C'est dans ce registre que seront amenées, l'une
après l'autre, les instructions à exécuter par le processeur.
3. un décodeur d'instruction : chacune des instructions à exécuter est rangée dans
le registre puis est décodée par le décodeur d'instruction.
4. un bloc logique de commande : il organise l'exécution des instructions au
rythme d'une horloge. Il élabore tous les signaux de synchronisation interne ou
externe (bus de commande) du microprocesseur en fonction des divers signaux
de commande provenant du décodeur d'instruction.
1.2.3.2 Unité de traitement
C'est le c÷ur du microprocesseur. Elle regroupe les circuits qui assurent les
traitements nécessaires à l'exécution des instructions. Elle est composée par :
1. un registre d'état : il sert à stocker le contexte du processeur, ce qui veut
dire que les diérents bits de ce registre sont des drapeaux  ags  servant
à stocker des informations concernant le résultat de la dernière instruction
exécutée.
2. une unité arithmétique et logique (UAL). Comme son nom l'indique, l'UAL est
véritablement l'organe de calcul de la machine. Elle prend en charge les calculs
arithmétiques élémentaires (addition, soustraction, division, multiplication).
Elle est constituée de circuits électroniques câblés une fois pour toute pour
transformer les données d'une entrée vers le résultat escompté.
3. un accumulateur. Celui-ci est un registre utilisé pour stocker les données en
cours de traitement par l'UAL. Il constitue la seule entrée des circuits réalisant
les opérations binaires.
1.2.4 Principe de fonctionnement du microprocesseur
Pour chaque instruction, le processeur eectue les opérations suivantes :
1. lire dans la mémoire principale l'instruction à exécuter : le processeur transmet
à la mémoire l'adresse de l'instruction à lire, autrement dit le contenu du
compteur ordinal et déclenche une opération de lecture. Il reçoit en retour une
copie de l'instruction qu'il stocke dans son registre d'instruction.
2. le décodage : le processeur examine le contenu du registre d'instruction et
détermine l'opération à eectuer. Si le contenu de registre ne correspond pas
à une instruction valide, c'est une erreur.
5
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
3. l'exécution : le processeur eectue l'opération décrite par l'instruction. Cette
exécution fait appel à l'UAL. Cet opérateur eectue des calculs sur les données
stockées dans des registres de calcul ou accumulateurs.
4. passer à l'instruction suivante : le processeur calcule l'adresse de l'instruction
suivante.
Après le microprocesseur, la mémoire est sans doute le composant le plus impor-
tant dans un ordinateur.
1.2.5 Les mémoires
Une mémoire est un composant électronique permettant de stocker l'information
sous une forme binaire.
Un ordinateur est composé de plusieurs types de mémoires. Nous pouvons distin-
guer la mémoire principale à l'interne et les mémoires périphériques appelées aussi
mémoires secondaires. La mémoire principale comporte une partie de mémoire vive
et une partie de mémoire morte. Les mémoires secondaires sont des mémoires de
grande capacité qui permettent de stocker les informations pour une plus longue
période que ne le fait la mémoire principale de capacité plus limitée. Ce sont par
exemple les disques durs externes, clé USB, etc.
1.2.6 Caractéristiques techniques d'une mémoire
Pour apprécier une mémoire, nous préférons certaines caractéristiques dont les
suivantes :
 La capacité : nombre total de bits que contient la mémoire.
 La taille du mot mémoire : nombre de bits que l'on peut mémoriser par case
mémoire. On parle de largeur du mot mémorisable.
 Le temps d'accès : le temps qui s'écoule entre l'instant où a été lancée une opé-
ration de lecture/écriture en mémoire et l'instant où la première information
est disponible sur le bus des données.
 Le temps de cycle : il représente l'intervalle minimum qui doit séparer deux
demandes successives de lecture ou d'écriture.
 Le débit : nombre maximum d'informations lues ou écrites par seconde.
 La volatilité : elle caractérise la permanence des informations dans la mémoire.
1.2.7 La mémoire vive et RAM ou mémoire lecture/écriture
Ce type de mémoire sert à stocker temporairement les données. Elle doit avoir
un temps de cycle très court pour ne pas ralentir le microprocesseur. Les mémoires
vives sont en général volatiles, elles perdent leurs informations en cas de coupure
d'alimentation électrique.
6
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
1.2.8 Opérations sur la mémoire
Seul le processeur peut modier l'état de la mémoire. Chaque emplacement de
la mémoire conserve les informations que le processeur y écrit jusqu'à la coupure
de l'alimentation électrique, où tout le contenu est perdu. Les seules opérations
possibles sur la mémoire sont :
 écriture à un emplacement : le processeur donne une valeur et une adresse, et
la mémoire range la valeur à l'emplacement indiqué par l'adresse;
 lecture d'un emplacement : le processeur demande à la mémoire la valeur
contenue à l'emplacement dont il indique l'adresse. Le contenu de l'emplace-
ment auquel le processeur accède en lecture demeure inchangé.
Il existe deux types de mémoires RAM qui se distinguent par leurs techniques
de fabrication : les statiques et les dynamiques. Une mémoire RAM dite statique
est basée sur l'utilisation d'un bistable de 2 transistors utilisés pour représenter un
élément de mémorisation. Le bistable maintient un état électrique représentant une
information binaire sans inuence extérieure. A chacun des états, un des transistors
est saturé et l'autre est bloqué et seule l'application d'une tension électrique peut
changer l'état du bistable. Une mémoire statique tire donc son nom du fait qu'un
état stable soit maintenu sans intervention extérieure. Par contre, les mémoires
dites dynamiques sont basées sur l'utilisation d'un condensateur qui maintient
entre ses électrodes une certaine tension. Comme le condensateur se décharge, il
faut donc procéder à un rafraîchissement périodique de la mémoire. Ce qui veut
dire qu'une lecture est suivie d'une réécriture de la mémoire régulièrement pour
maintenir l'état d'une mémoire dynamique.
Pour certaines applications, il est nécessaire de pouvoir conserver des informa-
tions de façon permanente même si l'ordinateur n'est pas sous une tension électrique.
Dans ce cas, les mémoires non volatiles sont utilisées.
1.2.9 La mémoire morte ou mémoire à lecture seule, ROM
Une mémoire ROM est d'abord un circuit intégré. Cela veut dire qu'il s'agit
d'un ensemble de circuits inter-reliés dans le but d'exécuter une fonction. Dans ce
cas, il s'agit d'une mémoire capable de stocker des données de façon permanente et
de les restituer au besoin. C'est une mémoire qui ne peut qu'être lue. La ROM est
un emplacement idéal pour mettre les instructions de démarrage de l'ordinateur,
c'est-à-dire le BIOS (Basic Input Output System) qui constitue la couche basse
de tous les systèmes d'exploitation sur les PC [27]. Elle est donc responsable de la
gestion du matériel : écran, clavier, disques durs, etc.
Il existe des variantes de mémoires ROM qui peuvent être programmées par
l'utilisateur. Ce sont les PROM (Programmable ROM), parmi lesquelles nous dis-
tinguons :
 les  EPROM (Erasable PROM). Il s'agit d'une mémoire dont le contenu
peut être eacé lorsqu'il est soumis à un rayonnement ultraviolet, autorisant
ainsi une nouvelle programmation.
7
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
 les  EEPROM (Electrically Erasable PROM). Il s'agit d'une mémoire ROM
ayant l'avantage d'être eaçable électriquement.
La communication entre les blocs de l'ordinateur est facilitée par les organes de
liaison appelés bus.
1.2.10 Le bus
Il s'agit d'un ensemble de ls permettant le transport de plusieurs bits en pa-
rallèle. Le nombre de ls est égal au nombre de bits à transmettre en parallèle. Sur
le schéma de la gure 1.1 de la section 1.2.1 gurent ainsi trois bus dont les noms
désignent le type d'informations qu'ils transportent :
 un bus de données/résultats qui assure le transfert des informations entre
la mémoire centrale et l'unité de traitement et inversement. Il est donc bi-
directionnel. Son nombre de lignes est égal à la capacité du traitement du
microprocesseur.
 un bus d'adresse (instructions) unidirectionnel qui fait transiter les instruc-
tions élémentaires des mots mémoire vers le registre d'instruction de l'unité de
commande.
 un bus de commande qui sert à transmettre les demandes d'éxecution
d'opérations de l'unité de commande vers l'unité de traitement.
L'aspect matériel (Hardware) et l'aspect logiciel (Software) sont indissociables,
l'un ne peut fonctionner sans l'autre. Ce dernier mérite également d'être décrit
sommairement.
1.3 L'aspect logiciel de l'ordinateur classique
La partie logicielle d'un ordinateur est constituée de l'ensemble de codes stockés
dans sa mémoire, et plus particulièrement de ses programmes. Mais, depuis le dé-
but de l'information, les codes se sont superposés les uns sur les autres, constituant
ce qu'on appelle  couches logicielles  [41]. Le logiciel est réparti en deux enti-
tés : le logiciel de base, d'une part, et le logiciel d'application, d'autre part. Comme
son nom l'indique, le logiciel d'application recouvre des milliers d'applications dif-
férentes. Quant au logiciel de base, sa dénomination fait penser qu'il constitue la
base ou le socle des diverses couches logicielles indispensables au fonctionnement de
l'ordinateur. Parmi les logiciels les plus usuels, il en est un qui est devenu indispen-
sable à tous les ordinateurs actuels : c'est le système d'exploitation. Il s'agit d'un
ensemble de programmes qui assurent les fonctions de base de l'ordinateur. Sans
ces programmes constituant le système d'exploitation, l'ordinateur ne pourrait pas
marcher et les logiciels d'application ne pourraient pas s'exécuter.
Ses rôles principaux sont les suivants :
 fournir une  interface  entre l'ordinateur et l'utilisateur pour permettre à
ce dernier de donner des ordres à la machine ou pour lui signaler les erreurs
d'exécution.
8
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
 gérer les  ressources  de l'ordinateur tels que ses mémoires, son micropro-
cesseur et ses périphériques.
 masquer les particularités de la machine en substituant aux ressources phy-
siques des abstractions indépendantes de la nature du support sur lequel les
données sont réellement stockées.
En résumé, le système d'exploitation est la couche logicielle de base qui s'intercale
toujours entre l'utilisateur et le matériel. Ainsi, pour passer du logiciel au matériel,
l'information doit être codée.
1.4 Codage de l'information
Tout au début du chapitre nous avons évoqué qu'un ordinateur est une machine
qui traite l'information. L'unité de base de cette information classique est le bit,
contraction de Binary digit, qui signie en anglais nombre binaire. Un bit est
un composant quelconque ne pouvant se trouver que dans deux états possibles,
exclusifs l'un de l'autre [27].
Le codage d'une information consiste à établir une correspondance entre la
représentation externe (habituelle) de l'information et sa représentation interne
dans la machine. Nous utilisons la représentation binaire car elle est simple, facile à
réaliser techniquement à l'aide des bistables (système à deux états réalisés à l'aide
des transistors).
Le traitement de l'information correspond alors au traitement d'un ensemble de
bits, et s'eectue par l'intermédiaire des portes logiques que nous exposerons dans
la section 1.6. Ces portes logiques prennent en entrée un certain nombre de bits,
disons n, et fournissent en sortie un résultat sur m bits. Physiquement, ces circuits
sont réalisés à l'aide des transistors et autres puces électroniques, où un bit à 0
correspond à un faible potentiel, et un bit à 1 à un fort potentiel (le plus souvent)
[59].
1.5 Le transistor
Le composant élémentaire d'un circuit électronique est le transistor [65]. Des
transistors sont alors regroupés et agencés pour remplir une certaine fonction, for-
mant des circuits logiques élémentaires appellés  portes logiques . Ce sont ces
portes logiques, reliées les unes aux autres, qui forment l'ossature de la carte mère,
et assurent le fonctionnement de l'ordinateur. Dans cette section, nous expliquerons
le fonctionnement d'un transistor ainsi que la façon de réaliser des portes logiques
avec des transistors. La technologie utilisée pour fabriquer les microprocesseurs est
la technologie MOS (Metal Oxyde Semi-conductor). Nous allons expliquer d'abord
en quoi consiste un semi-conducteur.
9
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
1.5.1 Les semi-conducteurs
Les semi-conducteurs sont des éléments qui possèdent 4 électrons de valence sur
la dernière couche. Il s'agit du silicium (Si), du germanium (Ge) ou un mélange
d'éléments ayant 3 et 5 électrons de valence comme l'arséniure de gallium AsGa (le
gallium avec 3 électrons et arsenic avec 5 électrons).
Ces semi-conducteurs sont très utilisés dans la fabrication des composants élec-
troniques de l'ordinateur. Parmi ces semi-conducteurs nous en distinguons 2 types
suivant qu'ils sont intrinsèques ou dopés :
1. Les semi-conducteurs intrinsèques. Dans un cristal de silicium pur, les atomes
forment 4 liaisons covalentes avec 4 autres atomes voisins. Leurs couches ex-
ternes sont saturées en partageant les électrons. Naturellement, la structure
du cristal est stable et le silicium n'est pas conducteur du courant électrique.
Cependant, une fois que la température augmente, les électrons acquièrent de
l'énergie supplémentaire qui provoque la rupture de certaines liaisons cova-
lentes et deviennent libres. Dans ce cas, le silicium devient un peu conducteur,
d'où le nom de semi-conducteur.
2. Les semi-conducteurs dopés. Le silicium peut être dopé en introduisant des
impuretés dans le cristal. Nous distinguons deux types de dopage suivant la
nature des éléments ajoutés au silicium.
Si le dopage est réalisé en remplaçant un atome de silicium dans le cristal par
un élément ayant 5 électrons de valence, nous parlons de semi-conducteur
de type n. L'atome ayant 5 électrons de valence forme 4 liaisons covalentes
et garde un électron libre.
Si le dopage est réalisé en remplaçant un atome de silicium dans le
cristal par un élément ayant 3 électrons de valence, nous parlons de
semi-conducteur de type p. L'atome ayant 3 électrons de valence ne peut
que former 3 liaisons covalentes et garde un trou d'électron.
La combinaison de ces deux types ( p et n) donne une jonction appelée une diode
dont le symbole est représenté sur la gure 1.2. La partie du type n est appelée
cathode (C) tandis que la partie du type p est appelée anode (A). Dans une diode,
le courant électrique ne circule que dans un seul sens.
Figure 1.2  Représentation schématique d'une diode
Il existe deux types de transistors MOS : les transistors de types n et les tran-
sistors de type p. Les microprocesseurs actuels utilisent des transistors des deux
types. Nous parlons alors de technologie CMOS (Complementary Metal Oxyde Semi-
conductor).
10
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
1.5.2 Fonctionnement d'un transistor
Le transistor comporte trois parties (Figure 1.3) [65] :
1. Le collecteur (drain) est la sortie du transistor, il est relié au l d'où vient la
tension Vcc (5 volts de courant continus) de l'alimentation.
2. L'émetteur (source) est relié à la masse (0 volts).
3. La base (grille) constitue la connexion d'entrée. Tout dépend de la tension Ve
qui lui est appliquée :
 Si aucune tension n'est appliquée à la base (Ve = 0V ), le transistor bloque le
courant entre collecteur et émetteur, et la sortie passe à la tension Ve = 5V .
 Si une tension (Ve = 5V ) est appliquée sur la base en entrée, le courant
passe entre le collecteur et l'émetteur, ce qui met la sortie à la masse, soit
Vs = 0V .
Figure 1.3  Représentation schématique du transistor
C'est avec ces transistors que sont réalisées les portes logiques. Dans la suite,
nous allons introduire les portes logiques universelles.
1.6 Les portes logiques universelles
Il existe deux portes logiques NAND et NOR dites  portes logiques univer-
selles du fait qu'elles permettent, par diverses combinaisons possibles, de construire
n'importe quelle autre porte logique. La possibilité de telles portes universelles ex-
plique d'une part la miniaturisation remarquable des ordinateurs contemporains
étant donné que les constructeurs de ces derniers n'ont besoin que de se focaliser sur
la miniaturisation d'un seul type de porte [11, 17].
1.6.1 La porte NAND
La porte NAND comporte deux transistors n et deux transistors p. Les deux
transistors sont en série entre la masse et la sortie, les deux autres transistors p sont
en parallèle entre l'alimentation et la sortie (Figure 1.4). Les grilles d'un transistor
n et d'un transistor p sont connectées à l'entrée a. Les grilles de l'autre transistor n
et de l'autre transistor p sont connectées à l'entrée b. La sortie est donc reliée à la
masse.
11
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
La porte NAND est toutefois irréversible : puisque cette porte a moins de bits de
sortie que les bits d'entrées, connaissant le bit de sortie il est impossible de dire quel
était la valeur des bits d'entrée. Ainsi, pour chaque utilisation de cette opération,
un bit d'information est eacé de façon irrécupérable. Au contraire, dans le calcul
réversible aucune information n'est eacée du fait que l'entrée peut être récupérée
à partir de la sortie. Cependant l'irréversibilité du calcul est en relation avec la
consommation de l'énergie. En raison du principe de Landauer, il y a dissipation
d'énergie quand une information est eacée [10, 37].
Figure 1.4  Représentation schématique et symbole de la porte NAND
Entrée Sortie
a b a.b
0 0 1
0 1 1
1 0 1
1 1 0
Tableau 1.1  Table de vérité d'une porte NAND
1.6.2 La porte NOR
La porte NOR est constituée de quatre transistors dont deux n-MOS et deux
autres p-MOS. C'est le circuit dual du circuit de la porte NAND. Les deux transistors
p-MOS qui étaient en parallèle dans le circuit de la porte NAND sont en série dans
le circuit de la porte NOR. Au contraire, les deux transistors n-MOS qui étaient en
série dans le circuit de la porte NAND sont en parallèle dans le circuit de la porte
NOR (Fig.1.5).
12
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
Entrée Sortie
a b a + b
0 0 1
0 1 0
1 0 0
1 1 0
Tableau 1.2  Table de vérité d'une porte NOR
Figure 1.5  Représentation schématique et symbole de la porte NOR
Jusqu'ici, nous avons présenté l'architecture de base de l'ordinateur au sens déni
dans l'introduction. Cependant l'ordinateur que nous avons décrit, même si il existe
avec des performances que nous jugeons acceptables, a pourtant ses dés. La section
suivante fera objet d'étude des grands dés de l'ordinateur classique.
1.7 Les grands dés de l'ordinateur classique
1.7.1 Les limites de la Loi de Moore
 No exponential is forever. Your job is to delay forever., Andrew Gordon
Moore.
La partie matérielle de l'ordinateur a connu une croissance étonnante en
ce qui concerne la puissance des microprocesseurs depuis 1971, date à laquelle
est commercialisé le premier microprocesseur Intel 4004 doté de 2300 transistors [32].
Un certain jour en 1965, lorsque Gordon Moore, co-fondateur de l'Intel, préparait
son exposé à propos de la performance des puces de mémoires, il constata que la
densité des transistors sur une puce avait doublé environ tous les 2 ans depuis leur
invention en 1947 par John Bardeen, Walter Brattain et Will Shockley [40]. Cette
conjecture est connue sous le nom de la loi de Moore. De façon remarquable, cette
conjecture a continué de se vérier au cours du temps, montrant certes un écart à
la loi postulée originellement par Moore mais témoignant cependant de la justesse
de son intuition (Fig. 1.6)[39].
13
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
Cependant, la loi de Gordon Moore porte en elle-même une limitation intrin-
sèque. En eet, à un moment donné les transistors ne feront que quelques atomes
d'épaisseur (Fig. 1.7) [11].
Une fois donc descendu en dessous de la taille minimale du transistor, les eets
quantiques qui ne sont pas pris en compte par la théorie de l'informatique actuelle
deviennent importants. Dans ce cas, seule la mécanique quantique peut être utilisée
pour décrire les phénomènes physiques tels que le comportement électrique des
matériaux.
Conscients de cette barrière technologique inéluctable, des chercheurs en informa-
tique se demandent comment construire un ordinateur qui fonctionnera au-delà de
cette barrière. Une solution envisageable à ce dé serait l'utilisation des ordinateurs
fonctionnant à base des lois qui régissent le monde quantique.
Figure 1.6  Loi de Moore : évolution du nombre de transistors dans une puce Intel
En plus de ce dé lié au matériel, il existe un autre dé lié à la sécurité des
données. L'exemple illustratif est de celui de la factorisation des grands nombres.
1.7.2 Factorisation des grands nombres
Jusqu'aujourd'hui, les ordinateurs classiques ont connu des progrès fantastiques.
Ils ont atteint un niveau de performance et de compacité remarquable. Aussi puis-
santes que soient ces machines, il existe pourtant des problèmes  diciles  qu'elles
ne peuvent pas traiter ecacement. Parmi ces problèmes nous pouvons citer celui
de la factorisation des grands nombres.
14
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
Figure 1.7  Nombres d'atomes nécessaires pour représenter 1 bit d'information
en fonction de l'année. Dans ce mode semi-logarithmique, la droite indique qu'on a
une évolution exponentielle. Par extrapolation, on en déduit que le niveau 1 atome
pour 1 bit sera atteint aux environs de 2020.
En particulier, la méthode RSA, utilisée dans les transmissions bancaires par
exemples, repose sur ce fait : on fait transiter publiquement un très grand nombre
que l'on sait être produit de deux nombres premiers. La connaissance d'un de
ces nombres permettrait de casser la sécurité de la transmission, mais vu que la
complexité de ce problème s'accroit rapidement (exponentiellement) avec la taille
(nombre de bits) du nombre à factoriser, on considère que la transmission est sûre.
En eet, si l'on veut factoriser un nombre de 300 chires, il faut eectuer,
grâce aux méthodes actuelles 1026
opérations. Si pour réaliser ces opérations, on
utilise l'ordinateur le plus puissant aujourd'hui (capable de réaliser 1014
opérations
par seconde), il faudrait à cet ordinateur, 30 000 ans pour eectuer tous les
calculs nécessaires [72]. La plupart des codes cryptographiques utilisés aujourd'hui
tirent leur sécurité de la complexité de calcul de la factorisation [56]. Signalons
que jusqu'aujourd'hui, il n'y a aucune preuve mathématique que les algorithmes
classiques ecaces pour factoriser les grands nombres premiers n'existeraient pas.
Dans le monde quantique, un algorithme ecace de factorisation existe, le plus
célèbre est l'algorithme de Shor [67]. Cet algorithme permet de factoriser un nombre
en temps polynomial sur un ordinateur quantique comme nous allons le voir dans
le chapitre suivant.
En eet, l'algorithme de Shor et les calculs quantiques permettent de n'eectuer
que 107
opérations pour factoriser un nombre de 300 chires. De plus, en utilisant un
ordinateur quantique capable de réaliser une opération par microseconde, il faudrait
à cet ordinateur seulement 10 secondes pour factoriser ce nombre. Si son évolution se
poursuit, il remettrait en cause une bonne partie de nos algorithmes de cryptologie
basée sur la méthode RSA. D'où la nécessité de développer d'autres méthodes de
cryptologie, résistant à une attaque quantique telle que la cryptographie quantique.
15
CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE
1.8 Conclusion
L'architecture de l'ordinateur que nous venons de voir, étant basée sur la mi-
croélectronique Silicium, est fondée sur les lois physiques de la mécanique classique.
Ainsi, pour accélérer sa puissance de calcul, l'industrie de la microélectronique ne
cesse de réduire les dimensions des transistors qui composent le microprocesseur,
c÷ur de l'ordinateur. En d'autres termes, elle ne cesse d'augmenter le nombre de
transistors sur une unité de surface d'une puce électronique. Cependant, l'augmenta-
tion de la puissance de l'ordinateur suivant le rythme exponentiel de la loi de Moore
se heurte à certains problèmes. Lorsque la taille des transistors atteindra une dizaine
de nanomètres, les eets quantiques commenceront à apparaitre. Ainsi, en-dessous
d'une certaine limite, les transistors ne fonctionneront plus d'une manière détermi-
niste dans l'état bloqué ou passant, mais plutôt d'une manière probabiliste. Ce qui
veut dire que le transistor se trouvera dans une superposition de ces deux états avec
une certaine probabilité relative. Pour trouver la solution à tous ces problèmes, il
faudra changer radicalement l'architecture en adoptant une autre architecture ca-
pable de mettre à prot ces eets quantiques tel que l'ordinateur quantique. Le
chapitre suivant fera objet de l'ordinateur quantique.
16
Chapitre 2
Concept de l'ordinateur quantique
2.1 Introduction
Dans le chapitre précédent, nous avons parlé de l'ordinateur classique. La
miniaturisation des composants élémentaires de cet ordinateur qui permet, depuis
les années 1960, de doubler la puissance des processeurs environ tous les deux ans
est cependant limitée par l'apparition des eets quantiques indésirables pour leur
fonctionnement classique. Nous sommes dans ce cas, dans un autre monde où les
comportements des composants élémentaires sont dictés par d'autres lois, celles de
la mécanique quantique. C'est dans cette optique que les chercheurs ont formulé
l'hypothèse d'un ordinateur basé sur les principes quantiques. Pour eux, un système
capable de pouvoir fonctionner dans ce nouveau monde de calcul, au-delà de la
frontière, est un ordinateur quantique.
Le Physicien Richard Feynman, Prix Nobel de Physique 1965, fut le premier
à prophétiser l'ordinateur quantique quand il disait, en 1982 : Au lieu de nous
plaindre que la simulation des phénomènes quantiques demande des puissances
énormes à nos ordinateurs actuels, utilisons la puissance de calcul des phénomènes
quantiques pour faire plus puissant que les ordinateurs actuels. [34]
Dans ce chapitre, nous allons nous pencher sur l'ordinateur quantique. Nous al-
lons commencer par donner une dénition de l'ordinateur quantique, et pour cela
introduire ses briques élémentaires : les qubits et les portes quantiques. Nous verrons
comment les qubits se comportent vis-à-vis de la combinatoire du calcul quantique,
et ce qui les rend si diérents des bits classiques : pourquoi leur composition aboutit-
il à un espace d'états exponentiellement grand donnant toute sa puissance de calcul
à l'ordinateur quantique? Et enn nous terminerons par des algorithmes et appli-
cations quantiques illustrant la puissance de calcul quantique.
2.2 Qu'est-ce qu'un ordinateur quantique ?
Un ordinateur quantique est un ordinateur dont l'objectif est de permettre la
manipulation et l'analyse de l'information quantique. L'unité de stockage de cette
information n'est plus un bit classique mais plutôt un qubit, contraction de 
17
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
quantum bit . Plusieurs théoriciens ont donné une dénition assez précise d'un
ordinateur quantique. Celle qui est utilisée par la majorité des équipes de recherche
est celle de David DiVincenzo des Laboratoires de IBM [20].
Un ordinateur quantique est un système de qubits qui doit présenter les carac-
téristiques suivantes :
1. Pouvoir initialiser tous les qubits dans un état bien déterminé au début du
calcul
2. Etre capable de mesurer ecacement les états quantiques du registre à la n
du calcul
3. Le registre quantique doit être bien isolé de l'environnement, de sorte que les
erreurs dues à la décohérence peuvent être minimisées.
4. Disposer de susamment de portes quantiques pour pouvoir eectuer toutes
les opérations quantiques.
5. L'architecture du système doit être en mesure d'accommoder un grand nombre
de qubits.
Comme nous allons le voir dans le dernier chapitre, certains des dispositifs expé-
rimentaux les plus récents permettent de satisfaire les quatre premiers points tandis
que le dernier point reste le plus dicile à satisfaire. La description ci-dessus ne nous
dit rien sur l'architecture que pourra posséder un tel ordinateur. Expérimentalement,
nous verrons que les approches sont très variées, et que souvent les architectures sont
surprenantes, et ne correspondent en rien à l'image classique que nous nous faisons
d'un ordinateur.
2.3 Eléments quantiques
2.3.1 Les bits quantiques et mesure quantique
Physiquement, le support d'un qubit peut être une particule, un atome, un ion,
voire une molécule. Le support doit être susamment petit pour appartenir au
domaine quantique, et susamment grand pour être isolable et utilisable avec la
technologie actuelle [44].
Mathématiquement, un qubit est un système physique isolé (ou du moins une
représentation abstraite d'un système physique) évoluant dans un espace vectoriel
complexe de dimension deux, plus précisément dans un espace de Hilbert, et
possède une base particulière {|0 , |1 } appelée base standard. Les états |0 et
|1 correspondent respectivement au nombre binaire 0 et 1. Ces états peuvent
correspondre aux polarisations |↑ et |→ , ou bien | et | d'un photon. Ils
peuvent correspondre également aux états spin haut, spin bas d'un électron, ainsi
qu'aux états (fondamental, excité) d'un niveau à deux états.
La notation | est appelée  notation de Dirac  . La diérence entre un bit et
un qubit est qu'un qubit peut se trouver dans un état autre que |0 ou |1 telle que
la superposition linéaire de ces états.
18
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Ainsi l'état d'un qubit s'écrit :
|ψ = α |0 + β |1 (2.1)
où α et β sont des nombres complexes représentant les amplitudes de probabi-
lité d'obtenir |0 ou |1 respectivement quand l'état |ψ est mesuré et satisfont la
condition de normalisation
|α|2
+ |β|2
= ψ|ψ = 1 (2.2)
Ce principe de superposition rend le traitement de l'information quantique très
diérent de celui de l'information classique [60].
Géométriquement, un qubit peut être représenté par une sphère, appelée sphère
de Bloch (Fig. 2.1)[76] où l'état|ψ du qubit correspond à un point à la surface de
la sphère.
Figure 2.1  Représentation géométrique d'un qubit par une sphère de Bloch.
Nous pouvons donc écrire la relation (2.1) sans perte de généralités comme suit :
|ψ = cos
θ
2
|0 + eiφ
sin
θ
2
|1 (2.3)
avec
0 ≤ θ ≤ π et 0 ≤ φ ≤ 2π
à un facteur de phase près.
Contrairement au cas du bit où nous avons un nombre d'états possibles nis,
un qubit peut prendre une innité de valeurs étant donné que les amplitudes de
probabilités prennent un continuum de valeur. Cependant la mesure d'un qubit ne
permet au nal de lire qu'un seul bit d'information classique.
De la même manière que l'état d'un seul qubit, l'état d'un registre quantique
de N qubits peut se décomposer sur la base {|0...00 , |0...01 , ..., |1...11 } obtenue à
partir de la base standard par produits tensoriels successifs.
19
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
L'état |ψ d'un registre quantique de N qubits peut alors s'écrire comme une
combinaison linéaire à 2N
amplitudes :
|ψ = α0...00 |0...00 + α0...1 |0...1 + ... + α1...1 |1...1 (2.4)
avec
|α0...0|2
+ |α0...1|2
+ ... + |α1...1|2
= 1
Si nous remplaçons |0...0 , |0...1 , ..., |1...1 respectivement par |0 , |1 ,..., 2N
− 1 ,
nous remarquons que nous pouvons réécrire la relation (2.4) comme suit :
|ψ =
2N −1
i=0
αi |i (2.5)
avec
2N −1
i=0
|αi|2
= 1
et
αi : amplitudes de probabilité.
Comme toute grandeur physique mesurable, la mesure d'un système quantique
dans l'état |ψ ne peut donner comme résultat que le système dans l'un des états
|i avec une probabilité αi, modiant éventuellement sa valeur pour la xer sur un
des vecteurs de la base standard, le résultat de cette mesure, correspond à N bits
d'information classique. La mesure perturbe l'état du système [72]. La stratégie
pour trouver des algorithmes capable d'extraire le résultat escompté de cette
mesure destructrice consiste à trouver des algorithmes qui privilégient les réponses
plausibles et faciles à vérier. Comme le résultat d'un calcul quel qu'il soit devra
nir par être mesuré pour être exploitable, la force de l'ordinateur quantique ne
réside donc pas dans la simple superposition des qubits mais plutôt dans la taille
de l'espace des états qu'elle autorise [19].
An de réaliser des calculs sur les registres, il convient de dénir l'analogue des
portes logiques classiques dans le monde quantique.
2.3.2 Calcul quantique et portes logiques quantiques
2.3.2.1 Le calcul quantique
L'évolution temporelle d'un registre quantique constitue un calcul [51]. Le cal-
cul quantique est en général l'évolution et la transformation unitaire d'un système
quantique dont la dynamique est gouvernée par les équations de Schrödinger. Il est
réalisé en trois étapes, (Fig. 2.2) [3] :
1. La préparation de l'état initial : entrée des données |Input
2. Evolution (calcul) :|output = U |Input
3. Mesure (résultat ou sortie) : projection sur la base standard de calcul.
20
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Les états |Input et |output sont des combinaisons linéaires des états de la base
de calcul {|0 , |1 }⊗N
. Les N qubits sont préparés dans l'état |0 = |Input au
temps t0, c'est la phase de préparation du système quantique, et le vecteur d'état
initial |Input appartient à un espace de Hilbert à 2N
dimensions, {|0 , |1 }⊗N
. Ces
qubits subissent ensuite une évolution purement quantique décrite par un opérateur
unitaire U(t, t0) agissant sur {|0 , |1 }⊗N
. L'état |Input au temps t0 est lié à l'état
|output du système au temps t par l'opérateur unitaire U qui dépend uniquement de
t0 et t. Une mesure est eectuée au temps t sur les qubits an d'obtenir le résultat du
calcul une fois que l'évolution unitaire est achevée, sinon, toute mesure modierait
cette dernière.
Figure 2.2  Schéma du principe de calcul quantique
Un point essentiel est que les transformations doivent être réversibles pour
préserver l'orthogonalité. Nous pouvons nous les représenter comme des rotations
d'un espace vectoriel complexe.
Etant donné que le traitement de l'information quantique s'eectue par l'action
des portes logiques quantiques sur le registre, il s'en suit qu'une porte logique
quantique n'est rien d'autre qu'une opération unitaire qui agit sur un petit nombre
de qubits (typiquement un ou deux qubits). Ces portes doivent être réversibles car
une opération unitaire est réversible. En eet, U∗
U = UU∗
= I [25].
Contrairement à la théorie classique de l'information pour laquelle il n'existe que
deux portes (l'identité et l'inversion NOT), il existe une innité des portes logiques
quantiques (chaque rotation sur la sphère de Bloch en est une) qui peuvent toutes
s'obtenir par combinaisons de quelques portes élémentaires, formant  un ensemble
universel  des portes quantiques. Dans la section suivante nous allons parler de
quelques portes quantiques élémentaires fréquemment rencontrées en information
quantique [2, 23].
2.3.2.2 Les portes logiques quantiques à un seul qubit
Les portes à un qubit sont des matrices unitaires dites  matrices de Pauli 
qui agissent sur les vecteurs d'état de l'espace de Hilbert {|0 , |1 }. Elles peuvent
être toutes obtenues par la combinaison de deux familles des portes quantiques :
les portes PHASE et les portes ROTATION eectuant des rotations respectivement
autour de l'axe z et l'axe y (Fig. 2.1).
21
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
1. Les portes PHASE Z(flip) modient la phase relative du qubit. Elles
s'écrivent dans la base {|0 , |1 } comme suit
PHASE(θ) =
1 0
0 eiθ = eiθ
2 e−i θ
2
σz
(2.6)
avec la matrice de Pauli
σz = Z =
1 0
0 −1
(2.7)
Si nous appliquons la porte Z sur un qubit d'état |ψ = α |0 +β |1 dont la notation
vectorielle est
α
β
nous remarquons que le signe devant β change alors que le signe devant α reste
inchangé.
Z |ψ =
1 0
0 −1
α
β
=
α
−β
(2.8)
Figure 2.3  Représentation schématique d'une porte PHASE Z
2. Les portes ROTATION changent les poids de la superposition d'états du qubit
Elles s'écrivent comme suit :
ROTATION(α) =
cos α − sin α
sin α cos α
= e−iασy
(2.9)
Avec la matrice de Pauli
σy =
0 −i
i 0
(2.10)
Figure 2.4  Représentation schématique d'une porte ROTATION Y
La composition de ces deux portes permet d'obtenir toutes les autres portes à
un qubit parmi lesquelles nous pouvons citer :
La porte NOT qui change l'état du qubit correspondant à la composition
ROTATION(π
2
) ◦ PHASE(π)
X = NOT =
0 1
1 0
(2.11)
22
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Figure 2.5  Représentation schématique d'une porte NOT
La porte Hadamard H correspondant à la composition
ROTATION(π
4
) ◦ PHASE(π)
H =
1
√
2
(X + Z) =
1
√
2
1 1
1 −1
(2.12)
Figure 2.6  Représentation schématique d'une porte de Hadamard
La transformation Hadamard possède un nombre important d'applications [25] :
• Appliquée à un état |x , la porte de Hadamard crée un état de superposition
H |x =
1
√
2
(|0 + (−1)x
|1 ) (2.13)
• Appliquée à un registre d'entrée à N qubits, initialement préparés dans l'état
|0 , la porte de Hadamard génère une superposition de tous les 2N
états pos-
sibles, qui peut être vue comme une représentation binaire des nombres com-
pris entre 0 et 2N
− 1 codés sur N bits [11].
H⊗N
|00 · · · 0 =
1
√
2N
((|0 + |1 ) ⊗ (|0 + |1 ) ⊗ · · · ⊗ (|0 + |1 ))
=
1
√
2N
2N −1
x=0
|x (2.14)
Une telle transformation est appelée aussi, transformation Walsh, ou transfor-
mation Walsh-Hadamard.
2.3.2.3 Les portes logiques quantiques à deux qubits
Les portes à deux qubits sont des matrices unitaires qui agissent sur les vecteurs
d'état de l'espace de Hilbert obtenu par le produit tensoriel des états de la base
standard formant la base de calcul {|00 , |01 , |10 , |11 } .
La porte quantique la plus généralisée est la porte contrôle-unitaire, notée CU
(Controled Unitary operator gate en anglais). Elle permet l'intrication des qubits
et utilise un qubit appelé qubit de contrôle. Ce dernier sert à déterminer l'action
de la porte quantique sur l'autre qubit, appelé  qubit cible  (target qubit en
anglais). Si le qubit de contrôle est dans l'état |0 , alors le qubit cible reste inchangé.
23
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Dans le cas contraire, la porte quantique change le qubit cible. Il existe un
grand nombre de telles portes. Nous représentons ici les portes qui sont sans doute
les plus connues [76].
Présentons d'abord la porte contrôle-PHASE, notée CPHASE. Il s'agit d'une
porte qui applique la porte phase sur le qubit cible pourvu que le qubit de contrôle
soit dans l'état |1 . Sa particularité réside dans le fait que le qubit de contrôle peut
être n'importe lequel des deux qubits.
La porte CPHASE s'écrit dans la base de calcul comme suit [76]
CPHASE =




1 0 0 0
0 1 0 0
0 0 1 0
0 0 o eiθ



 (2.15)
et ajoute donc une phase θ à l'état |11 .
Présentons ensuite la porte  Non-contrôlé , notée CNOT (Controlled-NOT en
anglais). Elle bascule l'état du qubit cible lorsque le qubit de contrôle est dans l'état
|1 . Elle est donnée par la représentation matricielle suivante [76] :
CNOT =




1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0



 (2.16)
Elle peut également être décrite comme une généralisation de la porte XOR
classique, du fait qu'elle peut être donnée par cette relation [76]
CNOT |x |y → |x |x ⊕ y .
Sa table de vérité est donnée par
Entrée Sortie
x y x x ⊕ y
0 0 0 0
0 1 0 1
1 0 1 1
1 1 1 0
Tableau 2.1  Table de vérité d'une porte Controlled-NOT
Son circuit est donné par la gure 2.7 et nécessite une certaine interprétation :
• (|x ) : qubit de contrôle
⊕ : somme modulo 2
trait horizontal : évolution
trait vertical : produit tensoriel
|y : qubit cible
En associant la porte CNOT aux portes permettant la construction générale des
opérations à un qubit, nous obtenons un  ensemble universel  des portes logiques
quantiques susantes pour réaliser n'importe quel calcul [16, 21, 56, 76].
24
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Figure 2.7  Circuit d'une porte Controlled-NOT
2.4 Puissance de calcul quantique
Nous entrons ici au c÷ur de ce qui fait la diérence entre un ordinateur classique
et un ordinateur quantique. Cette diérence réside essentiellement au phénomène
d'intrication et à la superposition d'un nombre gigantesque d'états impliquant une
croissance exponentielle de l'espace des états en fonction du nombre de bits quan-
tiques manipulés [25].
2.4.1 Intrication et mesure quantique
L'intrication quantique est un phénomène exclusivement quantique qui n'a
pas d'équivalent en Physique Classique. Elle est à l' origine de la dimension
exponentielle du nombre d'états d'un système de N qubits. Le phénomène de
l'intrication repose sur les principes mathématiques et physiques de la mécanique
quantique. C'est-à-dire, les notions de vecteurs d'états et de produits tensoriels de
ces vecteurs d'états d'une part et les principes de superposition des états et de
réduction du vecteur d'état d'autre part [35].
Deux qubits peuvent être fortement intriqués de manière que la mesure sur un
de ces derniers inuence le résultat sur l'autre qubit même s'ils empruntent des
chemins diérents et s'éloignent l'un de l'autre. Ceci est connu sous le nom de la
non-localité [55]. Au contraire, l'information classique est locale : la lecture d'un
bit localisé en un point de l'espace est indépendante des bits présents en d'autres
points. La non-localité permet ainsi d'identier l'intrication comme étant au c÷ur
de la mécanique quantique et lui confère un aspect fondamental qui est à la base des
diérents protocoles de la cryptographie quantique et algorithmes de l'information
quantique [36, 69].
L'illustration typique de la non-localité est le cas où deux qubits sont portés
par une paire de photons dits  intriqués, produits simultanément par un même
processus physique et décrits par une seule fonction d'onde [60]. Les interactions des
photons entre eux pendant le calcul préparent en général un état non-factorisable
qui explicite le paradoxe Einstein-Podolsky-Rosen (EPR)[4] utilisée dès 1935 pour
illustrer la non-localité de la mécanique quantique. L'argument est le suivant : les
lois de la mécanique quantique permettent la formation de paires de particules 
intriquées , ayant interagi dans le passé puis s'étant éloignées l'une de l'autre, et
pour lesquelles la mesure des propriétés de l'une permet de connaître instantanément
les propriétés de l'autre, quelle que soit la distance qui les sépare. Lorsqu'une mesure
25
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
est eectuée sur l'une des particules intriquées, tout se passe comme si sa jumelle
le sentait immédiatement et adoptait un état physique correspondant à celui trouvé
pour sa partenaire [1]. Considérons, par exemple, l'état d'une paire de photons
1
√
2
(|00 + |11 ) (2.17)
Cet état est intriqué puisque la probabilité pour que la mesure du premier qubit
donne |0 est 1/2 si le deuxième qubit n'est pas mesuré. Par contre, si le deuxième
qubit a été mesuré, la probabilité pour que la mesure du premier qubit donne |0
est soit 1 ou 0 selon que la mesure du deuxième qubit a donné |0 ou |1 même si
ils empruntent des chemins diérents. Même si cet état intriqué ressemble à celui de
deux qubits aléatoires simplement corrélés, la nature de cette intrication quantique
est plus subtile qu'il n'y parait : toute information sur l'état de paire est répartie
sur les deux qubits à la fois de sorte que si nous faisons la mesure d'un qubit, celle
de l'autre qubit s'en déduit le plus souvent [61].
2.4.2 La superposition et le parallélisme quantiques
Le principe de superposition confère aux ordinateurs quantiques une grande
puissance de calcul supérieure à celle des ordinateurs classiques. Etant donné qu'un
état d'un registre quantique de N qubits peut se trouver dans un état de superpo-
sition d'un ensemble quelconque de 2N
valeurs possibles, toute opération sur lui
s'eectuant lors du calcul quantique pourra agir simultanément ou en parallèle sur
chacun de ces états superposés. C'est ce que nous appelons  parallélisme quantique
. Ce parallélisme quantique massif le rendrait exponentiellement plus ecace que
tout ordinateur classique en termes de mémoire de stockage et par conséquent plus
ecace sur le calcul lui-même. Classiquement, le temps de calcul peut être diminué
en utilisant des microprocesseurs parallèles. La diminution exponentielle du temps
de calcul demande donc l'augmentation exponentielle du nombre de processeurs et
donc de l'espace mémoire. Cependant pour le cas d'un système quantique, le degré
du parallélisme augmente exponentiellement avec la taille du système [25].
Pour comprendre davantage d'où provient cette puissance, considérons une trans-
formation unitaire à deux qubits dénie par :
Uf |x, y = |x, y ⊕ f(x) (2.18)
avec |x un registre des données, |y un registre de résultat et Uf un opérateur ou
transformation unitaire.
Si y = 0, l'état nal du deuxième qubit est la valeur f(x). Considérons le circuit
de la gure 2.8 [55], qui applique la transformation unitaire sur un registre de données
ne se trouvant pas dans la base standard de calcul. Le registre des données est préparé
dans un état de superposition 1√
2
(|0 +|1 ) qui peut être créé par la porte Hadamard
agissant sur |0 .
26
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Lors de l'application de Uf sur cet état, nous obtenons un état intriqué :
1
√
2
(|0, f(0) + |1, f(1) ) (2.19)
Figure 2.8  Circuit calculant en parallèle toutes les valeurs possibles (f(0) et f(1))
d'une fonction f(x)
L'état nal du registre quantique contient implicitement une information sur
la fonction f évaluée pour toutes les valeurs possibles de la variable x : f(0) et
f(1) obtenues par une seule application de la porte Uf . Cette procédure peut être
généralisée à un nombre quelconque de bits d'entrée (FIG 2.9) [55].
Figure 2.9  Circuit calculant en parallèle toutes les valeurs possibles d'une fonction
f(x) avec N qubits. Le l avec un  /  dans ce circuit représente un ensemble de
n qubits.
Soit un registre de données à N qubits. La transformation de Hadamard sur
chaque qubit dans l'état |0 donne pour le registre de données
1
√
2N
2N −1
x=0
|x (2.20)
Cet état d'entrée de la porte Uf engendre en sortie (si l'autre entrée |y est
initialisée à l'état |0 ) l'état quantique intriqué :
|ψ =
1
√
2N
2N −1
x=0
|x |f(x) (2.21)
qui fait apparaître de nouveau, en une seule opération, toutes les valeurs de f(x)
correspondant aux 2N
valeurs possibles de x. Classiquement, nous devons évaluer 2N
fois la fonction f pour obtenir cette information. C'est là l'origine de l'accélération
exponentielle d'un calcul quantique pour la résolution de certains problèmes.
27
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Ce parallelisme quantique n'est pas directement exploitable puisqu'au moment
de lire le qubit nous ne récupérons aléatoirement qu'un des états |x, f(x) des états
superposés
2N −1
x=0
|x |f(x)
Pour illustrer davantage l'avantage du parallélisme quantique, prenons un
exemple simple sur l'ouverture d'un cadenas à l'aide d'une clé classique (Fig.2.10)
et d'une clé quantique (Fig.2.11).
Pour trouver la bonne combinaison qui ouvre le cadenas avec une clé classique,
il faudra essayer, une à une, chacune d'elles jusqu'à ce que le cadenas s'ouvre. Ce-
pendant, la clé quantique essaie toutes les combinaisons possibles en même temps et
peut ainsi trouver la bonne combinaison beaucoup plus rapidement que la clé clas-
sique. Donc, le calcul séquentiel est remplacé par le calcul massivement parallèle qui
ouvre de ce fait, la voie à une résolution rapide des requêtes ardues des problèmes
NP avec toutes les conséquences bouleversantes que cela aurait, en particulier dans
le domaine de la cryptographie. Nous signalons ici que les problèmes NP sont des
problèmes très diciles à résoudre mais dont la vérication est très facile une fois
que le résultat est obtenu, comme par exemple, la factorisation des grands nombres
[72].
Figure 2.10  Ouverture d'un cadenas classique
Figure 2.11  Ouverture d'un cadenas quantique
28
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Toutefois, c'est à cause de la superposition linéaire qu'il n'existe pas de méthode
de cloner ou de dupliquer un qubit.
2.4.3 Théorème de non-clonage
Un des principaux résultats qui font la diérence entre la théorie de l'information
classique et sa contrepartie quantique est le théorème de non-clonage [55]. L'infor-
mation classique peut être copié avec une précision aussi grande qu'on veut et autant
de fois qu'on veut; la fonction copier/coller des ordinateurs en est témoin. Le prin-
cipe d'impossibilité du clonage quantique, énoncé en 1982 par Wootters, Zurek et
Dieks explique l'impossibilité du clonage quantique [75].
Théorème :  Un état quantique inconnu ne peut pas être cloné. 
En eet, pour cloner l'état d'un qubit, il faudra pouvoir mesurer α et β, tout en
préservant l'état de celui-ci, de sorte à préparer un autre qubit dans le même état
|ψ = α |0 + β |1 . Ceci est doublement impossible dans la mesure où [33] :
1. il est impossible de lire un qubit sans ger dénitivement son état (après
mesure le qubit est dans l'état mesuré)
2. une mesure d'un qubit ne donne aucune information sur α et β puisque le
résultat est soit |0 , soit |1 . Ce qui équivaut à (α, β) = (0, 1) ou (1, 0), et ceci
ne correspond pas aux valeurs initiales de α et β.
Considérons un état d'un qubit non connu |ψ que nous voulons cloner avec une
photocopieuse quantique agissant sur les qubits par un opérateur unitaire U fonc-
tionnant de la manière suivante : elle écrit l'état |ψ dans l'état connu |e (l'équivalent
d'une feuille blanche dans une photocopieuse).
L'évolution du système total durant l'opération de clonage doit donc être :
|ψ |e
U
−→ U(|ψ |e ) = |ψ |ψ (2.22)
Pour un autre état |φ orthogonal à |ψ , nous devons également avoir
|φ |e
U
−→ U(|φ |e ) = |φ |φ (2.23)
L'impossibilité du clonage apparait donc pour l'état initial
|ϕ =
1
√
2
(|ψ + |φ ) (2.24)
Si l'opération de copie fonctionne pour cet état, nous devons trouver
|ϕ
U
−→ U(|ϕ |e ) = |ϕ |ϕ (2.25)
Etant donné la linéarité de la mécanique quantique et l'ortho-normalité des vecteurs
de base nous pouvons réécrire cette équation comme suit :
|ϕ
U
−→
1
√
2
U(|ψ + |φ ) |e =
1
√
2
(|ψ |ψ + |φ |φ ) = |ϕ |ϕ (2.26)
29
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Nous voyons qu'il y a une contradiction, et donc l'opérateur de clonage U n'existe
pas. En analysant cette démonstration, nous comprenons l'apport de la mécanique
quantique à la cryptographie. C'est le fait de pouvoir utiliser simultanément les
états |ψ , |φ et des combinaisons linéaires de ces états |ϕ qui fait l'originalité de
la cryptographie quantique, et qui interdit toute duplication able d'un message
intercepté par un espion [48].
Jusqu'ici, nous avons les briques élémentaires de l'ordinateur quantique, ainsi que
les concepts illustrant la puissance de calcul quantique ; il ne nous manque donc plus
que les algorithmes intéressants pour que l'ordinateur quantique soit théoriquement
achevé.
2.5 Algorithmes quantiques et applications
Il existe deux grands algorithmes plus performants que leurs homologues clas-
siques qui ont été conçus au début des années 1990. Il s'agit de l'algorithme de
factorisation de Shor et l'algorithme de recherche de Grover. La puissance des al-
gorithmes quantiques provient de l'intrication et du parallélisme quantiques. Avant
d'aborder les deux principaux algorithmes, illustrons le concept d'algorithmes quan-
tiques au moyen de l'algorithme de Deutsch-Jozsa.
2.5.1 L'algorithme de Deutsch-Jozsa
Il s'agit d'un algorithme quantique, proposé par David Deutsch et Richard
Jozsa en 1992 avec des améliorations de R.Cleve, A. Ekert, C. Macchiavello et M
Mosca en 1996 [15, 68]. Bien qu'il ne soit pas d'un grand intérêt pratique, il s'agit
d'un des premiers algorithmes quantiques qui est plus ecace qu'un algorithme
classique. De plus, il constitue une très bonne illustration d'un cas où nous pouvons
tirer partie du parallélisme quantique.
Formulons d'abord le problème à résoudre en considérant les fonctions booléennes
f(x1...xn) : {0, 1}n
→ {0, 1}, avec (x1...xn) ∈ {0, 1} dont nous savons à priori qu'elles
sont constantes ou balancées. Il existe exactement quatre fonctions de ce type : deux
fonctions constantes f(0) = f(1) = 0 et f(0) = f(1) = 1 et deux autres balancées
( f(0) = 0, f(1) = 1 et f(0) = 1,f(1) = 0). La fonction est constante si l'image
prend toujours la même valeur quelle que soit l'argument (x1...xn). Notez qu'il y a 2n
arguments possibles. Une fonction est dite balancée si pour une moitié des arguments
(c.à.d. 2n−1
) elle prend la valeur 0 et pour l'autre moitié (2n−1
) elle prend la valeur
1 pour notre cas. Le problème de Deutsch-Jozsa est un problème de décision avec
Oracle. Cela veut dire que nous ne connaissons pas la fonction f mais que nous
disposons d'un Oracle ou une boîte noire qui donne la réponse f(x1...xn) pour toute
entrée x1...xn qui lui est soumise. Le problème est de décider si f est constante. Notre
but est de prendre la décision correcte en posant le moins de questions possibles.
Discutons d'abord la solution classique.
30
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
2.5.1.1 La solution classique
Si nous nous limitons à utiliser un algorithme classique et déterministe, il nous
faut 2n−1
+ 1 évaluations de la fonction f, c'est-à-dire, exponentielle par rapport à
la taille des entrées, dans le pire des cas pour trouver la solution.
2.5.1.2 La solution probabiliste
Si nous utilisons un algorithme aléatoire, la complexité du problème de Deutsch-
Jozsa est bornée. Ce qui veut dire qu'un nombre constant d'évaluations est susant
pour trouver la bonne réponse avec une forte probabilité. Néanmoins (2n−1
+ 1)
évaluations sont toujours nécessaires pour que la réponse soit correcte avec proba-
bilité 1. Précisons ce que nous entendons par algorithme aléatoire. Nous sommes en
présence d'un problème de décision : f est constante ou balancée. Soit  1
2
L'algorithme aléatoire doit satisfaire
si f est constante : l'algorithme répond constante avec probabilité
≥ 1 −
si f est balancée : l'algorithme répond balancée avec probabilité ≤
C'est-à-dire que pour toute fonction f la probabilité d'erreur (mauvaise décision)
est  1
2
.
Nous allons maintenant voir qu'il existe un algorithme quantique, l'algorithme
quantique de Deutsch-Jozsa, qui permet de déterminer si f est balancée ou constante
avec une et une seule utilisation de l'Oracle, et ceci, quelle que soit la fonction f.
2.5.1.3 Algorithme de Deutsch
Une simple modication dans le circuit (Fig. 2.12) [55] démontre combien les
circuits quantiques peuvent surpasser en performance les circuits classiques en exé-
cutant l'algorithme de Deutsch. Ce dernier combine le parallélisme quantique avec
une propriété de la mécanique quantique connu sous le nom de  interférence . Le
but est de tester la condition f(0) = f(1) ; cela est équivalent à vérier f(0) ⊕ f(1).
Si cela vaut 0 alors f est constante, sinon f est balancée.
L'algorithme commence avec deux qubits dans l'état |0 et |1 . Comme aupara-
vant, nous utilisons la porte de Hadamard pour préparer le premier qubit |0 comme
une superposition 1√
2
(|0 + |1 ). Cette fois-ci, préparons le deuxième qubit y dans
une superposition 1√
2
(|0 −|1 ) en utilisant la porte de Hadamard qui s'applique sur
l'état |1 . Suivons les états pour voir ce qui se passe dans le circuit de la gure 2.12 :
L'état d'entrée |ψ0 = |01 subit une transformation de Hadamard. Ceci nous
donne
|ψ1 =
1
√
2
(|0 + |1 )
1
√
2
(|0 − |1 ) (2.27)
En appliquant Uf à l'état |x 1√
2
(|0 + |1 ) , nous obtenons l'état
1
√
2
(−1)f(x)
|x (|0 − |1 ) (2.28)
31
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Figure 2.12  Circuit quantique de l'algorithme de Deutsch
De façon similaire, en appliquant Uf à |ψ1 nous obtenons deux possibilités :
|ψ2 =



± 1√
2
(|0 + |1 ) 1√
2
(|0 − |1 ) si f(0) = f(1)
± 1√
2
(|0 − |1 ) 1√
2
(|0 − |1 ) si f(0) = f(1)
(2.29)
La dernière porte de Hadamard sur le premier qubit nous donne
|ψ3 =



± |0 1√
2
(|0 − |1 ) si f(0) = f(1)
± |1 1√
2
(|0 − |1 ) si f(0) = f(1)
(2.30)
Remarquons que f(0) ⊕ f(1) vaut 0 si f(0) = f(1) et 1 sinon. Nous pouvons
réécrire précisement la relation (2.30) comme suit
|ψ3 = ± |f(0) ⊕ f(1)
1
√
2
(|0 − |1 ) (2.31)
La mesure du premier qubit à la n du circuit de l'algorithme de Deutsch nous
permet de déterminer la valeur de f(0) ⊕ f(1) à coup sûr. Ce qui est vraiment inté-
ressant : le circuit quantique nous a donné la possibilité de déterminer la propriété
globale de f(x), à savoir f(0) ⊕ f(1), en utilisant une et une seule évaluation de
f(x) ! Ceci est plus rapide que pour un ordinateur classique qui demanderait au
moins deux évaluations. Cet exemple met en lumière la diérence entre le parallé-
lisme quantique et les algorithmes aléatoires classiques [55]. Le gain du parallélisme
quantique n'est pas spectaculaire dans cet exemple. Il l'est un peu plus si nous géné-
ralisons le problème à un registre de données à n qubits. Il sut de nouveau d'une
seule action de la porte unitaire pour déterminer si la fonction f est balancée ou
constante alors qu'il faut en moyenne (2n−1
+ 1) évaluations de f pour obtenir la
même information classiquement [77].
2.5.1.4 Algorithme de Deutsch-Jozsa
L'algorithme de Deutsch est le cas simple d'un autre algorithme quantique le plus
général : algorithme de Deutsch-Jozsa [55]. Nous suivons l'état à travers le circuit
de la gure 2.13 [18]. Le mécanisme est le suivant :
32
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Figure 2.13  Circuit quantique de l'algorithme généralisé de Deutsch-Jozsa.
1. Nous commencons avec un registre de (n + 1) qubits initialisés dans l'état
|ψ0 = |0 ⊗n
|1 (2.32)
Chacun des premiers n qubits est initialisé à l'état |0 pour coder les nombres
x et le dernier qubit à l'état |1 pour contenir la réponse de la fonction f.
2. Nous appliquons ensuite la transformation de Hadamard sur chaque qubit, ce
qui crée une superposition de tous les états de la base de calcul. Nous obtenons
l'état
|ψ1 =
1
√
2n+1
2n−1
x=0
|x (|0 − |1 ) (2.33)
3. Nous rappelons que la fonction f est implémentée sous forme d'Oracle quan-
tique U. L'Oracle quantique transforme l'état suivant la relation : Uf |x |y =
|x |y ⊕ f(x) . L'application de l'Oracle sur l'état |ψ1 donne donc l'état
|ψ2 =
1
√
2n+1
2n−1
x=0
(−1)f(x)
|x (|0 − |1 ) (2.34)
Les 2n
états de la base de calcul sont alors transformés simultanément par une
seule application de l'Oracle, ce qui est impossible à réaliser avec un algorithme
classique [76]. A ce stade nous pouvons ignorer le dernier qubit.
4. Nous appliquons à nouveau la transformation de Hadamard à chacun des qu-
bits restants an d'obtenir l'état
|ψ3 =
1
2n
2n−1
x=0
(−1)f(x)
2n−1
y=0
(−1)x.y
|y
=
1
2n
2n−1
y=0
2n−1
x=0
(−1)x.y+f(x)
|y (2.35)
où x et y sont des séries de n bits et x.y = i xiyi mod 2.
L'état nal est à nouveau une superposition cohérente d'états classiques aec-
tés d'amplitude
1
2n
2n−1
y=0
2n−1
x=0
(−1)x.y+f(x)
(2.36)
33
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
5. La dernière étape de l'algorithme est la mesure. Si nous mesurons l'état des n
premiers qubits dans la base de calcul, l'état est réduit sur un des états |y .
Considérons l'amplitude dans le cas où |y = |0 ⊗n
. Cette amplitude devient
1
2n
2n−1
x=0
(−1)f(x)
(2.37)
Si f est constante, l'amplitude de |0 ⊗n
est soit +1 ou −1 selon la valeur prise
par f (f(0) = f(1) = 0 et f(0) = f(1) = 1). Donc si f est constante, la mesure
du premier registre nous donne |0 ⊗n
avec probabilité 1. D'autre part, si f est
balancée les contributions négative et positive à l'amplitude |0 ⊗n
s'annulent,
laissant une amplitude nulle et la mesure doit donner un autre résultat que
0 au moins sur un des qubits du registre en question. Plus précisément, la
probabilité de touver |ψ3 = |0 ⊗n
est donnée par
Prob(|0 ⊗n
) =
1
22n
2n−1
x=0
(−1)f(x)
2
=



1 si f est constante
0 si f est balancée
(2.38)
Le terme entre les |.| donne 2n
(−1)f(0...0)
= ±2n
quand f est constant.
En conclusion : Si f est constante, après sommation sur x, le seul état qui survit
est |0 ⊗n
. Mais si f est balancée, l'amplitude de l'état |0 ⊗n
est 0. Cela signie que la
mesure des premiers n qubits dans l'état |0 ⊗n
nous permet de savoir que la fonction
est constante. Mais si nous voyons un tout autre état, nous savons que la fonction est
balancée. Nous avons donc déterminé si f est balancée ou constante avec une seule
exécution de la machine. Une tâche qui nous aurait pris (2n−1
+1) évaluations dans le
pire des cas classiques. C'est une amélioration remarquable obtenue en utilisant cet
algorithme [66, 68]. Son parallélisme quantique massif conduit au calcul de tous les
2n
valeurs possibles de f(x) en une seule exécution. Ceci provient du fait que l'Oracle
quantique peut accomplir sa tâche pour toute combinaison linéaire d'états de base
possibles en une seule étape. Quant à la classe de la complexité de ce problème
quantié, nous avons trouvé seulement O(n) étapes pour obtenir la réponse nale.
Par conséquent, si nous comparons ce résultat avec celui de la classe de complexité
classique, nous constatons que l'algorithme de Deutsch conduit à une accélération
exponentielle des calculs. Celle-ci est un magnique résultat que seul un ordinateur
quantique peut fournir [45].
2.5.2 Algorithme de Shor
L'algorithme de Shor est le plus important en algorithmie quantique du fait qu'un
grand nombre de systèmes cryptographiques se basent sur la diculté de factoriser
les grands nombres. Celui-ci fut publié dans un article Polynomial-time algorithms
for Prime Factorization and discret Logarithms on a Quantum Computer par
Peter Shor en 1994 [67]. Il présenta deux algorithmes fondés sur une procédure
quantique de son invention, la Transformée de Fourier Quantique. Le premier per-
met de factoriser les grands nombres en temps polynomial et le second d'extraire le
34
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
logarithme discret. Dans la section suivante, nous allons décrire l'algorithme de fac-
torisation. A la n du chapitre 1, nous avons mentionné la menace de cet algorithme.
Rappelons simplement que, actuellement, beaucoup de techniques de crypto-
logie sont basées sur le fait que nous ne disposons pas un algorithme classique
capable de factoriser de façon ecace un grand nombre en un temps polynomial
O((log n)k
) pour n'importe quel k. Donc , les algorithmes classiques connus
deviennent rapidement impraticable quand n augmente. En 2015, l'algorithme
rapide publiquement disponible pour factoriser des grands nombres s'exécute en
O(e
64
9
n
1
3 (log n)
2
3
) opérations où n est le nombre de bits utilisés pour représenter le
nombre [57]. La conance dans la diculté de pouvoir factoriser un grand nombre
est susamment grande de sorte qu'une grande partie de la sécurité des protocoles
de cryptologie utilisés repose sur cette hypothèse.
L'algorithme de Shor bouleverse totalement cette hypothèse et son résultat
incite un intérêt généralisé pour l'informatique quantique. L'algorithme de Shor fut
utilisé en 2001 par un groupe d'IBM [50], qui factorisa 15 en 3 et 5, en utilisant
un calculateur quantique de 7 qubits. Ainsi la durée de la séquence totale de
l'algorithme de Shor était ∼ 720 ms. Comme tous les algorithmes quantiques,
l'algorithme de Shor est probabiliste : il donne la réponse correcte avec une haute
probabilité et la probabilité d'échec peut être diminuée en répétant l'algorithme.
Shor utilise le parallélisme quantique pour obtenir une superposition de toutes les
valeurs de la fonction en une seule étape. Il calcule ensuite la transformée de Fourier
quantique de la fonction qui, comme la transformée de Fourier classique, met toute
l'amplitude de la fonction en multiples de l'inverse de la période d'une fonction. La
mesure de l'état donne la période avec une forte probabilité. Celle-ci est à son tour
utilisée pour factoriser le nombre entier M. Nous décrirons d'abord la transformée de
Fourier quantique et donnerons ensuite un aperçu détaillé de l'algorithme de Shor.
2.5.2.1 Transformée de Fourier quantique
Puisque le calcul quantique traite des transformations unitaires, il s'avère im-
portant d'être capable de construire certaines transformations unitaires utiles. Dans
cette section, nous donnons une technique pour construire en temps polynomial
sur les ordinateurs quantiques une transformation unitaire particulière, qui est
essentiellement la transformée de Fourier discrète.
Cette transformation sera donnée comme une matrice, avec les lignes et les
colonnes indexées par les états. Ces états correspondent à des représentations
binaires d'entiers sur l'ordinateur. En particulier, les lignes et les colonnes seront
indexées en commençant par 0, sauf indication contraire.
Usuellement, la transformation de Fourier discrète est une opération classique
qui prend en entrée un vecteur complexe X(x0, ..., xq−1) de taille q et calcule en
35
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
sortie un autre vecteur complexe Y (y0, ..., yq−1) déni par
yk =
1
√
q
q−1
j=0
xje( 2πijk
q
)
(2.39)
Nous transposons alors ce calcul dans le cadre quantique. La transformation
de Fourier quantique (TFQ) est exactement la même transformation sauf que la
notation conventionnelle est diérente.
Nous nous xons un entier qn
, n ≥ 1 et considérons un entier j tel que 0 ≤ j  q.
La transformation de Fourier quantique transforme l'état |j en un autre état [55]
1
√
q
q−1
k=0
e( 2πijk
q
)
|k (2.40)
En clair, nous appliquons simplement l'opérateur unitaire qui a pour matrice Aq
dans la base de calcul où l'entrée (j, k) de Aq est
(Aq)(j,k) =
1
√
q
e( 2πijk
q
)
(2.41)
Puisque nous allons utiliser q de la taille exponentielle pour la matrice Aq, nous
devons montrer comment cette transformation peut être faite en temps polynomial.
Pour la réalisation de Aq, nous avons seulement besoin d'utiliser deux types de
portes quantiques [13].
Premièrement nous devons disposer des porte Hj qui eectuent la transformation
de Hadamard. Chacune d'elles opère sur le qubit en position j.
Deuxièmement, nous devons disposer des portes de changement de phase condi-
tionnel sur le deuxième qubit pourvu que le premier qubit soit dans l'état |1 . Le
changement de phase par e
2πi
2j
est représenté par les matrices Xj, j = 0, ..., n − 1,
Xj =
1 0
0 e
2πi
2j
(2.42)
Soit Sj,k la porte conditionnelle Xk−j qui opère sur les bits dans les positions j
et k avec j  k et qui a pour matrice
Sj,k =




1 0 0 0
0 1 0 0
0 0 1 0
0 0 o eiθk−j



 (2.43)
où
θk−j =
π
2k−j
A l'aide de ces deux portes nous pouvons réaliser le circuit quantique de la
transformée de Fourier quantique (Fig.2.14).
36
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
Figure 2.14  Circuit de la transformée de Fourier quantique
Pour eectuer une transformation de Fourier quantique, nous appliquons les ma-
trices dans l'ordre (de droite à gauche). Par exemple, avec trois qubits, les matrices
réalisant la TFQ s'appliqueraient dans l'ordre
H0S0,1H1S0,2S1,2H2
Avec un registre de cinq qubits, nous aurions la séquence suivante
H0S0,1H1S0,2S1,2H2S0,3S1,3S2,3H3S0,4S1,4S2,4S3,4H4
Clairement, nous appliquons les portes de Hadamard dans l'ordre de H0 à Hn−1, et
dans l'intervalle de Hj à Hj+1 nous appliquons les portes Sj,k avec j  k.
Calculons le nombre des portes que comportent le circuit de la gure 2.14 :
• nous avons, sur la première ligne, une porte de Hadamard et (n − 1)
portes Sj,k, donc n opérations
• sur la deuxième ligne nous avons une seule porte de Hadamard et
(n − 2) portes Sj,k, donc n − 1 opérations
• ...
• sur la dernière ligne, nous avons une seule porte de Hadamard, donc
une seule opération
Ainsi, au total le nombre de portes utilisées est
n + (n − 1) + ... + 1 =
n
i=0
i =
n(n + 1)
2
(2.44)
Nous voyons que la transformée de Fourier quantique ne nécessite que O(n2
) opé-
rations (le nombre d'opérations est réduit) : nous obtenons un gain exponentiel en
temps comparativement aux algorithmes classiques.
37
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
2.5.2.2 Une description détaillée de l'algorithme de Shor
Les étapes détaillées de l'algorithme de factorisation de Shor sont illustrées par
un exemple où nous cherchons les facteurs d'un entier M.
Etape 1 Déterminons si M est un nombre premier, pair ou un entier qui est une
puissance d'un nombre premier. Si c'est le cas, nous n'utilisons pas l'algorithme de
Shor.
Etape 2 Choisissons un entier m tel que
M2
≤ q  2M2
avec
q = 2m
Etape 3 Choisissons un nombre entier pseudo-aléatoire a premier avec M. Si a
n'est pas premier avec M, nous n'utilisons pas l'algorithme de Shor. Sinon, appli-
quons le reste de l'algorithme.
Etape 4 Créons un registre quantique et partitionnons-le en deux parties : re-
gistre 1 et registre 2. Ainsi l'état de notre ordinateur quantique peut être donné
par :|reg1, reg2 . Le registre 1 doit avoir assez de qubits pour représenter les entiers
aussi grands que q − 1. Le registre 2 doit avoir assez de qubits pour représenter les
entiers aussi grands que M − 1.
Etape 5 Chargeons le registre 1 avec une superposition de tous les entiers com-
pris entre 0 et q − 1. Chargeons le registre 2 avec des zéros. Ceci se fait avec l'ordi-
nateur quantique. A ce stade, l'état quantique du registre mémoire est :
1
√
q
q−1
x=0
|x, 0 (2.45)
Etape 6 Maintenat, utilisons le parallélisme quantique pour calculer la fonction
f(x) = ax
mod M
pour tous les nombres entiers du registre 1 et stockons le résultat dans le registre 2
(Cette fonction est inévitablement périodique de période r). Ceci se fait en une seule
fois étant donné que l'ordinateur quantique calculera seulement a|x
mod M où |x
est une superposition des états créés dans l'étape 5.
A ce point, l'état quantique du registre mémoire est :
1
√
q
q−1
x=0
|x, ax
mod M (2.46)
Etape 7 Mesurons le deuxième registre. Soit k le résultat de la mesure. Ceci a
pour eet, l'eondrement du registre 1 en une superposition égale de chaque valeur
de x compris entre 0 et q − 1 tel que
ax
mod M = k
38
CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE
L'état quantique du registre mémoire après cette étape est
1
X x ∈X
|x , k (2.47)
où X est l'ensemble des x tel que ax
mod M = k et X est le nombre d'éléments
de cet ensemble.
Etape 8 Maintenant, appliquons la transformée de Fourier quantique sur le
registre 1. Rappelons que la transformation de Fourier quantique transforme l'état
|x en un autre état
|x =
1
√
q
q−1
c=0
e( 2πixc
q
)
|c (2.48)
Cette étape s'eectue en une seule étape grâce au parallélisme quantique. Après la
transformée de Fourier quantique, notre registre est dans l'état
1
X x ∈X
1
√
q
q−1
c=0
e
2πix c
q |c, k (2.49)
Etape 9 Mesurons l'état du registre 1, appelons cette valeur v. Cet entier v a
une grande probabilité d'être un multiple de q
r
, où r est la période désirée.
Etape 10 Extraction de la période. Dans le cas où la période arrive à être une
puissance de 2, de sorte que la transformée de Fourier quantique donne exactement
les multiples de 2m
r
, la période devient facile à extraire. Dans ce cas, v = j 2m
r
où j
est un entier. La plupart du temps j et r seront relativement premiers. Dans ce cas,
la réduction de la fraction v
2m à sa plus simple expression donnera une fraction dont
le dénominateur est q, candidat pour la période r.
Etape 11 Trouvons un facteur de M. Lorsque notre estimation de la période, q,
est pair, nous utilisons l'algorithme d'Euclide pour vérier ecacement si a
r
2 + 1 ou
a
r
2 − 1 a un facteur commun non-trivial avec M. La raison pour laquelle a
r
2 + 1 ou
a
r
2 −1 est susceptible d'avoir un facteur commun non-trivial avec M est la suivante :
si r est réellement la période de f(x) = ax
mod M, alors ar
= 1 mod M puisque
ar
ax
= ax
modM pour tout x. Si r est pair, nous pouvons écrire :
(a
r
2 + 1)(a
r
2 − 1) = 0 mod M. (2.50)
Ainsi, tant que ni a
r
2 + 1 ni a
r
2 − 1 n'est multiple de M, soit a
r
2 + 1 ou a
r
2 − 1 a un
facteur commun non trivial avec M.
Etape 12 Répétons l'algorithme si ce processus ne donne pas un facteur de M.
Les raisons pour lesquelles le processus de l'algorithme peut ne pas donner le facteur
de M sont les suivantes :
1. La valeur de v n'est pas proche d'un multiple de 2m
r
2. La période et le multiplicateur j auraient pu avoir un facteur commun, de sorte
que le dénominateur q soit en fait un facteur de la période et non la période
elle-même.
3. L'étape 10 donne M comme un facteur de M.
4. La période de f(x) = ax
mod M est impair.
39
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire
Memoire

Contenu connexe

Tendances

Les moteurs physiques en temps réel
Les moteurs physiques en temps réelLes moteurs physiques en temps réel
Les moteurs physiques en temps réelSteren Giannini
 
Rapport pfe el_abdalaoui
Rapport pfe el_abdalaouiRapport pfe el_abdalaoui
Rapport pfe el_abdalaouiBoughraraanis
 
Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Boughraraanis
 
Shatri_Dardan_Memoire_2014
Shatri_Dardan_Memoire_2014Shatri_Dardan_Memoire_2014
Shatri_Dardan_Memoire_2014Dardan Shatri
 
PFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCPFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCMohamed Arhoujdam
 
Twido guide materiel base extreme
Twido guide materiel   base extremeTwido guide materiel   base extreme
Twido guide materiel base extremeJohanna Mesa Torres
 
Twido guide materiel bases compactes & modulaires
Twido guide materiel   bases compactes & modulairesTwido guide materiel   bases compactes & modulaires
Twido guide materiel bases compactes & modulairesJohanna Mesa Torres
 
Autonomous navigation of flying robot
Autonomous navigation of flying robotAutonomous navigation of flying robot
Autonomous navigation of flying robotdoukhioualid
 
Télécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriqueTélécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriquemorin moli
 
Electronique+numerique+logique+combinatoire+et+sequentielle
Electronique+numerique+logique+combinatoire+et+sequentielleElectronique+numerique+logique+combinatoire+et+sequentielle
Electronique+numerique+logique+combinatoire+et+sequentiellemorin moli
 
2008 evry0045
2008 evry00452008 evry0045
2008 evry0045uykuyk
 
Chateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportChateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportMouhamed Ndao
 
Système de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans filSystème de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans filSamia HJ
 
Cours mass pascalllllllllllle
Cours mass pascalllllllllllleCours mass pascalllllllllllle
Cours mass pascalllllllllllleChawki Riadh
 
Box Methode M2 R
Box Methode M2 RBox Methode M2 R
Box Methode M2 Rguestb16e95
 

Tendances (20)

Les moteurs physiques en temps réel
Les moteurs physiques en temps réelLes moteurs physiques en temps réel
Les moteurs physiques en temps réel
 
Vlan
VlanVlan
Vlan
 
Rapport pfe el_abdalaoui
Rapport pfe el_abdalaouiRapport pfe el_abdalaoui
Rapport pfe el_abdalaoui
 
Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)Reduction de modele_et_controle_de_lecou (1)
Reduction de modele_et_controle_de_lecou (1)
 
Shatri_Dardan_Memoire_2014
Shatri_Dardan_Memoire_2014Shatri_Dardan_Memoire_2014
Shatri_Dardan_Memoire_2014
 
PhD Thesis
PhD ThesisPhD Thesis
PhD Thesis
 
PFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DCPFE régulateur de vitesse d'un moteur DC
PFE régulateur de vitesse d'un moteur DC
 
Twido guide de programmation
Twido guide de programmationTwido guide de programmation
Twido guide de programmation
 
Twido guide materiel base extreme
Twido guide materiel   base extremeTwido guide materiel   base extreme
Twido guide materiel base extreme
 
Twido guide materiel bases compactes & modulaires
Twido guide materiel   bases compactes & modulairesTwido guide materiel   bases compactes & modulaires
Twido guide materiel bases compactes & modulaires
 
Autonomous navigation of flying robot
Autonomous navigation of flying robotAutonomous navigation of flying robot
Autonomous navigation of flying robot
 
Télécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électriqueTélécharger livre - schéma d'installation électrique
Télécharger livre - schéma d'installation électrique
 
Electronique+numerique+logique+combinatoire+et+sequentielle
Electronique+numerique+logique+combinatoire+et+sequentielleElectronique+numerique+logique+combinatoire+et+sequentielle
Electronique+numerique+logique+combinatoire+et+sequentielle
 
2008 evry0045
2008 evry00452008 evry0045
2008 evry0045
 
These_final
These_finalThese_final
These_final
 
Reseaux
ReseauxReseaux
Reseaux
 
Chateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportChateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapport
 
Système de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans filSystème de supervision des réseaux de capteurs sans fil
Système de supervision des réseaux de capteurs sans fil
 
Cours mass pascalllllllllllle
Cours mass pascalllllllllllleCours mass pascalllllllllllle
Cours mass pascalllllllllllle
 
Box Methode M2 R
Box Methode M2 RBox Methode M2 R
Box Methode M2 R
 

En vedette

Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...
Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...
Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...Alessio Fancello
 
Recruter et travailler avec un développeur
Recruter et travailler avec un développeurRecruter et travailler avec un développeur
Recruter et travailler avec un développeurCamille Roux
 
Impact de l'intelligence artificielle sur le marketing
Impact de l'intelligence artificielle sur le marketingImpact de l'intelligence artificielle sur le marketing
Impact de l'intelligence artificielle sur le marketingRomain Bouilloud
 
Le e-commerce pour les PME-TPE // Mathieu Têtu
Le e-commerce pour les PME-TPE // Mathieu Têtu Le e-commerce pour les PME-TPE // Mathieu Têtu
Le e-commerce pour les PME-TPE // Mathieu Têtu Mathieu Têtu
 
Memoire ISCOM : En quoi les marques s’adaptent-elles sur le digital face à l...
Memoire ISCOM :  En quoi les marques s’adaptent-elles sur le digital face à l...Memoire ISCOM :  En quoi les marques s’adaptent-elles sur le digital face à l...
Memoire ISCOM : En quoi les marques s’adaptent-elles sur le digital face à l...Le Moan Florent
 
Mémoire professionnel : La stratégie digitale dans la relation client
Mémoire professionnel : La stratégie digitale dans la relation clientMémoire professionnel : La stratégie digitale dans la relation client
Mémoire professionnel : La stratégie digitale dans la relation clientFloriane Akpa
 
Mémoire_BéréniceViviand
Mémoire_BéréniceViviandMémoire_BéréniceViviand
Mémoire_BéréniceViviandBerenice Viviand
 
L’utilisation des données personnelles des internautes en France à des fins d...
L’utilisation des données personnelles des internautes en France à des fins d...L’utilisation des données personnelles des internautes en France à des fins d...
L’utilisation des données personnelles des internautes en France à des fins d...Adeline Ravi | SEM & Content Marketing
 

En vedette (9)

Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...
Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...
Travail de Fin d'Etudes 2014 : L'intégration de la visioconférence pour rendr...
 
Recruter et travailler avec un développeur
Recruter et travailler avec un développeurRecruter et travailler avec un développeur
Recruter et travailler avec un développeur
 
Impact de l'intelligence artificielle sur le marketing
Impact de l'intelligence artificielle sur le marketingImpact de l'intelligence artificielle sur le marketing
Impact de l'intelligence artificielle sur le marketing
 
Le e-commerce pour les PME-TPE // Mathieu Têtu
Le e-commerce pour les PME-TPE // Mathieu Têtu Le e-commerce pour les PME-TPE // Mathieu Têtu
Le e-commerce pour les PME-TPE // Mathieu Têtu
 
Memoire ISCOM : En quoi les marques s’adaptent-elles sur le digital face à l...
Memoire ISCOM :  En quoi les marques s’adaptent-elles sur le digital face à l...Memoire ISCOM :  En quoi les marques s’adaptent-elles sur le digital face à l...
Memoire ISCOM : En quoi les marques s’adaptent-elles sur le digital face à l...
 
Mémoire professionnel : La stratégie digitale dans la relation client
Mémoire professionnel : La stratégie digitale dans la relation clientMémoire professionnel : La stratégie digitale dans la relation client
Mémoire professionnel : La stratégie digitale dans la relation client
 
Digital In Store
Digital In StoreDigital In Store
Digital In Store
 
Mémoire_BéréniceViviand
Mémoire_BéréniceViviandMémoire_BéréniceViviand
Mémoire_BéréniceViviand
 
L’utilisation des données personnelles des internautes en France à des fins d...
L’utilisation des données personnelles des internautes en France à des fins d...L’utilisation des données personnelles des internautes en France à des fins d...
L’utilisation des données personnelles des internautes en France à des fins d...
 

Similaire à Memoire

337626 jawadnakad2
337626 jawadnakad2337626 jawadnakad2
337626 jawadnakad2Amira Abdi
 
Elaboration of E_voting system based on elliptic curve cryptography
Elaboration of E_voting system based on elliptic curve cryptographyElaboration of E_voting system based on elliptic curve cryptography
Elaboration of E_voting system based on elliptic curve cryptographypacomeambassa
 
signal f_sur
signal f_sursignal f_sur
signal f_surWafa Ben
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRouâa Ben Hammouda
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de courssarah Benmerzouk
 
Modélisation & analyse des systèmes
Modélisation & analyse des systèmesModélisation & analyse des systèmes
Modélisation & analyse des systèmessarah Benmerzouk
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Hadjer BENHADJ DJILALI
 
2007 développement du logiciel embarqué d un module de localisation fine (2)
2007 développement du logiciel embarqué d un module de localisation fine (2)2007 développement du logiciel embarqué d un module de localisation fine (2)
2007 développement du logiciel embarqué d un module de localisation fine (2)bessem ellili
 
Etude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDMEtude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDMMohamed Nadjib Chaabi
 
Etude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteEtude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteIbtihejHamdi
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesisAbirHezzi
 

Similaire à Memoire (20)

PFE Master.pdf
PFE Master.pdfPFE Master.pdf
PFE Master.pdf
 
337626 jawadnakad2
337626 jawadnakad2337626 jawadnakad2
337626 jawadnakad2
 
Elaboration of E_voting system based on elliptic curve cryptography
Elaboration of E_voting system based on elliptic curve cryptographyElaboration of E_voting system based on elliptic curve cryptography
Elaboration of E_voting system based on elliptic curve cryptography
 
signal f_sur
signal f_sursignal f_sur
signal f_sur
 
SIGNAL
SIGNAL SIGNAL
SIGNAL
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
RECI_GL.pdf
RECI_GL.pdfRECI_GL.pdf
RECI_GL.pdf
 
Rapport final-FIROZI-V2
Rapport final-FIROZI-V2Rapport final-FIROZI-V2
Rapport final-FIROZI-V2
 
Micro8086
Micro8086Micro8086
Micro8086
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de cours
 
Modélisation & analyse des systèmes
Modélisation & analyse des systèmesModélisation & analyse des systèmes
Modélisation & analyse des systèmes
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
 
Matlab for engineer
Matlab for engineer Matlab for engineer
Matlab for engineer
 
these_sample
these_samplethese_sample
these_sample
 
Polycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdfPolycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdf
 
doc
docdoc
doc
 
2007 développement du logiciel embarqué d un module de localisation fine (2)
2007 développement du logiciel embarqué d un module de localisation fine (2)2007 développement du logiciel embarqué d un module de localisation fine (2)
2007 développement du logiciel embarqué d un module de localisation fine (2)
 
Etude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDMEtude et simulation d'un système MIMO OFDM
Etude et simulation d'un système MIMO OFDM
 
Etude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perteEtude bibliographique sur les algorithmes de compression sans perte
Etude bibliographique sur les algorithmes de compression sans perte
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesis
 

Memoire

  • 1. UNIVERSITE DU BURUNDI FACULTE DES SCIENCES SECTION POLYTECHNIQUE DEPARTEMENT DE PHYSIQUE APPORT DE LA MECANIQUE QUANTIQUE DANS LA REALISATION DE L'ORDINATEUR FONCTIONNANT AU-DELA DE LA LOI EMPIRIQUE DE MOORE Par BUCUMI Zabulon Sous la Direction de : Mémoire présenté et défendu publiquement en vue de l'obtention Dr AKIMANA Rachel du grade de Licencié en Sciences Physiques Option : Physique Fondamentale et Appliquée. Bujumbura, le 26 novembre 2015
  • 2. Dédicace A mon père, A ma mère, A mes frères, A ma s÷ur, A tous ceux qui me sont chers, Je dédie ce mémoire. i
  • 3. Remerciements Au terme de ce travail, je tiens à exprimer mes vifs et sincères remerciements à Dieu, Tout Puissant. Son amour, Sa grâce et Sa miséricorde m'ont été d'un atout sans égal. Mes remerciements les plus profonds s'adressent plus particulièrement au professeur Dr AKIMANA Rachel, promoteur et directeur de ce mémoire, pour son soutien continu, sa disponibilité exceptionnelle et ses conseils avisés. Elle a su me témoigner une grande conance dont je lui suis reconnaissant. Je remercie également tous ceux qui ont participé à ma formation tant humaine que scientique depuis l'école primaire jusqu'à l'Université du Burundi; spéciale- ment tous les professeurs de la Faculté des Sciences et en particulier ceux de la section Polytechnique. Qu'ils trouvent dans l'accomplissement du présent travail le couronnement de leurs énormes eorts! Je témoigne aussi ma profonde reconnaissance à tous ceux qui, de près ou de loin, m'ont prêté main forte, à tous ceux qui ont rendu mon séjour agréable à l'Université du Burundi et à toutes les personnes qui ne cessent de penser à moi. Je voudrais aussi remercier GAHUNGU Pascal, KWIZERA Ferdinand et NIZIGIYIMANA Aline Bahati pour leurs générosités. Leurs multiples privations et sacrices en ma faveur m'ont permis d'avancer dans la rédaction du présent travail. Qu'ils trouvent ici l'expression de ma profonde gratitude! Je réserve une marque de reconnaissance spéciale envers tous les membres de ma famille et bien entendu mes parents en premier lieu, pour leur soutien sans limite depuis le tout début. Je veux que vous sachiez à quel point je vous respecte pour ce que vous êtes et à quel point je vous aime. BUCUMI Zabulon ii
  • 4. Liste des sigles et abréviations BIOS : Basic Input Output System CMOS : Complementary Metal Oxyde Semiconductor CNOT : Controlled NOT CPU : Central Processing Unit EEPROM : Electrically Erasable Programmable Read Only Memory EPR : Einstein-Podolsky-Rosen EPROM : Erasable Programmable Read Only Memory IBM : International Business Machine NAND : Not AND NOR : Not OR MOS : Metal Oxyde Semiconductor PC : Personal Computer PROM : Programmable Read Only Memory RAM : Random Acces Memory RMN : Résonance Magnétique Nucléaire RSA : Rivest Shamir Adleman TQF : Transformée de Fourier Quantique UAL : Unité Arithmétique et Logique USB : Universal Serial Bus iii
  • 5. Liste des tableaux 1.1 Table de vérité d'une porte NAND . . . . . . . . . . . . . . . . . . . 12 1.2 Table de vérité d'une porte NOR . . . . . . . . . . . . . . . . . . . . 13 2.1 Table de vérité d'une porte Controlled-NOT . . . . . . . . . . . . . . 24 3.1 Crude estimates for decoherence times τD (seconds), operations times τop and maximum number of operations nop for various candidate physical realizations of interacting systems of quantum bits. . . . . . 49 3.2 Opérateurs de correction d'erreurs . . . . . . . . . . . . . . . . . . . . 58 iv
  • 6. Liste des gures 1.1 Architecture de Von Neumann. . . . . . . . . . . . . . . . . . . . . . 4 1.2 Représentation schématique d'une diode . . . . . . . . . . . . . . . . 10 1.3 Représentation schématique du transistor . . . . . . . . . . . . . . . 11 1.4 Représentation schématique et symbole de la porte NAND . . . . . . 12 1.5 Représentation schématique et symbole de la porte NOR . . . . . . . 13 1.6 Loi de Moore : évolution du nombre de transistors dans une puce Intel 14 1.7 Nombres d'atomes nécessaires pour représenter 1 bit d'information en fonction de l'année. Dans ce mode semi-logarithmique, la droite indique qu'on a une évolution exponentielle. Par extrapolation, on en déduit que le niveau 1 atome pour 1 bit sera atteint aux environs de 2020. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1 Représentation géométrique d'un qubit par une sphère de Bloch. . . . 19 2.2 Schéma du principe de calcul quantique . . . . . . . . . . . . . . . . . 21 2.3 Représentation schématique d'une porte PHASE Z . . . . . . . . . . 22 2.4 Représentation schématique d'une porte ROTATION Y . . . . . . . 22 2.5 Représentation schématique d'une porte NOT . . . . . . . . . . . . . 23 2.6 Représentation schématique d'une porte de Hadamard . . . . . . . . 23 2.7 Circuit d'une porte Controlled-NOT . . . . . . . . . . . . . . . . . . 25 2.8 Circuit calculant en parallèle toutes les valeurs possibles (f(0) et f(1)) d'une fonction f(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.9 Circuit calculant en parallèle toutes les valeurs possibles d'une fonc- tion f(x) avec N qubits. Le l avec un / dans ce circuit représente un ensemble de n qubits. . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.10 Ouverture d'un cadenas classique . . . . . . . . . . . . . . . . . . . . 28 2.11 Ouverture d'un cadenas quantique . . . . . . . . . . . . . . . . . . . . 28 2.12 Circuit quantique de l'algorithme de Deutsch . . . . . . . . . . . . . . 32 2.13 Circuit quantique de l'algorithme généralisé de Deutsch-Jozsa. . . . . 33 2.14 Circuit de la transformée de Fourier quantique . . . . . . . . . . . . . 37 2.15 Le circuit quantique de l'algorithme de Grover. . . . . . . . . . . . . . 42 2.16 Interprétation géométrique de l'algorithme de Grover. . . . . . . . . . 43 3.1 Binary symmetric channel. . . . . . . . . . . . . . . . . . . . . . . . . 55 3.2 Circuit d'encodage du code bit-ip à 3 qubits . . . . . . . . . . . . . 57 v
  • 7. Résumé La puissance de calcul des ordinateurs classiques est expliquée par les progrès technologiques constamment réalisés dans le domaine de la miniaturisation des com- posants électroniques (transistors) suivant un rythme exponentiel de la loi de Moore. Cependant, cette loi porte en elle-même une limitation intrinsèque : si les transistors deviennent de plus en plus petits, les eets quantiques commenceront à apparaître et imposeront une barrière infranchissable pour améliorer la puissance de calcul. Une solution envisageable à ce dé lié à cette miniaturisation est de changer radicalement l'architecture des ordinateurs classiques et d'adopter une autre architecture capable de mettre à prot ces eets quantiques et mener à bien des calculs plus rapidement que l'ordinateur classique. Une telle architecture est un ordinateur quantique. Dans notre travail, nous avons montré l'apport de la mécanique quantique dans la réalisation d'un tel ordinateur fonctionnant au-delà de la loi empirique de Moore. Un ordinateur quantique tire sa puissance de calcul dans les phénomènes de l'intrication, de la superposition et du parallélisme quantiques. Ceci est bien illustré par l'algorithme de factorisation de Shor et l'algorithme de recherche de Grover. Les diérentes approches expérimentales mises en ÷uvre pour l'implémentation physique du calcul quantique ont en commun un même obstacle : la décohérence. vi
  • 8. Abstract The computing power of classical computers is explained by technological advances constantly made in the area of miniaturization of electronic components (transistors) at an exponential rate of Moore's Law. However, this law carries within itself an intrinsic limitation : if the transistors become smaller and smaller, quantum eects begin to appear and impose an insurmountable barrier to improve the computing power. One possible solution to this challenge linked to this miniaturization is to radically change the architecture of classical computers and adopt another architecture that is able to make prot these quantum eects and carry out compu- tations faster than the classical computer. Such architecture is a quantum computer. In our work, we have shown the contribution of quantum mechanics in the realization of such a computer running beyond the empirical law of Moore. A quantum computer gets its computing power from the phenomena of entanglement, superposition and quantum parallelism. This is well illustrated by Shor's factoring algorithm and Grover's search algorithm. The dierent experimental approaches used for the physical implementation of quantum computing have in common a same obstacle : decoherence. vii
  • 9. Table des matières Dédicace i Remerciements ii Liste des sigles et abréviations iii Liste des tableaux iv Table des gures v Résumé vi Abstract vii Table des matières viii Introduction générale 1 1 Concept de l'ordinateur classique 3 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 L'aspect matériel des composants de l'ordinateur . . . . . . . . . . . 3 1.2.1 Architecture de Von Neumann . . . . . . . . . . . . . . . . . . 3 1.2.2 Unité centrale ou processeur . . . . . . . . . . . . . . . . . . . 4 1.2.3 Structure du microprocesseur . . . . . . . . . . . . . . . . . . 4 1.2.3.1 L'unité de commande ou Séquenceur . . . . . . . . . 5 1.2.3.2 Unité de traitement . . . . . . . . . . . . . . . . . . 5 1.2.4 Principe de fonctionnement du microprocesseur . . . . . . . . 5 1.2.5 Les mémoires . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.6 Caractéristiques techniques d'une mémoire . . . . . . . . . . . 6 1.2.7 La mémoire vive et RAM ou mémoire lecture/écriture . . . . . 6 1.2.8 Opérations sur la mémoire . . . . . . . . . . . . . . . . . . . . 7 1.2.9 La mémoire morte ou mémoire à lecture seule, ROM . . . . . 7 1.2.10 Le bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 L'aspect logiciel de l'ordinateur classique . . . . . . . . . . . . . . . . 8 1.4 Codage de l'information . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5 Le transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5.1 Les semi-conducteurs . . . . . . . . . . . . . . . . . . . . . . . 10 1.5.2 Fonctionnement d'un transistor . . . . . . . . . . . . . . . . . 11 viii
  • 10. 1.6 Les portes logiques universelles . . . . . . . . . . . . . . . . . . . . . 11 1.6.1 La porte NAND . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6.2 La porte NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.7 Les grands dés de l'ordinateur classique . . . . . . . . . . . . . . . . 13 1.7.1 Les limites de la Loi de Moore . . . . . . . . . . . . . . . . . . 13 1.7.2 Factorisation des grands nombres . . . . . . . . . . . . . . . . 14 1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Concept de l'ordinateur quantique 17 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Qu'est-ce qu'un ordinateur quantique? . . . . . . . . . . . . . . . . . 17 2.3 Eléments quantiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.1 Les bits quantiques et mesure quantique . . . . . . . . . . . . 18 2.3.2 Calcul quantique et portes logiques quantiques . . . . . . . . . 20 2.3.2.1 Le calcul quantique . . . . . . . . . . . . . . . . . . . 20 2.3.2.2 Les portes logiques quantiques à un seul qubit . . . . 21 2.3.2.3 Les portes logiques quantiques à deux qubits . . . . . 23 2.4 Puissance de calcul quantique . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1 Intrication et mesure quantique . . . . . . . . . . . . . . . . . 25 2.4.2 La superposition et le parallélisme quantiques . . . . . . . . . 26 2.4.3 Théorème de non-clonage . . . . . . . . . . . . . . . . . . . . 29 2.5 Algorithmes quantiques et applications . . . . . . . . . . . . . . . . . 30 2.5.1 L'algorithme de Deutsch-Jozsa . . . . . . . . . . . . . . . . . . 30 2.5.1.1 La solution classique . . . . . . . . . . . . . . . . . . 31 2.5.1.2 La solution probabiliste . . . . . . . . . . . . . . . . 31 2.5.1.3 Algorithme de Deutsch . . . . . . . . . . . . . . . . . 31 2.5.1.4 Algorithme de Deutsch-Jozsa . . . . . . . . . . . . . 32 2.5.2 Algorithme de Shor . . . . . . . . . . . . . . . . . . . . . . . . 34 2.5.2.1 Transformée de Fourier quantique . . . . . . . . . . . 35 2.5.2.2 Une description détaillée de l'algorithme de Shor . . 38 2.5.3 Algorithme de recherche de Grover . . . . . . . . . . . . . . . 40 2.5.3.1 Position du problème . . . . . . . . . . . . . . . . . . 40 2.5.3.2 Formulation mathématique du problème . . . . . . . 40 2.5.3.3 Procédure de l'algorithme . . . . . . . . . . . . . . . 41 2.5.3.4 Représentation géométrique et détermination du nombre d'itérations . . . . . . . . . . . . . . . . . . . 42 2.5.4 Simulation de la nature . . . . . . . . . . . . . . . . . . . . . . 44 2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3 Implémentation physique du calcul quantique 46 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2 Les critères de DiVincenzo . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2.1 Un système physique évolutif d'un et de plusieurs qubits bien caractérisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2.2 La capacité d'initialiser l'état des qubits à un état de repère simple, comme |0...0 . . . . . . . . . . . . . . . . . . . . . . 47 ix
  • 11. 3.2.3 Longues durées de décohérence pertinentes, beaucoup plus long que le temps de fonctionnement de la porte . . . . . . . . 47 3.2.4 Un ensemble universel de portes logiques quantiques . . . . 49 3.2.5 Une capacité de mesures spéciques pour chaque qubit . . . . 50 3.3 Approches expérimentales . . . . . . . . . . . . . . . . . . . . . . . . 51 3.3.1 Les circuits supraconducteurs . . . . . . . . . . . . . . . . . . 51 3.3.2 La résonance magnétique nucléaire en solution-RMN . . . . . 53 3.3.3 Les ions piégés . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.4 Codes de correction d'erreurs quantiques . . . . . . . . . . . . . . . . 54 3.4.1 Code classique simple . . . . . . . . . . . . . . . . . . . . . . 54 3.4.2 Codes de correction d'erreurs quantiques . . . . . . . . . . . . 55 3.4.2.1 Récupération d'un état quantique . . . . . . . . . . . 56 3.4.2.2 Exemples de correction d'erreur quantique . . . . . . 57 3.4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Conclusion Générale et Perspectives 60 Bibliographie 62 x
  • 12. Introduction générale A l'heure actuelle, la miniaturisation des composants utilisés dans les ordina- teurs permet d'augmenter leur puissance de calcul. En 1965, Gordon E. Moore, co-fondateur de la société Intel, publia dans la revue Electronics Magazine un article dans lequel il constata que le nombre de transistors dans les microprocesseurs doublait environ tous les deux ans depuis leur invention [30]. Ce constat, connu sous le nom de la loi de Moore, a expliqué l'augmentation exponentielle de la puissance de calcul. Cependant, cette miniaturisation ne peut pas continuer sans limite. Si les transistors deviennent de plus en plus petits, en-dessous d'une certaine limite, les eets de la mécanique quantique commenceront à apparaitre. Ces eets imposeront une barrière infranchissable à l'amélioration de la puissance des ordinateurs modernes, si ce n'est pas déjà le cas. Conscients de cette barrière technologique, les chercheurs n'ont cessé de penser comment mettre à prot les propriétés quantiques de la matière. C'est ainsi que des chercheurs [45, 55, 73] émirent l'hypothèse de réaliser un ordinateur quantique dont le fonctionnement est basé sur la mécanique quantique. C'est sans doute, le physicien Richard Feynman [71], qui, en 1982, fut le premier à révéler les avantages que présenterait un tel ordinateur. La supériorité de l'ordinateur quantique sur l'ordinateur classique a été montrée pour la première fois par Peter Shor de Bells laboratories en 1994 [67]. Il inventa un algorithme quantique permettant la factorisation d'un entier en facteurs premiers en un temps dépendant de façon polynomiale de la taille de l'entier, alors que les meilleurs algorithmes classiques requièrent une dépendance exponentielle. En utilisant cet algorithme, un ordinateur quantique serait capable de casser les codes de la cryptographie basée sur la factorisation en un peu de temps que ne le ferait un ordinateur classique. D'autres algorithmes quantiques, plus rapides que leurs homologues classiques, ont été depuis proposés comme l'algorithme de Grover [52, 53], eectuant une recherche dans une base de données. Avec la motivation donnée par ces algorithmes, l'ordinateur quantique commença à intéresser la communauté scientique [25]. A part que l'ordinateur quantique semble être l'avenir de l'ordinateur classique sur sa piste de miniaturisation, il est important de noter qu'il y a plus de raisons de s'intéresser à l'ordinateur quantique. Selon les connaissances actuelles, notre monde physique présente deux paties : la partie classique et la partie quantique. Or, les ordinateurs classique sont des dispositifs dont le fonctionnement est basé sur les lois de la physique classique. Donc, ces ordinateurs n'exploitent pas entièrement les potentialités du monde physique pour le traitement de l'information. 1
  • 13. INTRODUCTION GENERALE Notre sujet de mémoire traitera de cette problématique. En eet, c'est dans le but d'explorer le monde physique et comprendre comment les lois de la physique quantique peuvent être mises au service de la réalisation théorique et pratique de l'ordinateur qui fonctionnera au-delà de la loi empirique de Moore que se situe ce mémoire. Ainsi, dans le premier chapitre, nous nous attarderons principalement à pré- senter l'architecture de base de l'ordinateur classique. C'est dans ce chapitre que seront abordés l'aspect matériel et logiciel, les portes logiques universelles réalisées à l'aide des transistors ainsi que les grands dés de l'ordinateur classique. Le deuxième chapitre constitue quant à lui un aperçu des notions fondamentales concernant l'ordinateur quantique. C'est dans ce chapitre que jaillira la lumière sur la contribution de la physique quantique pour le fonctionnement de l'ordinateur quantique. Nous verrons dans ce chapitre la dénition de l'ordinateur quantique, ses éléments, sa puissance ainsi que certains algorithmes quantiques célèbres. L'implémentation physique de l'ordinateur quantique fera objet du dernier cha- pitre de ce mémoire. Les critères nécessaires pour la réalisation de l'ordinateur quan- tique, les diérentes approches expérimentales, ainsi que les codes de corrections d'erreurs y seront discutés. Une conclusion générale et des perspectives clôtureront notre travail. 2
  • 14. Chapitre 1 Concept de l'ordinateur classique 1.1 Introduction Dans cette partie, nous décrivons l'architecture de base d'un ordinateur. Ce der- nier est une machine électronique qui traite de l'information c'est-à-dire une machine capable d'acquérir une information, de la stocker, de la transformer en eectuant des traitements quelconques et puis de la restituer sous une autre forme. Nous allons passer donc en revue ici la nature des composants de l'ordinateur en distinguant leur aspect matériel et leur aspect logiciel. Nous allons terminer le chapitre en présentant les dés de l'ordinateur classique. 1.2 L'aspect matériel des composants de l'ordina- teur Les travaux réalisés par le mathématicien hongrois Von Neumann et ses colla- borateurs constituent le fondement de l'architecture dans la quasi-totalité des ordi- nateurs contemporains [7]. Le schéma général et simplié de l'architecture de Von Neumann est présenté sur la gure 1.1 [41]. 1.2.1 Architecture de Von Neumann L'architecture, dite de Von Neumann décompose l'ordinateur en quatre parties : 1. Le processeur ou Unité Centrale, appelé familièrement puce est composé de deux unités : • une unité arithmétique et logique (UAL) ou tout simplement une unité de traitement. Son rôle est d'eectuer des opérations de base. • une unité de contrôle chargée des séquençages des opérations. 2. La mémoire qui contient à la fois les données et les programmes exécutés par l'unité de contrôle. La mémoire se divise en deux parties : la mémoire volatile ou RAM contenant des programmes et des données en cours de traitement et la mémoire permanente ou ROM qui stocke programmes et données de base de la machine. 3
  • 15. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 3. Les dispositifs d'entrée-sorties qui permettent de communiquer avec le monde extérieur. 4. Le bus qui relie les diérents composants. Figure 1.1 Architecture de Von Neumann. Dans la partie suivante, nous allons détailler chacun des composants de cette archi- tecture, an de comprendre comment fonctionne un ordinateur. 1.2.2 Unité centrale ou processeur Le processeur (ou CPU) est le c÷ur d'un ordinateur. Il s'agit d'un circuit intégré qui interprète les instructions et traite les données d'un programme. Il est caractérisé par : La fréquence de son horloge. Toute activité de l'ordinateur est synchronisée sur le rythme imposé par cette horloge de façon à ce que tous ses circuits électroniques travaillent en cadence. La fréquence de cette horloge s'exprime en hertz (MHz ou GHz). la largeur de ses registres exprimée en bits (8, 16, 32, 64, 128 bits) son nombre de noyaux de calcul. son jeu d'instruction sa nesse de gravure exprimée en nm ( nanomètres). 1.2.3 Structure du microprocesseur Le microprocesseur exécute les instructions constituant le programme. Cette tâche nécessite plusieurs interventions qui sont classées en général dans deux blocs diérents : l'unité de contrôle et l'unité de traitement associées à des registres chargés de stocker les diérentes informations à traiter. 4
  • 16. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 1.2.3.1 L'unité de commande ou Séquenceur Elle permet de séquencer le déroulement des instructions. Elle eectue la re- cherche en mémoire de l'instruction. Comme chaque instruction est codée sous forme binaire, elle assure le codage pour enn superviser son exécution puis eectuer la préparation de l'instruction suivante. L'unité de commande est composée par : 1. un compteur de programme (compteur ordinal). Il s'agit d'un registre qui sert à stocker en permanence l'adresse de l'instruction suivante. 2. un registre d'instruction . C'est dans ce registre que seront amenées, l'une après l'autre, les instructions à exécuter par le processeur. 3. un décodeur d'instruction : chacune des instructions à exécuter est rangée dans le registre puis est décodée par le décodeur d'instruction. 4. un bloc logique de commande : il organise l'exécution des instructions au rythme d'une horloge. Il élabore tous les signaux de synchronisation interne ou externe (bus de commande) du microprocesseur en fonction des divers signaux de commande provenant du décodeur d'instruction. 1.2.3.2 Unité de traitement C'est le c÷ur du microprocesseur. Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions. Elle est composée par : 1. un registre d'état : il sert à stocker le contexte du processeur, ce qui veut dire que les diérents bits de ce registre sont des drapeaux ags servant à stocker des informations concernant le résultat de la dernière instruction exécutée. 2. une unité arithmétique et logique (UAL). Comme son nom l'indique, l'UAL est véritablement l'organe de calcul de la machine. Elle prend en charge les calculs arithmétiques élémentaires (addition, soustraction, division, multiplication). Elle est constituée de circuits électroniques câblés une fois pour toute pour transformer les données d'une entrée vers le résultat escompté. 3. un accumulateur. Celui-ci est un registre utilisé pour stocker les données en cours de traitement par l'UAL. Il constitue la seule entrée des circuits réalisant les opérations binaires. 1.2.4 Principe de fonctionnement du microprocesseur Pour chaque instruction, le processeur eectue les opérations suivantes : 1. lire dans la mémoire principale l'instruction à exécuter : le processeur transmet à la mémoire l'adresse de l'instruction à lire, autrement dit le contenu du compteur ordinal et déclenche une opération de lecture. Il reçoit en retour une copie de l'instruction qu'il stocke dans son registre d'instruction. 2. le décodage : le processeur examine le contenu du registre d'instruction et détermine l'opération à eectuer. Si le contenu de registre ne correspond pas à une instruction valide, c'est une erreur. 5
  • 17. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 3. l'exécution : le processeur eectue l'opération décrite par l'instruction. Cette exécution fait appel à l'UAL. Cet opérateur eectue des calculs sur les données stockées dans des registres de calcul ou accumulateurs. 4. passer à l'instruction suivante : le processeur calcule l'adresse de l'instruction suivante. Après le microprocesseur, la mémoire est sans doute le composant le plus impor- tant dans un ordinateur. 1.2.5 Les mémoires Une mémoire est un composant électronique permettant de stocker l'information sous une forme binaire. Un ordinateur est composé de plusieurs types de mémoires. Nous pouvons distin- guer la mémoire principale à l'interne et les mémoires périphériques appelées aussi mémoires secondaires. La mémoire principale comporte une partie de mémoire vive et une partie de mémoire morte. Les mémoires secondaires sont des mémoires de grande capacité qui permettent de stocker les informations pour une plus longue période que ne le fait la mémoire principale de capacité plus limitée. Ce sont par exemple les disques durs externes, clé USB, etc. 1.2.6 Caractéristiques techniques d'une mémoire Pour apprécier une mémoire, nous préférons certaines caractéristiques dont les suivantes : La capacité : nombre total de bits que contient la mémoire. La taille du mot mémoire : nombre de bits que l'on peut mémoriser par case mémoire. On parle de largeur du mot mémorisable. Le temps d'accès : le temps qui s'écoule entre l'instant où a été lancée une opé- ration de lecture/écriture en mémoire et l'instant où la première information est disponible sur le bus des données. Le temps de cycle : il représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture. Le débit : nombre maximum d'informations lues ou écrites par seconde. La volatilité : elle caractérise la permanence des informations dans la mémoire. 1.2.7 La mémoire vive et RAM ou mémoire lecture/écriture Ce type de mémoire sert à stocker temporairement les données. Elle doit avoir un temps de cycle très court pour ne pas ralentir le microprocesseur. Les mémoires vives sont en général volatiles, elles perdent leurs informations en cas de coupure d'alimentation électrique. 6
  • 18. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 1.2.8 Opérations sur la mémoire Seul le processeur peut modier l'état de la mémoire. Chaque emplacement de la mémoire conserve les informations que le processeur y écrit jusqu'à la coupure de l'alimentation électrique, où tout le contenu est perdu. Les seules opérations possibles sur la mémoire sont : écriture à un emplacement : le processeur donne une valeur et une adresse, et la mémoire range la valeur à l'emplacement indiqué par l'adresse; lecture d'un emplacement : le processeur demande à la mémoire la valeur contenue à l'emplacement dont il indique l'adresse. Le contenu de l'emplace- ment auquel le processeur accède en lecture demeure inchangé. Il existe deux types de mémoires RAM qui se distinguent par leurs techniques de fabrication : les statiques et les dynamiques. Une mémoire RAM dite statique est basée sur l'utilisation d'un bistable de 2 transistors utilisés pour représenter un élément de mémorisation. Le bistable maintient un état électrique représentant une information binaire sans inuence extérieure. A chacun des états, un des transistors est saturé et l'autre est bloqué et seule l'application d'une tension électrique peut changer l'état du bistable. Une mémoire statique tire donc son nom du fait qu'un état stable soit maintenu sans intervention extérieure. Par contre, les mémoires dites dynamiques sont basées sur l'utilisation d'un condensateur qui maintient entre ses électrodes une certaine tension. Comme le condensateur se décharge, il faut donc procéder à un rafraîchissement périodique de la mémoire. Ce qui veut dire qu'une lecture est suivie d'une réécriture de la mémoire régulièrement pour maintenir l'état d'une mémoire dynamique. Pour certaines applications, il est nécessaire de pouvoir conserver des informa- tions de façon permanente même si l'ordinateur n'est pas sous une tension électrique. Dans ce cas, les mémoires non volatiles sont utilisées. 1.2.9 La mémoire morte ou mémoire à lecture seule, ROM Une mémoire ROM est d'abord un circuit intégré. Cela veut dire qu'il s'agit d'un ensemble de circuits inter-reliés dans le but d'exécuter une fonction. Dans ce cas, il s'agit d'une mémoire capable de stocker des données de façon permanente et de les restituer au besoin. C'est une mémoire qui ne peut qu'être lue. La ROM est un emplacement idéal pour mettre les instructions de démarrage de l'ordinateur, c'est-à-dire le BIOS (Basic Input Output System) qui constitue la couche basse de tous les systèmes d'exploitation sur les PC [27]. Elle est donc responsable de la gestion du matériel : écran, clavier, disques durs, etc. Il existe des variantes de mémoires ROM qui peuvent être programmées par l'utilisateur. Ce sont les PROM (Programmable ROM), parmi lesquelles nous dis- tinguons : les EPROM (Erasable PROM). Il s'agit d'une mémoire dont le contenu peut être eacé lorsqu'il est soumis à un rayonnement ultraviolet, autorisant ainsi une nouvelle programmation. 7
  • 19. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE les EEPROM (Electrically Erasable PROM). Il s'agit d'une mémoire ROM ayant l'avantage d'être eaçable électriquement. La communication entre les blocs de l'ordinateur est facilitée par les organes de liaison appelés bus. 1.2.10 Le bus Il s'agit d'un ensemble de ls permettant le transport de plusieurs bits en pa- rallèle. Le nombre de ls est égal au nombre de bits à transmettre en parallèle. Sur le schéma de la gure 1.1 de la section 1.2.1 gurent ainsi trois bus dont les noms désignent le type d'informations qu'ils transportent : un bus de données/résultats qui assure le transfert des informations entre la mémoire centrale et l'unité de traitement et inversement. Il est donc bi- directionnel. Son nombre de lignes est égal à la capacité du traitement du microprocesseur. un bus d'adresse (instructions) unidirectionnel qui fait transiter les instruc- tions élémentaires des mots mémoire vers le registre d'instruction de l'unité de commande. un bus de commande qui sert à transmettre les demandes d'éxecution d'opérations de l'unité de commande vers l'unité de traitement. L'aspect matériel (Hardware) et l'aspect logiciel (Software) sont indissociables, l'un ne peut fonctionner sans l'autre. Ce dernier mérite également d'être décrit sommairement. 1.3 L'aspect logiciel de l'ordinateur classique La partie logicielle d'un ordinateur est constituée de l'ensemble de codes stockés dans sa mémoire, et plus particulièrement de ses programmes. Mais, depuis le dé- but de l'information, les codes se sont superposés les uns sur les autres, constituant ce qu'on appelle couches logicielles [41]. Le logiciel est réparti en deux enti- tés : le logiciel de base, d'une part, et le logiciel d'application, d'autre part. Comme son nom l'indique, le logiciel d'application recouvre des milliers d'applications dif- férentes. Quant au logiciel de base, sa dénomination fait penser qu'il constitue la base ou le socle des diverses couches logicielles indispensables au fonctionnement de l'ordinateur. Parmi les logiciels les plus usuels, il en est un qui est devenu indispen- sable à tous les ordinateurs actuels : c'est le système d'exploitation. Il s'agit d'un ensemble de programmes qui assurent les fonctions de base de l'ordinateur. Sans ces programmes constituant le système d'exploitation, l'ordinateur ne pourrait pas marcher et les logiciels d'application ne pourraient pas s'exécuter. Ses rôles principaux sont les suivants : fournir une interface entre l'ordinateur et l'utilisateur pour permettre à ce dernier de donner des ordres à la machine ou pour lui signaler les erreurs d'exécution. 8
  • 20. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE gérer les ressources de l'ordinateur tels que ses mémoires, son micropro- cesseur et ses périphériques. masquer les particularités de la machine en substituant aux ressources phy- siques des abstractions indépendantes de la nature du support sur lequel les données sont réellement stockées. En résumé, le système d'exploitation est la couche logicielle de base qui s'intercale toujours entre l'utilisateur et le matériel. Ainsi, pour passer du logiciel au matériel, l'information doit être codée. 1.4 Codage de l'information Tout au début du chapitre nous avons évoqué qu'un ordinateur est une machine qui traite l'information. L'unité de base de cette information classique est le bit, contraction de Binary digit, qui signie en anglais nombre binaire. Un bit est un composant quelconque ne pouvant se trouver que dans deux états possibles, exclusifs l'un de l'autre [27]. Le codage d'une information consiste à établir une correspondance entre la représentation externe (habituelle) de l'information et sa représentation interne dans la machine. Nous utilisons la représentation binaire car elle est simple, facile à réaliser techniquement à l'aide des bistables (système à deux états réalisés à l'aide des transistors). Le traitement de l'information correspond alors au traitement d'un ensemble de bits, et s'eectue par l'intermédiaire des portes logiques que nous exposerons dans la section 1.6. Ces portes logiques prennent en entrée un certain nombre de bits, disons n, et fournissent en sortie un résultat sur m bits. Physiquement, ces circuits sont réalisés à l'aide des transistors et autres puces électroniques, où un bit à 0 correspond à un faible potentiel, et un bit à 1 à un fort potentiel (le plus souvent) [59]. 1.5 Le transistor Le composant élémentaire d'un circuit électronique est le transistor [65]. Des transistors sont alors regroupés et agencés pour remplir une certaine fonction, for- mant des circuits logiques élémentaires appellés portes logiques . Ce sont ces portes logiques, reliées les unes aux autres, qui forment l'ossature de la carte mère, et assurent le fonctionnement de l'ordinateur. Dans cette section, nous expliquerons le fonctionnement d'un transistor ainsi que la façon de réaliser des portes logiques avec des transistors. La technologie utilisée pour fabriquer les microprocesseurs est la technologie MOS (Metal Oxyde Semi-conductor). Nous allons expliquer d'abord en quoi consiste un semi-conducteur. 9
  • 21. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 1.5.1 Les semi-conducteurs Les semi-conducteurs sont des éléments qui possèdent 4 électrons de valence sur la dernière couche. Il s'agit du silicium (Si), du germanium (Ge) ou un mélange d'éléments ayant 3 et 5 électrons de valence comme l'arséniure de gallium AsGa (le gallium avec 3 électrons et arsenic avec 5 électrons). Ces semi-conducteurs sont très utilisés dans la fabrication des composants élec- troniques de l'ordinateur. Parmi ces semi-conducteurs nous en distinguons 2 types suivant qu'ils sont intrinsèques ou dopés : 1. Les semi-conducteurs intrinsèques. Dans un cristal de silicium pur, les atomes forment 4 liaisons covalentes avec 4 autres atomes voisins. Leurs couches ex- ternes sont saturées en partageant les électrons. Naturellement, la structure du cristal est stable et le silicium n'est pas conducteur du courant électrique. Cependant, une fois que la température augmente, les électrons acquièrent de l'énergie supplémentaire qui provoque la rupture de certaines liaisons cova- lentes et deviennent libres. Dans ce cas, le silicium devient un peu conducteur, d'où le nom de semi-conducteur. 2. Les semi-conducteurs dopés. Le silicium peut être dopé en introduisant des impuretés dans le cristal. Nous distinguons deux types de dopage suivant la nature des éléments ajoutés au silicium. Si le dopage est réalisé en remplaçant un atome de silicium dans le cristal par un élément ayant 5 électrons de valence, nous parlons de semi-conducteur de type n. L'atome ayant 5 électrons de valence forme 4 liaisons covalentes et garde un électron libre. Si le dopage est réalisé en remplaçant un atome de silicium dans le cristal par un élément ayant 3 électrons de valence, nous parlons de semi-conducteur de type p. L'atome ayant 3 électrons de valence ne peut que former 3 liaisons covalentes et garde un trou d'électron. La combinaison de ces deux types ( p et n) donne une jonction appelée une diode dont le symbole est représenté sur la gure 1.2. La partie du type n est appelée cathode (C) tandis que la partie du type p est appelée anode (A). Dans une diode, le courant électrique ne circule que dans un seul sens. Figure 1.2 Représentation schématique d'une diode Il existe deux types de transistors MOS : les transistors de types n et les tran- sistors de type p. Les microprocesseurs actuels utilisent des transistors des deux types. Nous parlons alors de technologie CMOS (Complementary Metal Oxyde Semi- conductor). 10
  • 22. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 1.5.2 Fonctionnement d'un transistor Le transistor comporte trois parties (Figure 1.3) [65] : 1. Le collecteur (drain) est la sortie du transistor, il est relié au l d'où vient la tension Vcc (5 volts de courant continus) de l'alimentation. 2. L'émetteur (source) est relié à la masse (0 volts). 3. La base (grille) constitue la connexion d'entrée. Tout dépend de la tension Ve qui lui est appliquée : Si aucune tension n'est appliquée à la base (Ve = 0V ), le transistor bloque le courant entre collecteur et émetteur, et la sortie passe à la tension Ve = 5V . Si une tension (Ve = 5V ) est appliquée sur la base en entrée, le courant passe entre le collecteur et l'émetteur, ce qui met la sortie à la masse, soit Vs = 0V . Figure 1.3 Représentation schématique du transistor C'est avec ces transistors que sont réalisées les portes logiques. Dans la suite, nous allons introduire les portes logiques universelles. 1.6 Les portes logiques universelles Il existe deux portes logiques NAND et NOR dites portes logiques univer- selles du fait qu'elles permettent, par diverses combinaisons possibles, de construire n'importe quelle autre porte logique. La possibilité de telles portes universelles ex- plique d'une part la miniaturisation remarquable des ordinateurs contemporains étant donné que les constructeurs de ces derniers n'ont besoin que de se focaliser sur la miniaturisation d'un seul type de porte [11, 17]. 1.6.1 La porte NAND La porte NAND comporte deux transistors n et deux transistors p. Les deux transistors sont en série entre la masse et la sortie, les deux autres transistors p sont en parallèle entre l'alimentation et la sortie (Figure 1.4). Les grilles d'un transistor n et d'un transistor p sont connectées à l'entrée a. Les grilles de l'autre transistor n et de l'autre transistor p sont connectées à l'entrée b. La sortie est donc reliée à la masse. 11
  • 23. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE La porte NAND est toutefois irréversible : puisque cette porte a moins de bits de sortie que les bits d'entrées, connaissant le bit de sortie il est impossible de dire quel était la valeur des bits d'entrée. Ainsi, pour chaque utilisation de cette opération, un bit d'information est eacé de façon irrécupérable. Au contraire, dans le calcul réversible aucune information n'est eacée du fait que l'entrée peut être récupérée à partir de la sortie. Cependant l'irréversibilité du calcul est en relation avec la consommation de l'énergie. En raison du principe de Landauer, il y a dissipation d'énergie quand une information est eacée [10, 37]. Figure 1.4 Représentation schématique et symbole de la porte NAND Entrée Sortie a b a.b 0 0 1 0 1 1 1 0 1 1 1 0 Tableau 1.1 Table de vérité d'une porte NAND 1.6.2 La porte NOR La porte NOR est constituée de quatre transistors dont deux n-MOS et deux autres p-MOS. C'est le circuit dual du circuit de la porte NAND. Les deux transistors p-MOS qui étaient en parallèle dans le circuit de la porte NAND sont en série dans le circuit de la porte NOR. Au contraire, les deux transistors n-MOS qui étaient en série dans le circuit de la porte NAND sont en parallèle dans le circuit de la porte NOR (Fig.1.5). 12
  • 24. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE Entrée Sortie a b a + b 0 0 1 0 1 0 1 0 0 1 1 0 Tableau 1.2 Table de vérité d'une porte NOR Figure 1.5 Représentation schématique et symbole de la porte NOR Jusqu'ici, nous avons présenté l'architecture de base de l'ordinateur au sens déni dans l'introduction. Cependant l'ordinateur que nous avons décrit, même si il existe avec des performances que nous jugeons acceptables, a pourtant ses dés. La section suivante fera objet d'étude des grands dés de l'ordinateur classique. 1.7 Les grands dés de l'ordinateur classique 1.7.1 Les limites de la Loi de Moore No exponential is forever. Your job is to delay forever., Andrew Gordon Moore. La partie matérielle de l'ordinateur a connu une croissance étonnante en ce qui concerne la puissance des microprocesseurs depuis 1971, date à laquelle est commercialisé le premier microprocesseur Intel 4004 doté de 2300 transistors [32]. Un certain jour en 1965, lorsque Gordon Moore, co-fondateur de l'Intel, préparait son exposé à propos de la performance des puces de mémoires, il constata que la densité des transistors sur une puce avait doublé environ tous les 2 ans depuis leur invention en 1947 par John Bardeen, Walter Brattain et Will Shockley [40]. Cette conjecture est connue sous le nom de la loi de Moore. De façon remarquable, cette conjecture a continué de se vérier au cours du temps, montrant certes un écart à la loi postulée originellement par Moore mais témoignant cependant de la justesse de son intuition (Fig. 1.6)[39]. 13
  • 25. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE Cependant, la loi de Gordon Moore porte en elle-même une limitation intrin- sèque. En eet, à un moment donné les transistors ne feront que quelques atomes d'épaisseur (Fig. 1.7) [11]. Une fois donc descendu en dessous de la taille minimale du transistor, les eets quantiques qui ne sont pas pris en compte par la théorie de l'informatique actuelle deviennent importants. Dans ce cas, seule la mécanique quantique peut être utilisée pour décrire les phénomènes physiques tels que le comportement électrique des matériaux. Conscients de cette barrière technologique inéluctable, des chercheurs en informa- tique se demandent comment construire un ordinateur qui fonctionnera au-delà de cette barrière. Une solution envisageable à ce dé serait l'utilisation des ordinateurs fonctionnant à base des lois qui régissent le monde quantique. Figure 1.6 Loi de Moore : évolution du nombre de transistors dans une puce Intel En plus de ce dé lié au matériel, il existe un autre dé lié à la sécurité des données. L'exemple illustratif est de celui de la factorisation des grands nombres. 1.7.2 Factorisation des grands nombres Jusqu'aujourd'hui, les ordinateurs classiques ont connu des progrès fantastiques. Ils ont atteint un niveau de performance et de compacité remarquable. Aussi puis- santes que soient ces machines, il existe pourtant des problèmes diciles qu'elles ne peuvent pas traiter ecacement. Parmi ces problèmes nous pouvons citer celui de la factorisation des grands nombres. 14
  • 26. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE Figure 1.7 Nombres d'atomes nécessaires pour représenter 1 bit d'information en fonction de l'année. Dans ce mode semi-logarithmique, la droite indique qu'on a une évolution exponentielle. Par extrapolation, on en déduit que le niveau 1 atome pour 1 bit sera atteint aux environs de 2020. En particulier, la méthode RSA, utilisée dans les transmissions bancaires par exemples, repose sur ce fait : on fait transiter publiquement un très grand nombre que l'on sait être produit de deux nombres premiers. La connaissance d'un de ces nombres permettrait de casser la sécurité de la transmission, mais vu que la complexité de ce problème s'accroit rapidement (exponentiellement) avec la taille (nombre de bits) du nombre à factoriser, on considère que la transmission est sûre. En eet, si l'on veut factoriser un nombre de 300 chires, il faut eectuer, grâce aux méthodes actuelles 1026 opérations. Si pour réaliser ces opérations, on utilise l'ordinateur le plus puissant aujourd'hui (capable de réaliser 1014 opérations par seconde), il faudrait à cet ordinateur, 30 000 ans pour eectuer tous les calculs nécessaires [72]. La plupart des codes cryptographiques utilisés aujourd'hui tirent leur sécurité de la complexité de calcul de la factorisation [56]. Signalons que jusqu'aujourd'hui, il n'y a aucune preuve mathématique que les algorithmes classiques ecaces pour factoriser les grands nombres premiers n'existeraient pas. Dans le monde quantique, un algorithme ecace de factorisation existe, le plus célèbre est l'algorithme de Shor [67]. Cet algorithme permet de factoriser un nombre en temps polynomial sur un ordinateur quantique comme nous allons le voir dans le chapitre suivant. En eet, l'algorithme de Shor et les calculs quantiques permettent de n'eectuer que 107 opérations pour factoriser un nombre de 300 chires. De plus, en utilisant un ordinateur quantique capable de réaliser une opération par microseconde, il faudrait à cet ordinateur seulement 10 secondes pour factoriser ce nombre. Si son évolution se poursuit, il remettrait en cause une bonne partie de nos algorithmes de cryptologie basée sur la méthode RSA. D'où la nécessité de développer d'autres méthodes de cryptologie, résistant à une attaque quantique telle que la cryptographie quantique. 15
  • 27. CHAPITRE 1 : CONCEPT DE L'ORDINATEUR CLASSIQUE 1.8 Conclusion L'architecture de l'ordinateur que nous venons de voir, étant basée sur la mi- croélectronique Silicium, est fondée sur les lois physiques de la mécanique classique. Ainsi, pour accélérer sa puissance de calcul, l'industrie de la microélectronique ne cesse de réduire les dimensions des transistors qui composent le microprocesseur, c÷ur de l'ordinateur. En d'autres termes, elle ne cesse d'augmenter le nombre de transistors sur une unité de surface d'une puce électronique. Cependant, l'augmenta- tion de la puissance de l'ordinateur suivant le rythme exponentiel de la loi de Moore se heurte à certains problèmes. Lorsque la taille des transistors atteindra une dizaine de nanomètres, les eets quantiques commenceront à apparaitre. Ainsi, en-dessous d'une certaine limite, les transistors ne fonctionneront plus d'une manière détermi- niste dans l'état bloqué ou passant, mais plutôt d'une manière probabiliste. Ce qui veut dire que le transistor se trouvera dans une superposition de ces deux états avec une certaine probabilité relative. Pour trouver la solution à tous ces problèmes, il faudra changer radicalement l'architecture en adoptant une autre architecture ca- pable de mettre à prot ces eets quantiques tel que l'ordinateur quantique. Le chapitre suivant fera objet de l'ordinateur quantique. 16
  • 28. Chapitre 2 Concept de l'ordinateur quantique 2.1 Introduction Dans le chapitre précédent, nous avons parlé de l'ordinateur classique. La miniaturisation des composants élémentaires de cet ordinateur qui permet, depuis les années 1960, de doubler la puissance des processeurs environ tous les deux ans est cependant limitée par l'apparition des eets quantiques indésirables pour leur fonctionnement classique. Nous sommes dans ce cas, dans un autre monde où les comportements des composants élémentaires sont dictés par d'autres lois, celles de la mécanique quantique. C'est dans cette optique que les chercheurs ont formulé l'hypothèse d'un ordinateur basé sur les principes quantiques. Pour eux, un système capable de pouvoir fonctionner dans ce nouveau monde de calcul, au-delà de la frontière, est un ordinateur quantique. Le Physicien Richard Feynman, Prix Nobel de Physique 1965, fut le premier à prophétiser l'ordinateur quantique quand il disait, en 1982 : Au lieu de nous plaindre que la simulation des phénomènes quantiques demande des puissances énormes à nos ordinateurs actuels, utilisons la puissance de calcul des phénomènes quantiques pour faire plus puissant que les ordinateurs actuels. [34] Dans ce chapitre, nous allons nous pencher sur l'ordinateur quantique. Nous al- lons commencer par donner une dénition de l'ordinateur quantique, et pour cela introduire ses briques élémentaires : les qubits et les portes quantiques. Nous verrons comment les qubits se comportent vis-à-vis de la combinatoire du calcul quantique, et ce qui les rend si diérents des bits classiques : pourquoi leur composition aboutit- il à un espace d'états exponentiellement grand donnant toute sa puissance de calcul à l'ordinateur quantique? Et enn nous terminerons par des algorithmes et appli- cations quantiques illustrant la puissance de calcul quantique. 2.2 Qu'est-ce qu'un ordinateur quantique ? Un ordinateur quantique est un ordinateur dont l'objectif est de permettre la manipulation et l'analyse de l'information quantique. L'unité de stockage de cette information n'est plus un bit classique mais plutôt un qubit, contraction de 17
  • 29. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE quantum bit . Plusieurs théoriciens ont donné une dénition assez précise d'un ordinateur quantique. Celle qui est utilisée par la majorité des équipes de recherche est celle de David DiVincenzo des Laboratoires de IBM [20]. Un ordinateur quantique est un système de qubits qui doit présenter les carac- téristiques suivantes : 1. Pouvoir initialiser tous les qubits dans un état bien déterminé au début du calcul 2. Etre capable de mesurer ecacement les états quantiques du registre à la n du calcul 3. Le registre quantique doit être bien isolé de l'environnement, de sorte que les erreurs dues à la décohérence peuvent être minimisées. 4. Disposer de susamment de portes quantiques pour pouvoir eectuer toutes les opérations quantiques. 5. L'architecture du système doit être en mesure d'accommoder un grand nombre de qubits. Comme nous allons le voir dans le dernier chapitre, certains des dispositifs expé- rimentaux les plus récents permettent de satisfaire les quatre premiers points tandis que le dernier point reste le plus dicile à satisfaire. La description ci-dessus ne nous dit rien sur l'architecture que pourra posséder un tel ordinateur. Expérimentalement, nous verrons que les approches sont très variées, et que souvent les architectures sont surprenantes, et ne correspondent en rien à l'image classique que nous nous faisons d'un ordinateur. 2.3 Eléments quantiques 2.3.1 Les bits quantiques et mesure quantique Physiquement, le support d'un qubit peut être une particule, un atome, un ion, voire une molécule. Le support doit être susamment petit pour appartenir au domaine quantique, et susamment grand pour être isolable et utilisable avec la technologie actuelle [44]. Mathématiquement, un qubit est un système physique isolé (ou du moins une représentation abstraite d'un système physique) évoluant dans un espace vectoriel complexe de dimension deux, plus précisément dans un espace de Hilbert, et possède une base particulière {|0 , |1 } appelée base standard. Les états |0 et |1 correspondent respectivement au nombre binaire 0 et 1. Ces états peuvent correspondre aux polarisations |↑ et |→ , ou bien | et | d'un photon. Ils peuvent correspondre également aux états spin haut, spin bas d'un électron, ainsi qu'aux états (fondamental, excité) d'un niveau à deux états. La notation | est appelée notation de Dirac . La diérence entre un bit et un qubit est qu'un qubit peut se trouver dans un état autre que |0 ou |1 telle que la superposition linéaire de ces états. 18
  • 30. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Ainsi l'état d'un qubit s'écrit : |ψ = α |0 + β |1 (2.1) où α et β sont des nombres complexes représentant les amplitudes de probabi- lité d'obtenir |0 ou |1 respectivement quand l'état |ψ est mesuré et satisfont la condition de normalisation |α|2 + |β|2 = ψ|ψ = 1 (2.2) Ce principe de superposition rend le traitement de l'information quantique très diérent de celui de l'information classique [60]. Géométriquement, un qubit peut être représenté par une sphère, appelée sphère de Bloch (Fig. 2.1)[76] où l'état|ψ du qubit correspond à un point à la surface de la sphère. Figure 2.1 Représentation géométrique d'un qubit par une sphère de Bloch. Nous pouvons donc écrire la relation (2.1) sans perte de généralités comme suit : |ψ = cos θ 2 |0 + eiφ sin θ 2 |1 (2.3) avec 0 ≤ θ ≤ π et 0 ≤ φ ≤ 2π à un facteur de phase près. Contrairement au cas du bit où nous avons un nombre d'états possibles nis, un qubit peut prendre une innité de valeurs étant donné que les amplitudes de probabilités prennent un continuum de valeur. Cependant la mesure d'un qubit ne permet au nal de lire qu'un seul bit d'information classique. De la même manière que l'état d'un seul qubit, l'état d'un registre quantique de N qubits peut se décomposer sur la base {|0...00 , |0...01 , ..., |1...11 } obtenue à partir de la base standard par produits tensoriels successifs. 19
  • 31. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE L'état |ψ d'un registre quantique de N qubits peut alors s'écrire comme une combinaison linéaire à 2N amplitudes : |ψ = α0...00 |0...00 + α0...1 |0...1 + ... + α1...1 |1...1 (2.4) avec |α0...0|2 + |α0...1|2 + ... + |α1...1|2 = 1 Si nous remplaçons |0...0 , |0...1 , ..., |1...1 respectivement par |0 , |1 ,..., 2N − 1 , nous remarquons que nous pouvons réécrire la relation (2.4) comme suit : |ψ = 2N −1 i=0 αi |i (2.5) avec 2N −1 i=0 |αi|2 = 1 et αi : amplitudes de probabilité. Comme toute grandeur physique mesurable, la mesure d'un système quantique dans l'état |ψ ne peut donner comme résultat que le système dans l'un des états |i avec une probabilité αi, modiant éventuellement sa valeur pour la xer sur un des vecteurs de la base standard, le résultat de cette mesure, correspond à N bits d'information classique. La mesure perturbe l'état du système [72]. La stratégie pour trouver des algorithmes capable d'extraire le résultat escompté de cette mesure destructrice consiste à trouver des algorithmes qui privilégient les réponses plausibles et faciles à vérier. Comme le résultat d'un calcul quel qu'il soit devra nir par être mesuré pour être exploitable, la force de l'ordinateur quantique ne réside donc pas dans la simple superposition des qubits mais plutôt dans la taille de l'espace des états qu'elle autorise [19]. An de réaliser des calculs sur les registres, il convient de dénir l'analogue des portes logiques classiques dans le monde quantique. 2.3.2 Calcul quantique et portes logiques quantiques 2.3.2.1 Le calcul quantique L'évolution temporelle d'un registre quantique constitue un calcul [51]. Le cal- cul quantique est en général l'évolution et la transformation unitaire d'un système quantique dont la dynamique est gouvernée par les équations de Schrödinger. Il est réalisé en trois étapes, (Fig. 2.2) [3] : 1. La préparation de l'état initial : entrée des données |Input 2. Evolution (calcul) :|output = U |Input 3. Mesure (résultat ou sortie) : projection sur la base standard de calcul. 20
  • 32. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Les états |Input et |output sont des combinaisons linéaires des états de la base de calcul {|0 , |1 }⊗N . Les N qubits sont préparés dans l'état |0 = |Input au temps t0, c'est la phase de préparation du système quantique, et le vecteur d'état initial |Input appartient à un espace de Hilbert à 2N dimensions, {|0 , |1 }⊗N . Ces qubits subissent ensuite une évolution purement quantique décrite par un opérateur unitaire U(t, t0) agissant sur {|0 , |1 }⊗N . L'état |Input au temps t0 est lié à l'état |output du système au temps t par l'opérateur unitaire U qui dépend uniquement de t0 et t. Une mesure est eectuée au temps t sur les qubits an d'obtenir le résultat du calcul une fois que l'évolution unitaire est achevée, sinon, toute mesure modierait cette dernière. Figure 2.2 Schéma du principe de calcul quantique Un point essentiel est que les transformations doivent être réversibles pour préserver l'orthogonalité. Nous pouvons nous les représenter comme des rotations d'un espace vectoriel complexe. Etant donné que le traitement de l'information quantique s'eectue par l'action des portes logiques quantiques sur le registre, il s'en suit qu'une porte logique quantique n'est rien d'autre qu'une opération unitaire qui agit sur un petit nombre de qubits (typiquement un ou deux qubits). Ces portes doivent être réversibles car une opération unitaire est réversible. En eet, U∗ U = UU∗ = I [25]. Contrairement à la théorie classique de l'information pour laquelle il n'existe que deux portes (l'identité et l'inversion NOT), il existe une innité des portes logiques quantiques (chaque rotation sur la sphère de Bloch en est une) qui peuvent toutes s'obtenir par combinaisons de quelques portes élémentaires, formant un ensemble universel des portes quantiques. Dans la section suivante nous allons parler de quelques portes quantiques élémentaires fréquemment rencontrées en information quantique [2, 23]. 2.3.2.2 Les portes logiques quantiques à un seul qubit Les portes à un qubit sont des matrices unitaires dites matrices de Pauli qui agissent sur les vecteurs d'état de l'espace de Hilbert {|0 , |1 }. Elles peuvent être toutes obtenues par la combinaison de deux familles des portes quantiques : les portes PHASE et les portes ROTATION eectuant des rotations respectivement autour de l'axe z et l'axe y (Fig. 2.1). 21
  • 33. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE 1. Les portes PHASE Z(flip) modient la phase relative du qubit. Elles s'écrivent dans la base {|0 , |1 } comme suit PHASE(θ) = 1 0 0 eiθ = eiθ 2 e−i θ 2 σz (2.6) avec la matrice de Pauli σz = Z = 1 0 0 −1 (2.7) Si nous appliquons la porte Z sur un qubit d'état |ψ = α |0 +β |1 dont la notation vectorielle est α β nous remarquons que le signe devant β change alors que le signe devant α reste inchangé. Z |ψ = 1 0 0 −1 α β = α −β (2.8) Figure 2.3 Représentation schématique d'une porte PHASE Z 2. Les portes ROTATION changent les poids de la superposition d'états du qubit Elles s'écrivent comme suit : ROTATION(α) = cos α − sin α sin α cos α = e−iασy (2.9) Avec la matrice de Pauli σy = 0 −i i 0 (2.10) Figure 2.4 Représentation schématique d'une porte ROTATION Y La composition de ces deux portes permet d'obtenir toutes les autres portes à un qubit parmi lesquelles nous pouvons citer : La porte NOT qui change l'état du qubit correspondant à la composition ROTATION(π 2 ) ◦ PHASE(π) X = NOT = 0 1 1 0 (2.11) 22
  • 34. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Figure 2.5 Représentation schématique d'une porte NOT La porte Hadamard H correspondant à la composition ROTATION(π 4 ) ◦ PHASE(π) H = 1 √ 2 (X + Z) = 1 √ 2 1 1 1 −1 (2.12) Figure 2.6 Représentation schématique d'une porte de Hadamard La transformation Hadamard possède un nombre important d'applications [25] : • Appliquée à un état |x , la porte de Hadamard crée un état de superposition H |x = 1 √ 2 (|0 + (−1)x |1 ) (2.13) • Appliquée à un registre d'entrée à N qubits, initialement préparés dans l'état |0 , la porte de Hadamard génère une superposition de tous les 2N états pos- sibles, qui peut être vue comme une représentation binaire des nombres com- pris entre 0 et 2N − 1 codés sur N bits [11]. H⊗N |00 · · · 0 = 1 √ 2N ((|0 + |1 ) ⊗ (|0 + |1 ) ⊗ · · · ⊗ (|0 + |1 )) = 1 √ 2N 2N −1 x=0 |x (2.14) Une telle transformation est appelée aussi, transformation Walsh, ou transfor- mation Walsh-Hadamard. 2.3.2.3 Les portes logiques quantiques à deux qubits Les portes à deux qubits sont des matrices unitaires qui agissent sur les vecteurs d'état de l'espace de Hilbert obtenu par le produit tensoriel des états de la base standard formant la base de calcul {|00 , |01 , |10 , |11 } . La porte quantique la plus généralisée est la porte contrôle-unitaire, notée CU (Controled Unitary operator gate en anglais). Elle permet l'intrication des qubits et utilise un qubit appelé qubit de contrôle. Ce dernier sert à déterminer l'action de la porte quantique sur l'autre qubit, appelé qubit cible (target qubit en anglais). Si le qubit de contrôle est dans l'état |0 , alors le qubit cible reste inchangé. 23
  • 35. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Dans le cas contraire, la porte quantique change le qubit cible. Il existe un grand nombre de telles portes. Nous représentons ici les portes qui sont sans doute les plus connues [76]. Présentons d'abord la porte contrôle-PHASE, notée CPHASE. Il s'agit d'une porte qui applique la porte phase sur le qubit cible pourvu que le qubit de contrôle soit dans l'état |1 . Sa particularité réside dans le fait que le qubit de contrôle peut être n'importe lequel des deux qubits. La porte CPHASE s'écrit dans la base de calcul comme suit [76] CPHASE =     1 0 0 0 0 1 0 0 0 0 1 0 0 0 o eiθ     (2.15) et ajoute donc une phase θ à l'état |11 . Présentons ensuite la porte Non-contrôlé , notée CNOT (Controlled-NOT en anglais). Elle bascule l'état du qubit cible lorsque le qubit de contrôle est dans l'état |1 . Elle est donnée par la représentation matricielle suivante [76] : CNOT =     1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0     (2.16) Elle peut également être décrite comme une généralisation de la porte XOR classique, du fait qu'elle peut être donnée par cette relation [76] CNOT |x |y → |x |x ⊕ y . Sa table de vérité est donnée par Entrée Sortie x y x x ⊕ y 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 Tableau 2.1 Table de vérité d'une porte Controlled-NOT Son circuit est donné par la gure 2.7 et nécessite une certaine interprétation : • (|x ) : qubit de contrôle ⊕ : somme modulo 2 trait horizontal : évolution trait vertical : produit tensoriel |y : qubit cible En associant la porte CNOT aux portes permettant la construction générale des opérations à un qubit, nous obtenons un ensemble universel des portes logiques quantiques susantes pour réaliser n'importe quel calcul [16, 21, 56, 76]. 24
  • 36. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Figure 2.7 Circuit d'une porte Controlled-NOT 2.4 Puissance de calcul quantique Nous entrons ici au c÷ur de ce qui fait la diérence entre un ordinateur classique et un ordinateur quantique. Cette diérence réside essentiellement au phénomène d'intrication et à la superposition d'un nombre gigantesque d'états impliquant une croissance exponentielle de l'espace des états en fonction du nombre de bits quan- tiques manipulés [25]. 2.4.1 Intrication et mesure quantique L'intrication quantique est un phénomène exclusivement quantique qui n'a pas d'équivalent en Physique Classique. Elle est à l' origine de la dimension exponentielle du nombre d'états d'un système de N qubits. Le phénomène de l'intrication repose sur les principes mathématiques et physiques de la mécanique quantique. C'est-à-dire, les notions de vecteurs d'états et de produits tensoriels de ces vecteurs d'états d'une part et les principes de superposition des états et de réduction du vecteur d'état d'autre part [35]. Deux qubits peuvent être fortement intriqués de manière que la mesure sur un de ces derniers inuence le résultat sur l'autre qubit même s'ils empruntent des chemins diérents et s'éloignent l'un de l'autre. Ceci est connu sous le nom de la non-localité [55]. Au contraire, l'information classique est locale : la lecture d'un bit localisé en un point de l'espace est indépendante des bits présents en d'autres points. La non-localité permet ainsi d'identier l'intrication comme étant au c÷ur de la mécanique quantique et lui confère un aspect fondamental qui est à la base des diérents protocoles de la cryptographie quantique et algorithmes de l'information quantique [36, 69]. L'illustration typique de la non-localité est le cas où deux qubits sont portés par une paire de photons dits intriqués, produits simultanément par un même processus physique et décrits par une seule fonction d'onde [60]. Les interactions des photons entre eux pendant le calcul préparent en général un état non-factorisable qui explicite le paradoxe Einstein-Podolsky-Rosen (EPR)[4] utilisée dès 1935 pour illustrer la non-localité de la mécanique quantique. L'argument est le suivant : les lois de la mécanique quantique permettent la formation de paires de particules intriquées , ayant interagi dans le passé puis s'étant éloignées l'une de l'autre, et pour lesquelles la mesure des propriétés de l'une permet de connaître instantanément les propriétés de l'autre, quelle que soit la distance qui les sépare. Lorsqu'une mesure 25
  • 37. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE est eectuée sur l'une des particules intriquées, tout se passe comme si sa jumelle le sentait immédiatement et adoptait un état physique correspondant à celui trouvé pour sa partenaire [1]. Considérons, par exemple, l'état d'une paire de photons 1 √ 2 (|00 + |11 ) (2.17) Cet état est intriqué puisque la probabilité pour que la mesure du premier qubit donne |0 est 1/2 si le deuxième qubit n'est pas mesuré. Par contre, si le deuxième qubit a été mesuré, la probabilité pour que la mesure du premier qubit donne |0 est soit 1 ou 0 selon que la mesure du deuxième qubit a donné |0 ou |1 même si ils empruntent des chemins diérents. Même si cet état intriqué ressemble à celui de deux qubits aléatoires simplement corrélés, la nature de cette intrication quantique est plus subtile qu'il n'y parait : toute information sur l'état de paire est répartie sur les deux qubits à la fois de sorte que si nous faisons la mesure d'un qubit, celle de l'autre qubit s'en déduit le plus souvent [61]. 2.4.2 La superposition et le parallélisme quantiques Le principe de superposition confère aux ordinateurs quantiques une grande puissance de calcul supérieure à celle des ordinateurs classiques. Etant donné qu'un état d'un registre quantique de N qubits peut se trouver dans un état de superpo- sition d'un ensemble quelconque de 2N valeurs possibles, toute opération sur lui s'eectuant lors du calcul quantique pourra agir simultanément ou en parallèle sur chacun de ces états superposés. C'est ce que nous appelons parallélisme quantique . Ce parallélisme quantique massif le rendrait exponentiellement plus ecace que tout ordinateur classique en termes de mémoire de stockage et par conséquent plus ecace sur le calcul lui-même. Classiquement, le temps de calcul peut être diminué en utilisant des microprocesseurs parallèles. La diminution exponentielle du temps de calcul demande donc l'augmentation exponentielle du nombre de processeurs et donc de l'espace mémoire. Cependant pour le cas d'un système quantique, le degré du parallélisme augmente exponentiellement avec la taille du système [25]. Pour comprendre davantage d'où provient cette puissance, considérons une trans- formation unitaire à deux qubits dénie par : Uf |x, y = |x, y ⊕ f(x) (2.18) avec |x un registre des données, |y un registre de résultat et Uf un opérateur ou transformation unitaire. Si y = 0, l'état nal du deuxième qubit est la valeur f(x). Considérons le circuit de la gure 2.8 [55], qui applique la transformation unitaire sur un registre de données ne se trouvant pas dans la base standard de calcul. Le registre des données est préparé dans un état de superposition 1√ 2 (|0 +|1 ) qui peut être créé par la porte Hadamard agissant sur |0 . 26
  • 38. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Lors de l'application de Uf sur cet état, nous obtenons un état intriqué : 1 √ 2 (|0, f(0) + |1, f(1) ) (2.19) Figure 2.8 Circuit calculant en parallèle toutes les valeurs possibles (f(0) et f(1)) d'une fonction f(x) L'état nal du registre quantique contient implicitement une information sur la fonction f évaluée pour toutes les valeurs possibles de la variable x : f(0) et f(1) obtenues par une seule application de la porte Uf . Cette procédure peut être généralisée à un nombre quelconque de bits d'entrée (FIG 2.9) [55]. Figure 2.9 Circuit calculant en parallèle toutes les valeurs possibles d'une fonction f(x) avec N qubits. Le l avec un / dans ce circuit représente un ensemble de n qubits. Soit un registre de données à N qubits. La transformation de Hadamard sur chaque qubit dans l'état |0 donne pour le registre de données 1 √ 2N 2N −1 x=0 |x (2.20) Cet état d'entrée de la porte Uf engendre en sortie (si l'autre entrée |y est initialisée à l'état |0 ) l'état quantique intriqué : |ψ = 1 √ 2N 2N −1 x=0 |x |f(x) (2.21) qui fait apparaître de nouveau, en une seule opération, toutes les valeurs de f(x) correspondant aux 2N valeurs possibles de x. Classiquement, nous devons évaluer 2N fois la fonction f pour obtenir cette information. C'est là l'origine de l'accélération exponentielle d'un calcul quantique pour la résolution de certains problèmes. 27
  • 39. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Ce parallelisme quantique n'est pas directement exploitable puisqu'au moment de lire le qubit nous ne récupérons aléatoirement qu'un des états |x, f(x) des états superposés 2N −1 x=0 |x |f(x) Pour illustrer davantage l'avantage du parallélisme quantique, prenons un exemple simple sur l'ouverture d'un cadenas à l'aide d'une clé classique (Fig.2.10) et d'une clé quantique (Fig.2.11). Pour trouver la bonne combinaison qui ouvre le cadenas avec une clé classique, il faudra essayer, une à une, chacune d'elles jusqu'à ce que le cadenas s'ouvre. Ce- pendant, la clé quantique essaie toutes les combinaisons possibles en même temps et peut ainsi trouver la bonne combinaison beaucoup plus rapidement que la clé clas- sique. Donc, le calcul séquentiel est remplacé par le calcul massivement parallèle qui ouvre de ce fait, la voie à une résolution rapide des requêtes ardues des problèmes NP avec toutes les conséquences bouleversantes que cela aurait, en particulier dans le domaine de la cryptographie. Nous signalons ici que les problèmes NP sont des problèmes très diciles à résoudre mais dont la vérication est très facile une fois que le résultat est obtenu, comme par exemple, la factorisation des grands nombres [72]. Figure 2.10 Ouverture d'un cadenas classique Figure 2.11 Ouverture d'un cadenas quantique 28
  • 40. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Toutefois, c'est à cause de la superposition linéaire qu'il n'existe pas de méthode de cloner ou de dupliquer un qubit. 2.4.3 Théorème de non-clonage Un des principaux résultats qui font la diérence entre la théorie de l'information classique et sa contrepartie quantique est le théorème de non-clonage [55]. L'infor- mation classique peut être copié avec une précision aussi grande qu'on veut et autant de fois qu'on veut; la fonction copier/coller des ordinateurs en est témoin. Le prin- cipe d'impossibilité du clonage quantique, énoncé en 1982 par Wootters, Zurek et Dieks explique l'impossibilité du clonage quantique [75]. Théorème : Un état quantique inconnu ne peut pas être cloné. En eet, pour cloner l'état d'un qubit, il faudra pouvoir mesurer α et β, tout en préservant l'état de celui-ci, de sorte à préparer un autre qubit dans le même état |ψ = α |0 + β |1 . Ceci est doublement impossible dans la mesure où [33] : 1. il est impossible de lire un qubit sans ger dénitivement son état (après mesure le qubit est dans l'état mesuré) 2. une mesure d'un qubit ne donne aucune information sur α et β puisque le résultat est soit |0 , soit |1 . Ce qui équivaut à (α, β) = (0, 1) ou (1, 0), et ceci ne correspond pas aux valeurs initiales de α et β. Considérons un état d'un qubit non connu |ψ que nous voulons cloner avec une photocopieuse quantique agissant sur les qubits par un opérateur unitaire U fonc- tionnant de la manière suivante : elle écrit l'état |ψ dans l'état connu |e (l'équivalent d'une feuille blanche dans une photocopieuse). L'évolution du système total durant l'opération de clonage doit donc être : |ψ |e U −→ U(|ψ |e ) = |ψ |ψ (2.22) Pour un autre état |φ orthogonal à |ψ , nous devons également avoir |φ |e U −→ U(|φ |e ) = |φ |φ (2.23) L'impossibilité du clonage apparait donc pour l'état initial |ϕ = 1 √ 2 (|ψ + |φ ) (2.24) Si l'opération de copie fonctionne pour cet état, nous devons trouver |ϕ U −→ U(|ϕ |e ) = |ϕ |ϕ (2.25) Etant donné la linéarité de la mécanique quantique et l'ortho-normalité des vecteurs de base nous pouvons réécrire cette équation comme suit : |ϕ U −→ 1 √ 2 U(|ψ + |φ ) |e = 1 √ 2 (|ψ |ψ + |φ |φ ) = |ϕ |ϕ (2.26) 29
  • 41. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Nous voyons qu'il y a une contradiction, et donc l'opérateur de clonage U n'existe pas. En analysant cette démonstration, nous comprenons l'apport de la mécanique quantique à la cryptographie. C'est le fait de pouvoir utiliser simultanément les états |ψ , |φ et des combinaisons linéaires de ces états |ϕ qui fait l'originalité de la cryptographie quantique, et qui interdit toute duplication able d'un message intercepté par un espion [48]. Jusqu'ici, nous avons les briques élémentaires de l'ordinateur quantique, ainsi que les concepts illustrant la puissance de calcul quantique ; il ne nous manque donc plus que les algorithmes intéressants pour que l'ordinateur quantique soit théoriquement achevé. 2.5 Algorithmes quantiques et applications Il existe deux grands algorithmes plus performants que leurs homologues clas- siques qui ont été conçus au début des années 1990. Il s'agit de l'algorithme de factorisation de Shor et l'algorithme de recherche de Grover. La puissance des al- gorithmes quantiques provient de l'intrication et du parallélisme quantiques. Avant d'aborder les deux principaux algorithmes, illustrons le concept d'algorithmes quan- tiques au moyen de l'algorithme de Deutsch-Jozsa. 2.5.1 L'algorithme de Deutsch-Jozsa Il s'agit d'un algorithme quantique, proposé par David Deutsch et Richard Jozsa en 1992 avec des améliorations de R.Cleve, A. Ekert, C. Macchiavello et M Mosca en 1996 [15, 68]. Bien qu'il ne soit pas d'un grand intérêt pratique, il s'agit d'un des premiers algorithmes quantiques qui est plus ecace qu'un algorithme classique. De plus, il constitue une très bonne illustration d'un cas où nous pouvons tirer partie du parallélisme quantique. Formulons d'abord le problème à résoudre en considérant les fonctions booléennes f(x1...xn) : {0, 1}n → {0, 1}, avec (x1...xn) ∈ {0, 1} dont nous savons à priori qu'elles sont constantes ou balancées. Il existe exactement quatre fonctions de ce type : deux fonctions constantes f(0) = f(1) = 0 et f(0) = f(1) = 1 et deux autres balancées ( f(0) = 0, f(1) = 1 et f(0) = 1,f(1) = 0). La fonction est constante si l'image prend toujours la même valeur quelle que soit l'argument (x1...xn). Notez qu'il y a 2n arguments possibles. Une fonction est dite balancée si pour une moitié des arguments (c.à.d. 2n−1 ) elle prend la valeur 0 et pour l'autre moitié (2n−1 ) elle prend la valeur 1 pour notre cas. Le problème de Deutsch-Jozsa est un problème de décision avec Oracle. Cela veut dire que nous ne connaissons pas la fonction f mais que nous disposons d'un Oracle ou une boîte noire qui donne la réponse f(x1...xn) pour toute entrée x1...xn qui lui est soumise. Le problème est de décider si f est constante. Notre but est de prendre la décision correcte en posant le moins de questions possibles. Discutons d'abord la solution classique. 30
  • 42. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE 2.5.1.1 La solution classique Si nous nous limitons à utiliser un algorithme classique et déterministe, il nous faut 2n−1 + 1 évaluations de la fonction f, c'est-à-dire, exponentielle par rapport à la taille des entrées, dans le pire des cas pour trouver la solution. 2.5.1.2 La solution probabiliste Si nous utilisons un algorithme aléatoire, la complexité du problème de Deutsch- Jozsa est bornée. Ce qui veut dire qu'un nombre constant d'évaluations est susant pour trouver la bonne réponse avec une forte probabilité. Néanmoins (2n−1 + 1) évaluations sont toujours nécessaires pour que la réponse soit correcte avec proba- bilité 1. Précisons ce que nous entendons par algorithme aléatoire. Nous sommes en présence d'un problème de décision : f est constante ou balancée. Soit 1 2 L'algorithme aléatoire doit satisfaire si f est constante : l'algorithme répond constante avec probabilité ≥ 1 − si f est balancée : l'algorithme répond balancée avec probabilité ≤ C'est-à-dire que pour toute fonction f la probabilité d'erreur (mauvaise décision) est 1 2 . Nous allons maintenant voir qu'il existe un algorithme quantique, l'algorithme quantique de Deutsch-Jozsa, qui permet de déterminer si f est balancée ou constante avec une et une seule utilisation de l'Oracle, et ceci, quelle que soit la fonction f. 2.5.1.3 Algorithme de Deutsch Une simple modication dans le circuit (Fig. 2.12) [55] démontre combien les circuits quantiques peuvent surpasser en performance les circuits classiques en exé- cutant l'algorithme de Deutsch. Ce dernier combine le parallélisme quantique avec une propriété de la mécanique quantique connu sous le nom de interférence . Le but est de tester la condition f(0) = f(1) ; cela est équivalent à vérier f(0) ⊕ f(1). Si cela vaut 0 alors f est constante, sinon f est balancée. L'algorithme commence avec deux qubits dans l'état |0 et |1 . Comme aupara- vant, nous utilisons la porte de Hadamard pour préparer le premier qubit |0 comme une superposition 1√ 2 (|0 + |1 ). Cette fois-ci, préparons le deuxième qubit y dans une superposition 1√ 2 (|0 −|1 ) en utilisant la porte de Hadamard qui s'applique sur l'état |1 . Suivons les états pour voir ce qui se passe dans le circuit de la gure 2.12 : L'état d'entrée |ψ0 = |01 subit une transformation de Hadamard. Ceci nous donne |ψ1 = 1 √ 2 (|0 + |1 ) 1 √ 2 (|0 − |1 ) (2.27) En appliquant Uf à l'état |x 1√ 2 (|0 + |1 ) , nous obtenons l'état 1 √ 2 (−1)f(x) |x (|0 − |1 ) (2.28) 31
  • 43. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Figure 2.12 Circuit quantique de l'algorithme de Deutsch De façon similaire, en appliquant Uf à |ψ1 nous obtenons deux possibilités : |ψ2 =    ± 1√ 2 (|0 + |1 ) 1√ 2 (|0 − |1 ) si f(0) = f(1) ± 1√ 2 (|0 − |1 ) 1√ 2 (|0 − |1 ) si f(0) = f(1) (2.29) La dernière porte de Hadamard sur le premier qubit nous donne |ψ3 =    ± |0 1√ 2 (|0 − |1 ) si f(0) = f(1) ± |1 1√ 2 (|0 − |1 ) si f(0) = f(1) (2.30) Remarquons que f(0) ⊕ f(1) vaut 0 si f(0) = f(1) et 1 sinon. Nous pouvons réécrire précisement la relation (2.30) comme suit |ψ3 = ± |f(0) ⊕ f(1) 1 √ 2 (|0 − |1 ) (2.31) La mesure du premier qubit à la n du circuit de l'algorithme de Deutsch nous permet de déterminer la valeur de f(0) ⊕ f(1) à coup sûr. Ce qui est vraiment inté- ressant : le circuit quantique nous a donné la possibilité de déterminer la propriété globale de f(x), à savoir f(0) ⊕ f(1), en utilisant une et une seule évaluation de f(x) ! Ceci est plus rapide que pour un ordinateur classique qui demanderait au moins deux évaluations. Cet exemple met en lumière la diérence entre le parallé- lisme quantique et les algorithmes aléatoires classiques [55]. Le gain du parallélisme quantique n'est pas spectaculaire dans cet exemple. Il l'est un peu plus si nous géné- ralisons le problème à un registre de données à n qubits. Il sut de nouveau d'une seule action de la porte unitaire pour déterminer si la fonction f est balancée ou constante alors qu'il faut en moyenne (2n−1 + 1) évaluations de f pour obtenir la même information classiquement [77]. 2.5.1.4 Algorithme de Deutsch-Jozsa L'algorithme de Deutsch est le cas simple d'un autre algorithme quantique le plus général : algorithme de Deutsch-Jozsa [55]. Nous suivons l'état à travers le circuit de la gure 2.13 [18]. Le mécanisme est le suivant : 32
  • 44. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Figure 2.13 Circuit quantique de l'algorithme généralisé de Deutsch-Jozsa. 1. Nous commencons avec un registre de (n + 1) qubits initialisés dans l'état |ψ0 = |0 ⊗n |1 (2.32) Chacun des premiers n qubits est initialisé à l'état |0 pour coder les nombres x et le dernier qubit à l'état |1 pour contenir la réponse de la fonction f. 2. Nous appliquons ensuite la transformation de Hadamard sur chaque qubit, ce qui crée une superposition de tous les états de la base de calcul. Nous obtenons l'état |ψ1 = 1 √ 2n+1 2n−1 x=0 |x (|0 − |1 ) (2.33) 3. Nous rappelons que la fonction f est implémentée sous forme d'Oracle quan- tique U. L'Oracle quantique transforme l'état suivant la relation : Uf |x |y = |x |y ⊕ f(x) . L'application de l'Oracle sur l'état |ψ1 donne donc l'état |ψ2 = 1 √ 2n+1 2n−1 x=0 (−1)f(x) |x (|0 − |1 ) (2.34) Les 2n états de la base de calcul sont alors transformés simultanément par une seule application de l'Oracle, ce qui est impossible à réaliser avec un algorithme classique [76]. A ce stade nous pouvons ignorer le dernier qubit. 4. Nous appliquons à nouveau la transformation de Hadamard à chacun des qu- bits restants an d'obtenir l'état |ψ3 = 1 2n 2n−1 x=0 (−1)f(x) 2n−1 y=0 (−1)x.y |y = 1 2n 2n−1 y=0 2n−1 x=0 (−1)x.y+f(x) |y (2.35) où x et y sont des séries de n bits et x.y = i xiyi mod 2. L'état nal est à nouveau une superposition cohérente d'états classiques aec- tés d'amplitude 1 2n 2n−1 y=0 2n−1 x=0 (−1)x.y+f(x) (2.36) 33
  • 45. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE 5. La dernière étape de l'algorithme est la mesure. Si nous mesurons l'état des n premiers qubits dans la base de calcul, l'état est réduit sur un des états |y . Considérons l'amplitude dans le cas où |y = |0 ⊗n . Cette amplitude devient 1 2n 2n−1 x=0 (−1)f(x) (2.37) Si f est constante, l'amplitude de |0 ⊗n est soit +1 ou −1 selon la valeur prise par f (f(0) = f(1) = 0 et f(0) = f(1) = 1). Donc si f est constante, la mesure du premier registre nous donne |0 ⊗n avec probabilité 1. D'autre part, si f est balancée les contributions négative et positive à l'amplitude |0 ⊗n s'annulent, laissant une amplitude nulle et la mesure doit donner un autre résultat que 0 au moins sur un des qubits du registre en question. Plus précisément, la probabilité de touver |ψ3 = |0 ⊗n est donnée par Prob(|0 ⊗n ) = 1 22n 2n−1 x=0 (−1)f(x) 2 =    1 si f est constante 0 si f est balancée (2.38) Le terme entre les |.| donne 2n (−1)f(0...0) = ±2n quand f est constant. En conclusion : Si f est constante, après sommation sur x, le seul état qui survit est |0 ⊗n . Mais si f est balancée, l'amplitude de l'état |0 ⊗n est 0. Cela signie que la mesure des premiers n qubits dans l'état |0 ⊗n nous permet de savoir que la fonction est constante. Mais si nous voyons un tout autre état, nous savons que la fonction est balancée. Nous avons donc déterminé si f est balancée ou constante avec une seule exécution de la machine. Une tâche qui nous aurait pris (2n−1 +1) évaluations dans le pire des cas classiques. C'est une amélioration remarquable obtenue en utilisant cet algorithme [66, 68]. Son parallélisme quantique massif conduit au calcul de tous les 2n valeurs possibles de f(x) en une seule exécution. Ceci provient du fait que l'Oracle quantique peut accomplir sa tâche pour toute combinaison linéaire d'états de base possibles en une seule étape. Quant à la classe de la complexité de ce problème quantié, nous avons trouvé seulement O(n) étapes pour obtenir la réponse nale. Par conséquent, si nous comparons ce résultat avec celui de la classe de complexité classique, nous constatons que l'algorithme de Deutsch conduit à une accélération exponentielle des calculs. Celle-ci est un magnique résultat que seul un ordinateur quantique peut fournir [45]. 2.5.2 Algorithme de Shor L'algorithme de Shor est le plus important en algorithmie quantique du fait qu'un grand nombre de systèmes cryptographiques se basent sur la diculté de factoriser les grands nombres. Celui-ci fut publié dans un article Polynomial-time algorithms for Prime Factorization and discret Logarithms on a Quantum Computer par Peter Shor en 1994 [67]. Il présenta deux algorithmes fondés sur une procédure quantique de son invention, la Transformée de Fourier Quantique. Le premier per- met de factoriser les grands nombres en temps polynomial et le second d'extraire le 34
  • 46. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE logarithme discret. Dans la section suivante, nous allons décrire l'algorithme de fac- torisation. A la n du chapitre 1, nous avons mentionné la menace de cet algorithme. Rappelons simplement que, actuellement, beaucoup de techniques de crypto- logie sont basées sur le fait que nous ne disposons pas un algorithme classique capable de factoriser de façon ecace un grand nombre en un temps polynomial O((log n)k ) pour n'importe quel k. Donc , les algorithmes classiques connus deviennent rapidement impraticable quand n augmente. En 2015, l'algorithme rapide publiquement disponible pour factoriser des grands nombres s'exécute en O(e 64 9 n 1 3 (log n) 2 3 ) opérations où n est le nombre de bits utilisés pour représenter le nombre [57]. La conance dans la diculté de pouvoir factoriser un grand nombre est susamment grande de sorte qu'une grande partie de la sécurité des protocoles de cryptologie utilisés repose sur cette hypothèse. L'algorithme de Shor bouleverse totalement cette hypothèse et son résultat incite un intérêt généralisé pour l'informatique quantique. L'algorithme de Shor fut utilisé en 2001 par un groupe d'IBM [50], qui factorisa 15 en 3 et 5, en utilisant un calculateur quantique de 7 qubits. Ainsi la durée de la séquence totale de l'algorithme de Shor était ∼ 720 ms. Comme tous les algorithmes quantiques, l'algorithme de Shor est probabiliste : il donne la réponse correcte avec une haute probabilité et la probabilité d'échec peut être diminuée en répétant l'algorithme. Shor utilise le parallélisme quantique pour obtenir une superposition de toutes les valeurs de la fonction en une seule étape. Il calcule ensuite la transformée de Fourier quantique de la fonction qui, comme la transformée de Fourier classique, met toute l'amplitude de la fonction en multiples de l'inverse de la période d'une fonction. La mesure de l'état donne la période avec une forte probabilité. Celle-ci est à son tour utilisée pour factoriser le nombre entier M. Nous décrirons d'abord la transformée de Fourier quantique et donnerons ensuite un aperçu détaillé de l'algorithme de Shor. 2.5.2.1 Transformée de Fourier quantique Puisque le calcul quantique traite des transformations unitaires, il s'avère im- portant d'être capable de construire certaines transformations unitaires utiles. Dans cette section, nous donnons une technique pour construire en temps polynomial sur les ordinateurs quantiques une transformation unitaire particulière, qui est essentiellement la transformée de Fourier discrète. Cette transformation sera donnée comme une matrice, avec les lignes et les colonnes indexées par les états. Ces états correspondent à des représentations binaires d'entiers sur l'ordinateur. En particulier, les lignes et les colonnes seront indexées en commençant par 0, sauf indication contraire. Usuellement, la transformation de Fourier discrète est une opération classique qui prend en entrée un vecteur complexe X(x0, ..., xq−1) de taille q et calcule en 35
  • 47. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE sortie un autre vecteur complexe Y (y0, ..., yq−1) déni par yk = 1 √ q q−1 j=0 xje( 2πijk q ) (2.39) Nous transposons alors ce calcul dans le cadre quantique. La transformation de Fourier quantique (TFQ) est exactement la même transformation sauf que la notation conventionnelle est diérente. Nous nous xons un entier qn , n ≥ 1 et considérons un entier j tel que 0 ≤ j q. La transformation de Fourier quantique transforme l'état |j en un autre état [55] 1 √ q q−1 k=0 e( 2πijk q ) |k (2.40) En clair, nous appliquons simplement l'opérateur unitaire qui a pour matrice Aq dans la base de calcul où l'entrée (j, k) de Aq est (Aq)(j,k) = 1 √ q e( 2πijk q ) (2.41) Puisque nous allons utiliser q de la taille exponentielle pour la matrice Aq, nous devons montrer comment cette transformation peut être faite en temps polynomial. Pour la réalisation de Aq, nous avons seulement besoin d'utiliser deux types de portes quantiques [13]. Premièrement nous devons disposer des porte Hj qui eectuent la transformation de Hadamard. Chacune d'elles opère sur le qubit en position j. Deuxièmement, nous devons disposer des portes de changement de phase condi- tionnel sur le deuxième qubit pourvu que le premier qubit soit dans l'état |1 . Le changement de phase par e 2πi 2j est représenté par les matrices Xj, j = 0, ..., n − 1, Xj = 1 0 0 e 2πi 2j (2.42) Soit Sj,k la porte conditionnelle Xk−j qui opère sur les bits dans les positions j et k avec j k et qui a pour matrice Sj,k =     1 0 0 0 0 1 0 0 0 0 1 0 0 0 o eiθk−j     (2.43) où θk−j = π 2k−j A l'aide de ces deux portes nous pouvons réaliser le circuit quantique de la transformée de Fourier quantique (Fig.2.14). 36
  • 48. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE Figure 2.14 Circuit de la transformée de Fourier quantique Pour eectuer une transformation de Fourier quantique, nous appliquons les ma- trices dans l'ordre (de droite à gauche). Par exemple, avec trois qubits, les matrices réalisant la TFQ s'appliqueraient dans l'ordre H0S0,1H1S0,2S1,2H2 Avec un registre de cinq qubits, nous aurions la séquence suivante H0S0,1H1S0,2S1,2H2S0,3S1,3S2,3H3S0,4S1,4S2,4S3,4H4 Clairement, nous appliquons les portes de Hadamard dans l'ordre de H0 à Hn−1, et dans l'intervalle de Hj à Hj+1 nous appliquons les portes Sj,k avec j k. Calculons le nombre des portes que comportent le circuit de la gure 2.14 : • nous avons, sur la première ligne, une porte de Hadamard et (n − 1) portes Sj,k, donc n opérations • sur la deuxième ligne nous avons une seule porte de Hadamard et (n − 2) portes Sj,k, donc n − 1 opérations • ... • sur la dernière ligne, nous avons une seule porte de Hadamard, donc une seule opération Ainsi, au total le nombre de portes utilisées est n + (n − 1) + ... + 1 = n i=0 i = n(n + 1) 2 (2.44) Nous voyons que la transformée de Fourier quantique ne nécessite que O(n2 ) opé- rations (le nombre d'opérations est réduit) : nous obtenons un gain exponentiel en temps comparativement aux algorithmes classiques. 37
  • 49. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE 2.5.2.2 Une description détaillée de l'algorithme de Shor Les étapes détaillées de l'algorithme de factorisation de Shor sont illustrées par un exemple où nous cherchons les facteurs d'un entier M. Etape 1 Déterminons si M est un nombre premier, pair ou un entier qui est une puissance d'un nombre premier. Si c'est le cas, nous n'utilisons pas l'algorithme de Shor. Etape 2 Choisissons un entier m tel que M2 ≤ q 2M2 avec q = 2m Etape 3 Choisissons un nombre entier pseudo-aléatoire a premier avec M. Si a n'est pas premier avec M, nous n'utilisons pas l'algorithme de Shor. Sinon, appli- quons le reste de l'algorithme. Etape 4 Créons un registre quantique et partitionnons-le en deux parties : re- gistre 1 et registre 2. Ainsi l'état de notre ordinateur quantique peut être donné par :|reg1, reg2 . Le registre 1 doit avoir assez de qubits pour représenter les entiers aussi grands que q − 1. Le registre 2 doit avoir assez de qubits pour représenter les entiers aussi grands que M − 1. Etape 5 Chargeons le registre 1 avec une superposition de tous les entiers com- pris entre 0 et q − 1. Chargeons le registre 2 avec des zéros. Ceci se fait avec l'ordi- nateur quantique. A ce stade, l'état quantique du registre mémoire est : 1 √ q q−1 x=0 |x, 0 (2.45) Etape 6 Maintenat, utilisons le parallélisme quantique pour calculer la fonction f(x) = ax mod M pour tous les nombres entiers du registre 1 et stockons le résultat dans le registre 2 (Cette fonction est inévitablement périodique de période r). Ceci se fait en une seule fois étant donné que l'ordinateur quantique calculera seulement a|x mod M où |x est une superposition des états créés dans l'étape 5. A ce point, l'état quantique du registre mémoire est : 1 √ q q−1 x=0 |x, ax mod M (2.46) Etape 7 Mesurons le deuxième registre. Soit k le résultat de la mesure. Ceci a pour eet, l'eondrement du registre 1 en une superposition égale de chaque valeur de x compris entre 0 et q − 1 tel que ax mod M = k 38
  • 50. CHAPITRE 2 : CONCEPT DE L'ORDINATEUR QUANTIQUE L'état quantique du registre mémoire après cette étape est 1 X x ∈X |x , k (2.47) où X est l'ensemble des x tel que ax mod M = k et X est le nombre d'éléments de cet ensemble. Etape 8 Maintenant, appliquons la transformée de Fourier quantique sur le registre 1. Rappelons que la transformation de Fourier quantique transforme l'état |x en un autre état |x = 1 √ q q−1 c=0 e( 2πixc q ) |c (2.48) Cette étape s'eectue en une seule étape grâce au parallélisme quantique. Après la transformée de Fourier quantique, notre registre est dans l'état 1 X x ∈X 1 √ q q−1 c=0 e 2πix c q |c, k (2.49) Etape 9 Mesurons l'état du registre 1, appelons cette valeur v. Cet entier v a une grande probabilité d'être un multiple de q r , où r est la période désirée. Etape 10 Extraction de la période. Dans le cas où la période arrive à être une puissance de 2, de sorte que la transformée de Fourier quantique donne exactement les multiples de 2m r , la période devient facile à extraire. Dans ce cas, v = j 2m r où j est un entier. La plupart du temps j et r seront relativement premiers. Dans ce cas, la réduction de la fraction v 2m à sa plus simple expression donnera une fraction dont le dénominateur est q, candidat pour la période r. Etape 11 Trouvons un facteur de M. Lorsque notre estimation de la période, q, est pair, nous utilisons l'algorithme d'Euclide pour vérier ecacement si a r 2 + 1 ou a r 2 − 1 a un facteur commun non-trivial avec M. La raison pour laquelle a r 2 + 1 ou a r 2 −1 est susceptible d'avoir un facteur commun non-trivial avec M est la suivante : si r est réellement la période de f(x) = ax mod M, alors ar = 1 mod M puisque ar ax = ax modM pour tout x. Si r est pair, nous pouvons écrire : (a r 2 + 1)(a r 2 − 1) = 0 mod M. (2.50) Ainsi, tant que ni a r 2 + 1 ni a r 2 − 1 n'est multiple de M, soit a r 2 + 1 ou a r 2 − 1 a un facteur commun non trivial avec M. Etape 12 Répétons l'algorithme si ce processus ne donne pas un facteur de M. Les raisons pour lesquelles le processus de l'algorithme peut ne pas donner le facteur de M sont les suivantes : 1. La valeur de v n'est pas proche d'un multiple de 2m r 2. La période et le multiplicateur j auraient pu avoir un facteur commun, de sorte que le dénominateur q soit en fait un facteur de la période et non la période elle-même. 3. L'étape 10 donne M comme un facteur de M. 4. La période de f(x) = ax mod M est impair. 39