Académique Documents
Professionnel Documents
Culture Documents
Algorithmes simples
1
Calcul de fonctions
À chaque fonction f : X → Y on peut associer une opération unitaire
2
Calcul de fonctions
À partir de F , on peut construire F 0 en utilisant un qubit
supplémentaire dans l’état
1
√ (|0i − |1i)
2
1 1 E
F |xi √ (|0i − |1i) = |xi √ (|f (x)i − f (x) )
2 2
f (x) 1
= |xi (−1) √ (|0i − |1i)
2
1
= (−1)f (x) |xi √ (|0i − |1i)
2
0 1
= F |xi √ (|0i − |1i)
2
3
Algorithme de Grover
Soit f : {0, 1}2 → {0, 1} avec la promesse qu’il existe x0 tel que
f (x0) = 1 et si x 6= x0 alors f (x) = 0.
4
Algorithme de Grover
Algorithme de Grover(f)
• |ψi = U †F 0H ⊗2 |00i
• m = Mesure(|ψi)
• retourne m
Classique: 3 requêtes à f .
Quantique: 1 requête à f .
5
Algorithme de Grover analysé
|ψi = U †F 0H ⊗2 |00i
† 0 1
= U F (|00i + |01i + |10i + |11i)
2
1
= U † ((−1)f (00) |00i + (−1)f (01) |01i
2
+(−1)f (10) |10i + (−1)f (11) |11i )
= |x0i
6
Algorithme de Deutsch
Problème de Deutsch (version de R. Cleve et A. Tapp): Étant donné
f : {0, 1} → {0, 1}, décider si f (0) = f (1).
Algorithme Deutsch(f)
• |ψi = HF 0H |0i
• m = Mesure(|ψi)
H = H†
8
Algorithme de Deutsch
Analyse
|ψi = HF 0H |0i
0 1
= HF √ (|0i + |1i)
2
1
= H √ ((−1)f (0) |0i + (−1)f (1) |1i)
2
f (0) 1
= H(−1) √ (|0i + (−1)f (0)(−1)f (1) |1i)
2
1
= H(−1)f (0) √ (|0i + (−1)f (0)⊕f (1) |1i)
2
= (−1)f (0) |f (0) ⊕ f (1)i
Algorithme Deutsch-Josza(f)
• m = Mesure(|ψi)
Lemme:
n −1
2X
1
(H = H †) H ⊗n |yi = √ n (−1)x·y |xi
2 x=0
où x · y = x1y1 ⊕ x2y2 ⊕ · · · ⊕ xnyn et en particulier
−1
2X n
1
H ⊗n |0i = √ n |xi
2 x=0
Preuve:
Exercice...
11
Algorithme de Deutsch-Josza
Analyse
12
Algorithme de Deutsch-Josza
Analyse
La probabilité d’observer |0i est donnée par
n 2 n 2
−1 (−1)f (i)+i·0 −1
2X
2X (−1) f (i)
=
i=0 2 n
i=0 2 n
13
Algorithme de Simon
Étant donné f : {0, 1}n → {0, 1}n−1 telle qu’il existe s non nul avec la
propriété que ∀x 6= y : f (x) = f (y) ⇔ x = y ⊕ s, trouver s.
Algorithme Simon(f)
• S = {}
• tant que |S| < n − 1
• |ψi = (H ⊗n ⊗ I2n−1 )F (H ⊗n ⊗ I2n−1 ) |0i |0i
• (m, y) = Mesure(|ψi)
• si m est indépendant de S alors S ← S ∪ {m}
• fin du tant que
• déduire s de S.
X (−1)x·y (−1)(x⊕s)·y
= n
|yi |f (x)i + n
|yi |f (x ⊕ s)i
2 2
x∈X,y∈{0,1} n
X (−1)x·y + (−1)(x⊕s)·y
= n
|yi |f (x)i
2
x∈X,y∈{0,1} n
15
Algorithme de Simon: analyse (suite)
X (−1)x·y + (−1)(x⊕s)·y
|ψi = n
|yi |f (x)i
x∈X,y∈{0,1}n
2
Si s · y = 0 alors
x · y = x · y + s · y = (x ⊕ s) · y
d’où l’amplitude de |yi |f (x)i = 2−n+1.
x · y = x · y + s · y + 1 = (x ⊕ s) · y + 1
d’où l’amplitude de |yi |f (x)i est 0.
16
Algorithme de Simon: analyse (suite)
Posons s = snsn−1 · · · s1. Une fois que |S| = n − 1 nous avons obtenu
n − 1 équations linéaires avec comme variables les si. Le système
d’équations possède deux solutions, dont l’une est la solution triviale
s = 0. Nous avons donc déterminé s.
17
Algorithme de Simon: analyse (suite)
Analysons maintenant le nombre d’essais nécessaires pour obtenir
n − 1 équations linéairement indépendantes.
18
Mesure partielle
19
Exemple 1:
Si on mesure tout un registre dans l’état |ψi = i αi |ii on obtiendra
P
Exemple 2:
Soit l’état |ψi = √1 (|000i + |110i + |111i).
3 √
On a que |ψi = √ |0i |00i + √2 |1i ( √1 (|10i + |11i)).
1
3 3 2
Si on mesure le premier qubit on obtiendra |0i avec probabilité
1 2
√ = 1 et l’état devient |000i. On obtient |1i avec probabilité
3 3
√ 2
2
√ = 2 pour se retrouver dans l’état |1i ( √1 (|10i + |11i)).
3 3 2
Exemple 3:
De façon générale, si on mesure le sous-espace HB d’un registre
|ψi = ijk αijk |ii |ji |ki ∈ HABC on obtiendra |ji avec probabilité
P
2
ik |αijk | .
P
20
Algorithme de Simon: analyse V2
⊗n ⊗n ⊗n
X 1
|ψi = (H ⊗ I2n−1 )F (H ⊗ I2n ) |0i |0i = (H ⊗ I2n−1 )F √ n |xi |0i
x∈{0,1}n
2
⊗n
X 1
= (H ⊗ I2n−1 ) √ n |xi |f (x)i
x∈{0,1}n
2
!
X (|xi + |x ⊕ si)
1
= (H ⊗n ⊗ I2n−1 ) √ √ |f (x)i
2 n−1 2
x∈X
|xi + |x ⊕ si
= (H ⊗n ⊗ I2n−1 ) √ |f (x)i M ESU RE
2
P (−1)x·y P (−1)(x⊕s)·y
√ n |yi + √ n |yi
y 2 y 2
= √
2
X (−1)x·y + (−1)(x⊕s)·y X (−1)x·y + (−1)(x·y)⊕(s·y)
= √ n |yi = √ n |yi
y
2 + 1 y
2 + 1
21
Algorithme de Simon: analyse V2
X (−1)x·y + (−1)(x·y)⊕(s·y) X (−1)x·y (1 + (−1)s·y )
√ n |yi = √ n |yi
y 2 +1 y 2 +1
p
Si s · y = 0 alors l’amplitude de |yi est 2−n+1.
22