l`algorithme de Shor - Page professionnelle de Sébastien Giraud

publicité
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
UNE INTRODUCTION AU CALCUL QUANTIQUE :
L ’ ALGORITHME DE SHOR
Sébastien Giraud
22 mai 2007
1
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Les postulats de la Physique Quantique
1. A tout système physique isolé est associé un espace de Hilbert E :
le système est complètement décrit par un vecteur normé de cet
espace, le vecteur d’état |Ψi.
ex : un qubit correspond à un espace de Hilbert de dimension 2
|Ψi = α|0i + β|1i
|α|2 + |β|2 = 1
2. L’évolution d’un système isolé est décrite par une transformation
unitaire :
|Ψ(0)i → |Ψ(t)i = U(t, 0)|Ψ(0)i
3. L’espace des états d’un système composite est le produit tensoriel
des espaces individuels : |Ψ12 i = |Ψ1 i ⊗ |Ψ2 i
ex : états à 3 qubits |000i, |100i, |111i
Mais il existe des états intriqués qui ne peuvent pas s’écrire sous
cette forme :
1
√ (|00i + |11i)
2
2
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Les postulats de la Physique Quantique
4. Toute grandeur physique mesurable A est décrite par un opérateur
hermitien A de E : la mesure de A ne peut donner comme résultat
qu’une des valeurs propres an de A avec la probabilité
pn = |hun |Ψi|2
A|un i = an |un i
La mesure modifie le système de façon irréversible : le vecteur
d’état est projeté sur le sous-espace propre de A pour la valeur
propre mesurée.
ex : |Ψi = α|0i + β|1i
probabilité de mesurer 0 : |α|2
si on mesure 0, après la mesure le système est dans l’état |0i.
3
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Registre de n qubits
L’état d’un registre de n qubits est un vecteur dans un espace à 2n
dimensions dont une base est :
|00 · · · 00i (c.à.d.|0i)
|00 · · · 01i (c.à.d.|1i)
|00 · · · 10i (c.à.d.|2i)
..
.
|11 · · · 11i (c.à.d.|2n − 1i)
Il s’écrit donc :
|Ψi = α0 |0i + α1 |1i + · · · + α2n −1 |2n − 1i
avec |α0 |2 + |α1 |2 + · · · + |α2n −1 |2 = 1.
4
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Le parallélisme quantique
|1i 
 |0i
√
√
h0| 1/ 2 1/ 2
Porte de Hadamard :
 √
H=
√ 
h1| 1/ 2 −1/ 2
Soit f : {0, 1} → {0, 1}. On définit la transformation unitaire Uf
agissant sur 2 qubits :
|x, y i → |x, y ⊕ f (x)i
A l’aide du circuit :
on obtient un état qui contient une information sur les deux valeurs
prises par la fonction f :
1
1
Uf
H
√ (|0 f (0)i + |1 f (1)i)
|0i|0i −
→ √ (|00i + |10i) −→
2
2
5
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Le parallélisme quantique
Avec n qubits :






N−1
1
1
1 X
→ √ (|0i + |1i) · · · √ (|0i + |1i) = √
|xi

2
2
N

x=0



→ superposition cohérente des N = 2n états
Pour une fonction f : {0, · · · , N − 1} → {0, 1}, on définit la
transformation unitaire Uf agissant sur le n-qubits x et sur le qubit y :
|x, y i → |x, y ⊕ f (x)i
N−1
1 X
On obtient l’état quantique √
|x f (x)i qui contient virtuellement
N x=0
les valeurs f (x) pour les 2n valeurs de x, en utilisant une seule fois Uf .
→ accélération exponentielle pour certains algorithmes
6
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
Le calcul quantique
Un exemple : l’algorithme de Deutsch-Josza
Soit f : {0, 1} → {0, 1}. On souhaite déterminer si f est constante. On
utilise le circuit suivant qui n’utilise qu’une seule évaluation de Uf :
Le registre de sortie est dans l’état
|0i − |1i
√
±|f (0) ⊕ f (1)i
2
On mesure alors l’état final du premier qubit.
I si f est constante, on obtient, de manière certaine |0i
I si f n’est pas constante, on obtient, de manière certaine |1i
7
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
La factorisation des entiers
Le meilleur algorithme classique actuellement connu pour factoriser
un entier est exponentiel en la taille du nombre à factoriser :
√
3
2O( log N)
I
problème difficile, on ne connaît pas sa classe de complexité
I
intervient dans l’algorithme de clé publique RSA, plusieurs défis :
• RSA-640, $20,000, 193 chiffres, factorisé en 2005, 5 mois de
calcul.
• RSA-2048, $200,000, 617 chiffres, non factorisé.
En 1994, Peter Shor propose un algorithme quantique en temps
polynomial O((log N)3 ).
8
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
Description de l’algorithme
1
Déterminer si N est pair, premier ou puissance d’un nombre
premier. Ceci peut-être fait classiquement en O((log N)3 ). Dans
ce cas, FIN.
2
Choisir un nombre a au hasard 1 < a < N.
3
Calculer pgcd(a, N). Si pgcd(a, N) 6= 1, c’est un facteur non
trivial, FIN.
4
5
Sinon a ∈ Z/NZ× . Déterminer r l’ordre de a dans Z/NZ.
Si r est pair et ar /2 6= −1 mod N (ceci se produit avec une
probabilité > 1 − 1/2k −1 , k nombre de facteurs premiers de N),
alors N | (ar − 1) = (ar /2 − 1)(ar /2 + 1) et N - ar /2 − 1,
N - ar /2 + 1, donc pgcd(ar /2 − 1, N) est un facteur non trivial
de N, FIN.
9
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
Un exemple, N = 15
1
15 n’est pas pair, premier ou puissance d’un nombre premier.
2
On choisit a au hasard 1 < a < N : a = 7.
3
pgcd(a, N) = pgcd(7, 15) = 1.
4
On note fa : k 7→ ak mod N.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 · · ·
k
fa (k ) 1 7 4 13 1 7 4 13 1 7 4 13 1 7 · · ·
On a r = 4.
5
r = 4 est pair et ar /2 = 4 6= −1 mod N.
pgcd(ar /2 + 1, N) = pgcd(50, 15) = 5,
pgcd(ar /2 − 1, N) = pgcd(48, 15) = 3,
FIN.
10
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
Calcul de l’ordre de a
L’étape difficile est l’étape 4. L’ordre de a est la période de la fonction
fa : k 7→ ak mod N
et les valeurs prises par fa pour k ∈ {0, 1, · · · , r − 1} sont distinctes.
On utilise une transformée de Fourier Quantique :
1
Soient n = blog2 Nc + 1 et q > n. En utilisant le parallélisme
quantique on prépare le système à q + n qubits :
2q −1
1 X
|x fa (x)i
2q/2
x=0
2
On mesure la valeur du second registre, on obtient une valeur y0
et il existe un unique x0 ∈ {0, 1, · · · , r − 1} tel que fa (x0 ) = y0 .
→ projection du premier registre sur le sous espace des x tels
que fa (x) = y0 . On obtient l’état :
A−1
1 X
√
|x0 + jr i
A j=0
11
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
Calcul de l’ordre de a
3
On effectue la transformée de Fourier à 2q points :
• classiquement (FFT) : O(nq 2q )
• quantiquement (QFT) : O(nq 2 )
Une mesure du système donne kQ/r , avec Q = 2q et k un
entier. En répétant, environ O(log q) fois l’opération on peut
déterminer r .
On a q ' n, donc une complexité globale en O((log N)3 ).
12
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
De la fiction à la réalité
Un spin 1/2 dans un champ magnétique réalise un qubit idéal : on
manipule son état par résonance magnétique nucléaire (RMN). Dans
une molécule, les fréquences de résonance des différents atomes
sont légèrement différentes : on peut adresser individuellement
chaque spin.
En 2001, en utilisant 7 qubits, le centre de recherche d’IBM a obtenu
la factorisation du nombre 15.
13
UNE INTRODUCTION AU CALCUL QUANTIQUE : L ’ ALGORITHME DE SHOR
L’algorithme de Shor
De la fiction à la réalité
Pour N = 15, n = 4 et q = 3, en prenant a = 7, ils ont obtenu, après
transformée de Fourier :
Le premier qubit est dans l’état |0i et le deuxième et le troisième sont
dans une superposition de |0i et |1i. Donc l’état du système des 3
qubits est un superposition de |000i, |010i, |100i et |110i,
c’est-à-dire |0i, |2i, |4i et |6i.
→ la périodicité de la QFT est 2, donc r = 2q /2 = 4.
14
Téléchargement