WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modèles formels pour l'informatique quantique

( Télécharger le fichier original )
par Sami Ben Ahmed
Université Abess Laghrour KHENCHELA - Master 2 en Informatique 2013
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.2.1 Exemples d'oracles classiquement difficiles

- L'oracle de Deutsch-Josza

f(x) est une fonction booléenne de [0, 27-1] dans [0, 1]. On sait qu'elle est soit constante, soit balancée. Est-elle l'un ou l'autre?

Classiquement, il faut interroger l'oracle 27-1 + 1 fois pour répondre à la question à coup sûr (il faut introduire 27-1 + 1 valeurs différentes de x et calculer f(x) à chaque fois). Croissance exponentielle avec n du nombre d'opérations est problème classique difficile.

- L'oracle de Grover

f(x) est une fonction booléenne de [0, 27-1] dans [0, 1] qui n'est non nulle que pour x = x0. Trouver x0.

chapitre3 : Les algorithmes quantiques

Equivaut à la recherche inversée d'un abonné dans un annuaire à partir de son numéro connu a. Les x sont les abonnés, f(x) vaut 1 si a est le numéro de x, 0 sinon.

Classiquement, il faut calculer f(x) (consulter l'annuaire) N = 2n_1 fois pour trouver à coup sûr. Problème classique difficile.

- L'oracle de Simon

f(x) est une fonction de [0, 2n_1] dans [0, 2n_1] telle que :

f(x') = f(x) ssi x = x s où s est une suite inconnue à n termes de 0 et 1 et représente l'addition bit à bit (s : période de f). Déterminer s.

Classiquement, il faut calculer f(x) pour des valeurs aléatoires de xjusqu'à trouver deux x et x' tels que f(x) = f(x').

Alors x s = x' et x x' = x x s = s (car x x = 0). Il faut 2n_1 + 1 opérations pour trouver la réponse à coup sûr. Problème classique difficile.

3.3 L'Algorithme quantique de Deutsch-Josza:

FIGURE 3.2 - L'oracle de Deutsch-Josza

21

22

chapitre3 : Les algorithmes quantiques

Le registre d'entrée A (n qubits) est préparé (par application de la transformation de Hadamard H sur chaque qubit) dans la superposition symétrique des 2n états |xi possibles.

Le registre de sortie B (1 qubit) est inversé par N, puis préparé par H dans 1v2 (|0i - |1i) Action d'oracle : [Gradel, 0910] |xi |0i ? |xi |f(x)i et |xi |1i ? |xi |1 ? f(x)i

Si f(x) = 0 : |xi (|0i - |1i) ? |xi (|0i - |1i)
Si f(x) = 1 : |xi (|0i - |1i) ? - |xi (|0i - |1i)

donc : (-1)f(x) |xi (|0i - |1i)

Et par superposition :

1
n+1

2 2

Ex |xi (|0i - |1i) ? 2 21 Ex (-1)f(x) |xi (|0i - |1i)

Les registres restent non intriqués après l'oracle. Déphasage des amplitudes dans le registre A en (-1)f(x). Pour résoudre le problème, il s'agit de décider entre deux possibilités :

- Si f(x) est constante :

f(x) = 0?x ou f(x) = 1?x donc 2n Ex (-1)f(x) |xi = #177;22 Ex |xi alors registre A inchangé (au signe prés).

- Si f(x) est balancé :

Autant de f(x) = 0 que de f(x) = 1 donc autant d'amplitude +1 que d'amplitude -1 dans la superposition finale du registre A

? Ex (-1)f(x) |xi orthogonal à Ex |xi.

Résoudre l'oracle revient à distinguer deux états orthogonaux de l'état final du registre A : On applique à nouveau H à tous les qubits. Comme H2 = 1, on retrouve l'état initial {|0i} si f(x) est constante, un état orthogonal si f(x) est balancée donc au moins un des qubits doit alors être 1. On le vérifie en mesurant les qubits finals de A.

La réponse nécessite au plus 3n + 2 opérations à un qubit 2n + 1 opérations H, une opération de bascule N et au plus mesure de n qubits (on peut arrêter dès qu'on trouve un 1) donc problème quantiquement facile.

23

chapitre3 : Les algorithmes quantiques

- Comparaison avec la procédure classique

L'avantage de l'algorithme quantique n'existe que si on cherche une réponse certaine. Si on s'autorise une probabilité finie c d'erreur, aussi petite soit-elle, l'algorithme classique (calcul successif de f(x) pour des valeurs de x tirées au hasard) donne un résultat acceptable au bout de k ^_' -log2(c) opérations (nombre indépendant de n). Le problème classique devient donc facile dès qu'on accepte un taux fini d'erreur. Ceci diminue considérablement l'intérêt de l'algorithme quantique puisqu' il faut être sûr de pouvoir l'effectuer sans aucune décohérence pour qu'il soit avantageux par rapport à la version classique.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo