Algorithmique quantique : de l exponentiel au polynômial

Dimension: px
Commencer à balayer dès la page:

Download "Algorithmique quantique : de l exponentiel au polynômial"

Transcription

1 Algorithmiue uantiue : de l onentiel au polynômial Novembre 008 Résumé L informatiue uantiue, même si elle n en est encore u à ses premiers pas, porte en elle des promesses ui lui ont valu un engouement spontané de la part de la communauté scientifiue. Même si la réalisation d ordinateurs uantiues reste hypothétiue à l heure actuelle (sauf pour des miniatures), c est un domaine de recherche ui a été très actif ces uinze dernières années, et pour cause : ces nouveaux concepts permettraient d accélérer drastiuement des opérations ui coûtent beaucoup trop cher sur nos ordinateurs actuels (on passe d une complexité onentielle à une polynômiale, à une très faible probabilité d erreur près). Après avoir liué brièvement en uoi consiste le modèle de l ordinateur uantiue, nous essaierons de comprendre et d apprivoiser la nouvelle puissance de calcul ui s offre à nous par l intermédiaire de deux des plus célèbres algorithmes uantiues : l algorithme de factorisation de Shor et l algorithme de recherche de Grover. Nous ne présenterons ue brièvement le second, le cœur de ce travail étant l algorithme de Shor. Table des matières 1 L ordinateur uantiue 1.1 L ordinateur classiue L ordinateur uantiue Circuits et portes uantiues Porte de Toffoli Porte CNOT Complexité d un algorithme uantiue Algorithme de Shor 6.1 Description du problème & algorithme Mise en situation Suelette de l algorithme Algorithmes intermédiaires L onentiation modulaire La transformée de Fourier uantiue Recherche de l ordre d un élément L algorithme Preuve de correction Algorithme de Grover Position du problème Algorithme de Grover

2 1. L ordinateur uantiue 1 L ordinateur uantiue 1.1 L ordinateur classiue Les ordinateurs ue nous manipulons conservent et manipulent leur information à l aide de bits : chaue bit peut valoir 0 ou 1. Avec des millions de tels bits, on peut stocker et traiter d importantes uantités d information. Une suite de bits est une donnée ui peut alors représenter un nombre en base, une adresse mémoire, un mot, ou une uelconue autre information u on sait conserver et relire sous forme de 0 et de 1. Plus précisément, toute manipulation de ces bits passe par l utilisation de portes logiues ui prennent en entrée un certain nombre de bits, disons n, et fournissent en sortie un résultat sur m bits, ui est l application d une certaine fonction booléenne f aux bits d entrée. Fig. 1 Porte logiue d une fonction booléenne f : {0, 1} n {0, 1} m On peut montrer avec uelues notions de logiue propositionnelle élémentaires ue de tels circuits peuvent toujours être décomposés en un réseau de portes NAND ( NON - ET) à entrées et 1 sortie. Par réseau, on entend un ensemble de portes logiues reliées entre elles (une entrée d une porte est la sortie d une autre, ou une des deux constantes 0 et 1), et où on a le droit de diviser un fil en deux, pour le donner en entrée à portes par exemple. Physiuement, on réalise ces circuits à l aide de transistors et autres puces électroniues, où un bit à 0 correspond à un faible potentiel, et un 1 à un fort potentiel (le plus souvent). 1. L ordinateur uantiue Le principe de base de l ordinateur uantiue est de changer le support de l information. Au lieu d un bit, on manipule un ubit. On définit l état uantiue d un ubit comme un vecteur unitaire de C. Afin de représenter cet état, on se fixe une base orthonormée de C u on note 0 et 1. Un ubit ψ peut alors être dans un de ces deux états (on retrouve le bit usuel), mais surtout il peut aussi être dans une superposition de ces deux états : ψ α 0 + β 1 avec α, β C, et α + β 1 Ainsi, là où on avait un nombre d états possibles fini dans le cas du bit, un ubit peut prendre une infinité de valeurs. Mais bien entendu, cela ne veut pas dire u on peut stocker une infinité d information dans un ubit. En effet, les lois de la mécaniue uantiue nous disent u on ne peut avoir accès directement à l information stockée dans un ubit : une mesure n est ue probabiliste et peut modifier l état du ubit, changeant le comportement normal du calcul. De plus, une mesure ne rendra u un état 0 ou 1, donc ne donnera pas accès à α et β ui représentent les vrais porteurs de l information. Il faudra donc utiliser des astuces pour loiter tout de même cette puissance uantiue. On peut maintenant généraliser ce concept de ubit pour accéder au n-ubit. On se place alors dans l espace (C ) n ui représente un système formé de n ubits. Et alors tout état ψ du n-ubit peut se décomposer sur la base dite de calcul de (C ) n obtenue à partir de la base ( 0, 1 ) de C par produits Algorithmiue uantiue : de l onentiel au polynômial

3 1. L ordinateur uantiue 3 tensoriels successifs : ( , ,..., ). Par convention, on notera, pour a n 1 entier, a le vecteur de la base correspondant à l écriture binaire de a. On peut alors décomposer : ψ n 1 i0 a i i avec a i C et n 1 i1 a i 1 Si on cherche à avoir accès à l état effectif de ψ, on trouvera l état i avec une probabilité a i d après les lois de la mécaniue uantiue. De plus, le n-ubit sera dans l état i après la mesure, modifiant donc éventuellement sa valeur pour la fixer sur un des vecteurs de la base de calcul. On remarue donc ici une première différence essentielle avec le calcul classiue : la mesure peut changer l état d un n-ubit et ne nous donne même pas accès à son vrai état s il est superposé au moment de la mesure. Afin de réaliser des calculs sur ces n-ubits, il convient de définir l analogue des portes logiues de l informatiue traditionnelle dans ce nouveau monde. Mais on rencontre deux problèmes de fond. Premièrement, les opérations u on appliue aux n-ubits doivent être inversibles (réversibles dans le langage de la physiue) : avec la valeur d un n-ubit de sortie, on doit pouvoir retrouver uel était le n-ubit d entrée correspondant (cela impose au passage u on ne peut avoir une porte ui prendrait en entrée un n-ubit et ui rendrait un m-ubit avec m n). Cela est dicté par les lois de la physiue uantiue. Ainsi, on ne peut pas implémenter de manière directe la porte logiue NAND ui agirait sur un -ubit pour rendre un 1-ubit, ni même les usuelles AND, etc. Il va falloir ruser pour les implémenter de façon réversible et disposer ainsi au moins de la puissance du calcul classiue. Fig. Porte uantiue d un opérateur unitaire (donc inversible) f : (C ) n (C ) n Deuxièmement, il est fondamentalement impossible de dupliuer un n-ubit : un circuit uantiue ne peut comporter de bifurcations, c est-à-dire de dédoublement de fil, comme on se l autorisait pour un circuit classiue. Ceci est dû au théorème de non clonage uantiue [NC00, p. 53]. On peut comprendre ce résultat intuitivement de la manière suivante : si on arrivait à dupliuer un état uelconue autant de fois u on veut, on aurait accès statistiuement aux a i ce ui n est pas raisonnable. Là aussi, une astuce va nous sortir de ce mauvais pas. 1.3 Circuits et portes uantiues Malgré ces deux problèmes, on peut tout de même agir sur des n-ubits à la manière de n-bits normaux. La fonction booléenne ue représente une porte classiue est remplacée par un opérateur unitaire de (C ) n : on donne un n-ubit ψ en entrée à un opérateur unitaire U, et il donne en sortie le n-ubit U ψ. Il s agit donc de trouver des opérateurs unitaires ui représentent les opérations logiues ue l on veut réaliser Porte de Toffoli Tout d abord, il serait satisfaisant u un ordinateur uantiue ait une puissance de calcul au moins aussi importante u un ordinateur classiue. Pour cela, on construit une porte uantiue particulière, appelée porte de Toffoli, ui permet d obtenir une version uantiue du NAND et de la bifurcation dans un circuit. Ainsi, on aura récupéré au moins la puissance de calcul d un ordinateur classiue d après le résultat énoncé en 1.1. Algorithmiue uantiue : de l onentiel au polynômial

4 1. L ordinateur uantiue 4 La porte de Toffoli s appliue à 3 ubits en entrée (a, b, c) ie. à un 3-ubit et produit 3 ubits en sortie (a, b, c ). Son action est simple : si les deux premiers ubits sont dans l état 1, elle remplace la valeur du troisième ubit par son complémentaire. Pour fixer les idées, donnons sa table de vérité dans la base de calcul (les 0 et 1 représentent les états 0 et 1 pour plus de clarté) : Entrée Sortie a b c a b c Cette table donne la valeur de la porte appliuée aux vecteurs de base de (C ) 3, et elle caractérise donc bien l opérateur unitaire sous-jacent. À partir de cette porte uantiue, on voit u on obtient les opérations génératrices du calcul logiue classiue : NAND et la bifurcation. En effet, si on fixe c 1, alors c NAND(a, b). De même, si on fixe a 1 et c 0, alors b c b, et on a donc dupliué b. Mais si un ordinateur uantiue peut bien simuler un ordinateur classiue, il présente bien sûr une puissance de calcul beaucoup plus importante. Tout est dans les états dits d intrication des n-ubits. En effet, comme les n-ubits peuvent être des combinaisons linéaires d éléments de la base, on peut y stocker plus d information ue si on pouvait simplement se placer sur des vecteurs de la base (comme on le ferait si l ordinateur était classiue). Malheureusement, les mesures ne renvoient u un vecteur de la base, ce ui exclut de mesurer exactement un état intriué et d en obtenir les différentes composantes sur chaue vecteur de la base de calcul. Cependant, comme on va le voir dans les algorithmes uantiues ui suivent, on peut tout de même utiliser cette latitude de calcul pour accélérer des algorithmes classiues Porte CNOT La porte de Toffoli nous a permis de simuler de manière uantiue la logiue de NAND. Maintenant, nous allons imiter son caractère générateur. En effet, on dispose d une porte de base ui a un rôle analogue à NAND, dans le cas classiue dans le sens où elle est universelle parmi les opérateurs unitaires. Elle prend en entrée ubits. Le premier est dit de contrôle, le second est la cible. Son action peut être décrite simplement : si le ubit de contrôle vaut 0, le ubit cible reste tel uel ; mais si le ubit de contrôle vaut 1, alors le ubit cible est changé en son complémentaire. Sa table de vérité est donc : Entrée Sortie a b a b et on nomme cette porte CNOT (Controlled-NOT). CNOT présente une propriété algébriue intéressante : [1.A] Proposition (Universalité de CNOT et des portes sur 1-ubit) À partir de CNOT et des portes uantiues agissant sur un 1-ubit, on peut créer par composition n importe uelle porte uantiue agissant sur un n-ubit (c est-à-dire obtenir n importe uel opérateur unitaire de (C ) n ). Algorithmiue uantiue : de l onentiel au polynômial

5 1. L ordinateur uantiue 5 Contrairement au cas classiue, il n y a pas ue NOT ui agisse sur un seul ubit. Il y en a même une infinité puisu il y a une infinité d opérateurs unitaires sur C. On dénote par exemple l importante porte suivante, u on utilisera par la suite : La porte d Hadamard : H 1 ( Il est bon de noter ici ue cela ne résoud pas totalement notre problème. En effet, si on peut simuler tout opérateur unitaire par un nombre fini de compositions de portes de bases, un ordinateur uantiue effectivement construit ne peut embaruer u un nombre fini de portes uantiues, et donc ne peut avoir accès à tout opérateur agissant sur un ubit on n avait pas ce problème dans le cas classiue puisu il suffisait d embaruer la seule porte NAND. Cependant, des résultats d approximation montrent u on peut choisir, si on se fixe une précision, un sous-ensemble fini de portes de base pour approximer n importe uel opérateur unitaire [Fim00]. 1.4 Complexité d un algorithme uantiue On parle d accélérer des algorithmes classiues, mais encore faut-il se donner un moyen de mesurer effectivement la complexité d un algorithme uantiue. Rappelons ue dans le cas d un algorithme classiue, on choisit de mesurer la complexité en temps : on estime le temps mis par l algorithme sur une entrée de taille n, asymptotiuement. Cela revient à compter le nombre d opérations atomiues réalisées au cours d une exécution. Les algorithmes polynômiaux en n sont considérés comme étant utilisables en pratiue, alors ue les onentiels mettraient beaucoup trop de temps sur des entrées, même petites, pour être utiles. Sur un ordinateur uantiue, on mesure de même le temps d exécution. On va utiliser le résultat de [1.A] : on considère ue l application de CNOT ou d un opérateur agissant sur un 1-ubit se fait en temps constant. Une mesure prend également un temps constant. Ainsi, lorsu on dispose d un circuit uantiue, on établit sa complexité en décomposant chaue opérateur en CNOT et en opérations de 1-ubit, puis on compte. Dans toute la suite, les opérateurs agissant sur les n-ubits se décomposent en un nombre polynômial en n de portes de base. Ainsi, compter un nombre polynômial de ces portes uantiues ou des portes de base est éuivalent. On ne se souciera donc plus de ce détail de définition, et on comptera directement les opérateurs agissant sur des n-ubits. L aspect pratiue des algorithmes polynômiaux à opposer aux onentiels reste évidemment le même : un algorithme polynômial serait assez rapide si un ordinateur uantiue l exécutait, alors u un onentiel serait trop long sur des entrées de taille usuelle. Au moment où est écrit ce texte, on est parvenu à construire effectivement un ordinateur uantiue de 7-ubit, mais pas plus. Il a factorisé 15 avec l algorithme de Shor ue nous allons décrire dans la suite. On est bien loin d un vrai ordinateur disposant d un 100-ubit par exemple, mais c est déjà une belle avancée d être parvenu à passer de la théorie à la pratiue. ) Algorithmiue uantiue : de l onentiel au polynômial

6 . Algorithme de Shor 6 Algorithme de Shor.1 Description du problème & algorithme.1.1 Mise en situation Actuellement, beaucoup de techniues de cryptologie sont basées sur un fait simple : nous ne connaissons pas de façon efficace (ie. polynômiale) de factoriser un nombre. En particulier, la méthode RSA, utilisée dans les transmissions bancaires par exemple, repose sur ce fait : on fait transiter publiuement un très grand nombre u 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 u on ne peut pas (dans l état actuel des connaissances) trouver ce nombre en moins de centaines d années, on considère ue la transmission est sûre. L algorithme de Shor bouleverse totalement cette vision : en 1994, Shor trouve un algorithme uantiue ui factorise un nombre en temps polynômial. Ainsi, un ordinateur uantiue remettrait en cause une bonne partie de nos algorithmes de cryptologie. (Pas de paniue cependant, il fournirait également une puissance d encryptage plus importante!) Remarue 1. Dans un algorithme manipulant en entrée un nombre N, la taille de l entrée est le nombre de bits de N, ie. log N O(log N)..1. Suelette de l algorithme On peut décrire l algorithme de Shor en plusieurs étapes : Shor Entrée : nombre N à factoriser. On sait ue N n est pas premier. Sortie : 1 facteur non-trivial de N 1. Si N est pair, retourner.. Déterminer si N a b pour des entiers a 1 et b. Si c est le cas, retourner a. 3. Choisir un entier x, 1 x N Si le pgcd(x, N) > 1, alors retourner pgcd(x, N). 5. Sinon, chercher l ordre r de x dans Z/NZ, c est-à-dire ue r est le plus petit entier non-nul tel ue x r 1 mod N. 6. Si r est impair ou x r/ 1 mod N, alors recommencer avec un autre x. 7. Calcule pgcd(x r/ 1, N) et pgcd(x r/ + 1, N). L un des deux est un facteur non trivial. Quelues justifications s imposent ici pour voir ue l algorithme est bien polynômial en log N, et u il calcule bien ce u on veut. Les deux premières étapes sont là pour vérifier ue N est un entier impair avec plus d un facteur premier. Ces étapes peuvent être réalisées en O(1) et en O(log 3 N) respectivement. Cette propriété de N sera essentielle pour l étape 6. L étape 3 choisit un entier aléatoirement. Au vu de la uantité d aléas présente par essence dans un ordinateur uantiue, on se doute u obtenir un entier aléatoire n est pas très compliué. En effet, on peut faire simplement la manipulation suivante : on appliue la porte d Hadamard au 1-ubit 0. On a par définition : H 0 Algorithmiue uantiue : de l onentiel au polynômial

7 . Algorithme de Shor 7 Il suffit alors de mesurer l état de H 0 pour obtenir 0 ou 1 avec une probabilité 1/. À partir de cela, il est facile de générer aléatoirement un nombre entre 1 et N 1 en O(log N) (on tire aléatoirement chaue chiffre de son écriture en base ). L étape 4 retourne éventuellement directement un facteur non trivial. Le pgcd se calcule classiuement en O(log 3 N) à l aide de l algorithme d Euclide. Jusue là, nous n avons pas utilisé la puissance particulière de l ordinateur uantiue (l aléa peut être simulé sur un ordinateur classiue). C est dans l étape 5 ue tout se joue. En effet, on ne sait pas trouver l ordre de x en temps polynômial sur un ordinateur classiue, alors u on le peut sur un ordinateur uantiue avec une faible probabilité d erreur. La clef de voûte de cette techniue est la transformée de Fourier uantiue ui se fait en O(log 3 N) contre O(N log N) classiuement. Nous allons étudier en détail cette étape dans la section suivante. Dans l étape 6, il y a aussi une probabilié d erreur de l algorithme, mais elle est très petite : [.A] Théorème (Probabilité d échec) Soit N m i1 p i αi la décomposition en facteurs premiers de N. Alors avec les notations de l algorithme : P (r est pair et x r/ 1 mod N) 1 1 m 1 Preuve de [.A]. cf. [Sho99]. En particulier, cette probabilité d erreur est inférieure à 1/. Dans l étape 7, le calcul du pgcd se fait toujours en O(log 3 N). On sait par l étape précédente ue x r/ 1 mod N, et on sait par définition de r ue x r/ 1 mod N. Ainsi, aucun des deux facteurs n est nul modulo N, et donc leurs pgcd avec N donnent des facteurs non-triviaux, puisue leur produit divise N. Finalement, on voit ue ce ui permet à l algorithme uantiue d être polynômial (à une petite probabilité d erreur près) est simplement le fait de pouvoir calculer une transformée de Fourier efficacement. Comme nous l avions indiué, cet algorithme a une (petite) probabilité d erreur. Il faut distinguer cependant deux sources d erreurs : dans l étape 5 la probabilité d erreur vient des lois de la mécaniue uantiue alors ue dans l étape 6, c est purement arithmétiue.. Algorithmes intermédiaires Afin de réaliser l étape 5, il nous faut construire routines : l onentation modulaire et la transformée de Fourier uantiue. Nous décrivons ici l algorithme tel u il a été énoncé par Shor, mais la version u on trouve plus souvent dans la littérature passe par un autre intermédiaire plus général et utile dans d autres cas, u on appelle l estimation de phase...1 L onentiation modulaire L objet de ce paragraphe est de décrire un algorithme uantiue polynômial pour l onentation : on prend en entrée n, x et a pour donner en sortie (x a mod n). Ce sont des entiers, c est-à-dire des vecteurs de la base de calcul. On peut alors appliuer la méthode classiue pour calculer les puissances, dite d onentiation rapide. Elle consiste à calculer les x i (x i mod n) en mettant au carré successivement tant ue i log a. Ensuite, il reste à multiplier x log a (x log a mod n) par uelues-uns des x i déjà calculés pour l ajuster exactement à (x a mod n). Algorithmiue uantiue : de l onentiel au polynômial

8 . Algorithme de Shor 8 L implémentation uantiue effective des opérations arithmétiues n est pas triviale, mais elle n est pas terrifiante. On se reportera à [Sho99] pour plus de détails. Cette opération coûte donc clairement O(log n) multiplications de nombres plus petits ue n. On dispose ensuite de l algorithme classiue ui multiplie deux entiers plus petits ue n en O(log n). En fin de compte, la complexité est de O(log 3 n). En réalité, pour notre problème, on pourrait utiliser n importe uel algorithme de multiplication, même naïf, tant u il reste polynômial en log n. En particulier, on peut faire mieux ue ce O(log 3 n) en faisant appel à des algorithmes de multiplication plus sophistiués. Pour ue ce soit un algorithme exécutable sur un ordinateur uantiue, il se doit d être réversible comme on l a déjà vu. Dans [Sho99], l auteur décrit une méthode pour rendre réversible cet algorithme (et même tout algorithme). Nous ne nous attardons pas sur ce point et renvoyons à cette source pour plus de détails... La transformée de Fourier uantiue Usuellement, la transformée de Fourier discrète prend complexes (x 0,..., x 1 ) où est fixé, et calcule (y 0,..., y 1 ) : y k 1 1 ( ) iπck x c c0 On transpose alors aisément ce calcul dans le cadre uantiue. On se fixe un entier l, l 1, et 0 a <. La transformation de Fourier agit sur a ui est un l-ubit de la manière suivante : a 1 1 ( ) πac c c0 En clair, on appliue simplement l opérateur unitaire ui a pour matrice A dans la base de calcul où le terme (a, c) de A est, d après (.i) : (A ) (a,c) 1 ( ) πac (.ii) Il s agit donc de représenter cet opérateur comme une composition d un nombre polynômial en log de portes uantiues simples (voir 1.4). Pour réaliser A, nous n avons besoin ue de uelues opérateurs de base. Premièrement, on doit disposer des portes H j ui opèrent chacune sur le j ème ubit du l-ubit d entrée et ui a pour matrice H sur ce ubit (la porte d Hadamard, cf. 1.3.). Ensuite, il suffit d avoir les opérateurs S j,k ui opèrent chacun sur les j ème et k ème ubit d entrée, avec j < k, et ui a pour matrice sur ces ubits : e iθ j,k, où θ j,k π k j Et alors on obtient la porte A en mettant bout à bout uelues-unes bien choisies de ces portes : H l 1 ; S l,l 1 puis H l ; S l 3,l 1 ; S l 3,l puis H l 3... H 1 ; S 0,l 1... S 0,1 puis H 0 puis en prenant les ubits à l envers dans la réponse de ce circuit (le premier ubit de sortie correspond en fait à la coordonnée de A sur c pour c 1 et non pas c 0, et ainsi de suite) ceci se fait bien en un temps linéaire simplement avec un circuit de Swap puisu il faut intervertir l/ couples. Ainsi, on voit u on utilise l + l i1 i O(l ) O(log ) O(log ) portes, ce ui nous fait donc un algorithme polynômial en log. Reste à voir tout de même pouruoi cela calcule bien la transformée de Fourier u on attend. (.i) Algorithmiue uantiue : de l onentiel au polynômial

9 . Algorithme de Shor 9 Pour cela, regardons attentivement ce u il se passe sur un vecteur a a l 1... a 0, et plus précisément la coordonnée de A a sur un vecteur c c l 1... c 0. On s attend à retrouver (A ) (c,a). Premièrement, regardons l amplitude. Les S j,k ne la modifient pas, alors ue chaue application de H j la multiplie par 1. Il y a l log applications de H j, et donc l amplitude est multipliée par ( 1/ ) log l 1 Ainsi, le facteur multiplicatif dans (.ii) est acuis. Maintenant, regardons le changement de phase. Pour commencer, regardons l action des H j. Pour j fixé, H j a une action visible (multiplie par 1, ie. déphase de π) sur a seulement si a j vaut 1, et si on regarde le résultat sur une ligne où le j ème ubit de c vaut 1. Mais comme on inverse les ubits en fin d algorithme, cela se traduit par le fait ue c l 1 j 1. On peut voir cela en regardant l action de H j sur un l-ubit global : H j I I... I } {{ } H I... I } {{ } j 1 fois l j fois Donc si on dispose de a a l 1... a 0, d après les règles de calcul des produits tensoriels : H j a I a l 1 I a l I a j+1... H j a j I a j 1 I a 0 a l 1... a j+1 H j a j a j 1... a 0 Ainsi, on peut diviser l étude en deux cas : a j 0 a j 1 H j a 1 a + 1 a l 1... a j+1 1 a j 1... a 0 H j a 1 a l 1... a j+1 0 a j 1... a 0 1 a 1 a l 1... a j+1 0 a j 1... a e iπ a Ainsi, on remarue ue le seul cas où on observe un déphasage du vecteur initial est lorsue a j 1 et u on regarde le résultat sur un vecteur dont le j ème ubit vaut 1. On traduit ceci par c l j 1 1 dans notre cas. Le déphasage est de π, et c est donc bien le résultat annoncé ci-dessus. Observons à présent l action de S j,k. Par définition, on voit ue S j,k déphase selon c de a j c l k 1 1, et ne fait rien sinon. π k j si On peut maintenant recoller les morceaux et voir ce ue fait effectivement le total. On a un déphasage total Φ pour A a selon le vecteur c de la base de calcul de : Φ,a,c k l k 1 l πa j c l j 1 + j0 0 j k<l 0 j+k<l π l πac 0 j<k<l π k j a j c l 1 k π j k l a j c k l 1 l 1 j a j k c k j0 k0 π k j a j c l k 1 Or (A ) (a,c) (A ) (c,a) 1 e iφ,a,c, donc on a bien montré ue (A ) (a,c) 1 ( ) πac Algorithmiue uantiue : de l onentiel au polynômial

10 . Algorithme de Shor 10 Intuitivement, on voit bien où le calcul uantiue permet de gagner du temps : lorsu on appliue H j ou S j,k, l opérateur agit sur toutes les composantes en même temps. Plutôt u un long discours, voici la matrice de H lorsue l 3, où le vide représente des zéros. On voit bien ue des calculs sont faits en parallèle ( résultats superposés pour chaue composante en entrée ; plus les opérateurs s appliuent au vecteur de départ, plus l état est superposé, et donc plus on parallélise ) : I H I Malgré tout, il serait abusif de dire ue cet algorithme calcule effectivement la transformée de Fourier de a. En effet, si on sait ue A a est bien dans un état ui représente sa transformée de Fourier, on ne peut pas pour autant en extraire les différentes harmoniues, toujours à cause du problème de la mesure ui est probabiliste et ui projetterait le vecteur sur un vecteur de la base de calcul. Ainsi, elle ne peut servir ue comme étape intermédiaire dans un autre algorithme. C est précisément la manière dont on s en sert dans l algorithme de recherche de l ordre comme on va le voir..3 Recherche de l ordre d un élément.3.1 L algorithme Il est temps de faire effectivement l algorithme pour l étape 5 : Order-Finding Entrée : un entier N, et un entier x, 1 x N. Sortie : r l ordre de x dans Z/NZ. La taille de l entrée est donc log N. Premièrement, choisissons l tel ue l soit la puissance de telle ue n < n. On prend ensuite un l-ubit, auuel on pense comme deux registres d un l-ubit chacun, et ue l on place dans un état de superposition uniforme sur le premier registre : 1 1 a }{{} 0 }{{} a0 l-ubit l-ubit On peut réaliser cette superposition par exemple à l aide d une porte d Hadamard généralisée H n H n, en prenant H n 0. Ensuite, on utilise l algorithme d onentiation modulaire pour calculer x a mod N dans le second registre. Ce calcul peut être fait de façon réversible puisu on conserve a dans le premier registre. On obtient donc le nouvel état : 1 1 a x a mod N a0 Maintenant, on appliue la transformée de Fourier A au premier registre. C est bien une opération polynômiale en log N puisue log N log log + log N. D après (.i), on se retrouve à présent dans l état : ( ) iπac c x a mod N (.iii) a0 c0 Algorithmiue uantiue : de l onentiel au polynômial

11 . Algorithme de Shor 11 À présent, les calculs sont terminés et on fait une mesure de l état, récoltant un certain c x a mod N. Il ne reste plus u une étape de gestion des données (ui peut être réalisée sur un ordinateur classiue). On cherche d et r tels ue c d r 1 (on peut utiliser un algorithme de fractions continues pour cela, ui s exécute en temps polynômial). Si d et r (u on ne connaît pas) sont premiers entre eux, alors r r et on a trouvé l ordre de x. Sinon, il faut recommencer l algorithme (pour savoir si on doit recommencer, on teste simplement si x r 1 mod N). Comme on va le voir ci-dessous, la probabilté de recommencer est telle ue l on est certain à une très faible probabilité d erreur près ue le calcul va terminer au bout de O(log log r) exécutions. Et on sait ue r divise N par le théorème de Lagrange, donc c est aussi un O(log log N). Finalement, on a bien un algorithme ui s exécute en temps polynômial et ui prétend trouver l ordre de l élément x. Reste à voir pouruoi et comment dans la section suivante..3. Preuve de correction On se place après la mesure et il faut montrer ue les opérations u on fait ensuite mènent bien à r avec bonne probabilité. Pour plus de clarté, nous allons faire la preuve un petit peu à l envers par rapport à [Sho99]. On définit {rc} N comme la uantité telle ue (rc {rc} Supposons à présent u après la mesure, on ait : mod ) et {rc} ] /, /]. r {rc} r (.iv) c est-à-dire u il existe un entier d tel ue : ou encore r rc d r c d r 1 1 n On connaît c et ui sont fixés. Supposons u on ait deux fractions différentes d r (.v) avec r, r < N. Alors on a : d r d r 1 rr > 1 N et d autre part d r d r d r c + c d r 1 N et d r (.v) ui vérifient Ceci est absurde, donc il existe au plus une fraction ayant un dénominateur r < N ui vérifie (.v). On admettra u on peut trouver une telle fraction en temps polynômial grâce à un algorithme utilisant les fractions continues, on la note d0 r 0. Dans cette situation, si d et r sont premiers entre eux, alors d r est irréductible et l algorithme a donc donné la bonne fraction : d d 0 et r r 0, on a bien trouvé r. Dans le cas où d et r ne sont pas premiers entre eux, l algorithme a donné une version réduite de d/r et donc d 0 < d et r 0 < r : on n a pas trouvé r et il faut recommencer depuis le départ. Si on accepte u on est dans le cas de (.iv), regardons uelle probabilité on a d être dans le cas où d et r sont premiers entre eux. Pour voir ue cette étude ui a pris comme postulat (.iv) reflète bien la réalité, il faut estimer la probabilité u on a d arriver dans la bonne situation. Comptons donc le nombre d états c x k mod N ui nous mènent dans le cas où on obtient bien la valeur de r au bout du compte. Algorithmiue uantiue : de l onentiel au polynômial

12 . Algorithme de Shor 1 Il y a ϕ(r) valeurs de d telles ue d est premier avec r par définition de ϕ, où ϕ est la fonction d Euler. Et pour chacune de ces valeurs de d, il y a une valeur de c telle ue (.v) soit vérifiée. Pour chacune de ces valeurs de c, il y a r valeurs possibles pour (x k mod N) puisue r est l ordre de x. Donc il y a E rϕ(r) états possibles de c x k mod N ui nous permettent de trouver r. Reste à voir dans uelle mesure la condition (.iv) est vérifiée. D après (.iii), la probabilité de mesurer un état c x k mod N est : P c,k 1 a:x a x k [N] ( ) iπac Et comme l ordre de x est r, cette somme porte en fait sur les a tels ue a k mod r, puisue x a k 1 mod N. Alors si on écrit a br + k, on trouve : P c,k 1 1 k 1 b0 k 1 b0 ( ) iπ(br + k)c ( ) iπb{rc} Il s agit maintenant d évaluer cette probabilité. Pour cela, on va faire une estimation série-intégrale : k 1 b0 k 1 j0 k 1 j0 ( iπb{rc} [ [ ( iπj{rc} ) ) k 1 0 j+1 j ( ) iπb{rc} db ( ) db] iπb{rc} ( ) ( 1 ( iπj{rc} iπb{rc} 1 Or {rc} /, et donc on fait moins d un demi-tour, et pour b [0, 1]. Donc : Finalement, on a donc : k 1 j0 k 1 r [ 0 1 ( iπb{rc} ) db)] ( ) ( ( ))] iπj{rc} iπ{rc} 1 ( ( )) iπ{rc} 1 ) ( ) 1 iπ{rc} 1 k 1 b0 ( ) iπb{rc} 1 k 1 0 ( iπb{rc} ) db + O ( k 1 ( r ( iπ{rc} ) ) ) 1 À l aide d un développement limité, on voit ue si {rc} r/, alors le terme correctif est en O(1/). On l ignorera donc à partir de maintenant. Et après changement de variable on obtient : 1 r k 1 r/ 0 ( iπu{rc} r ) du Algorithmiue uantiue : de l onentiel au polynômial

13 . Algorithme de Shor 13 Comme k < r, on peut approximer la borne supérieure de l intégrale par 1 en ne faisant u une erreur en O(1/). Donc on se retrouve à traiter : I 1 r 1 0 ( ) iπu{rc} du r Une étude de fonction immédiate montre ue I πr pour {rc} r/. Et donc dans le cas où {rc} r/ (ui est (.iv)), on a P c,k 4 π r 1 3r pour assez grand, c est-à-dire pour N assez grand. Finalement, on vient de montrer u asymptotiuement, la probabilité de mesurer un état tel ue (.iv) soit vérifiée est plus grande ue 1 3r. Le fait ue ce soit asymptotiue n est nullement gênant : on appliue l algorithme de factorisation pour de grands nombres, sinon un test direct est faisable. Si on en revient à la conclusion précédente, la probabilité d être dans le cas où on trouve le bon r est donc supérieure, asymptotiuement, à E 3r rϕ(r) 3r ϕ(r) 3r. Or un théorème d arithmétiue nous dit u il existe une constante δ telle ue ϕ(r). Cela prouve ue l on trouve r effectivement au moins une δ δ r log log r fraction 3 log log r du temps. Donc en répétant l érience seulement O(log log r) O(log log N) fois, on est assuré d une bonne probabilité de succès. Algorithmiue uantiue : de l onentiel au polynômial

14 3. Algorithme de Grover 14 3 Algorithme de Grover Le cœur de l osé reposant sur l algorithme de Shor, nous ne donnerons u un aperçu rapide de l algorithme de Grover en nous limitant à énoncer les (belles) idées u il fait intervenir. 3.1 Position du problème On dispose d un ensemble de N éléments désordonnés, parmi lesuels on veut trouver un élément particulier (on peut facilement généraliser l algorithme pour trouver M N éléments). Sur un ordinateur classiue, dans une telle situation, on ne peut trouver l élément en moins de N/ opérations en moyenne. Ainsi, la recherche est linéaire : on regarde chaue objet jusu à tomber sur le bon. L algorithme de Grover permet de trouver cet élémént avec une (très) forte probabilité de succès en temps O( N). 3. Algorithme de Grover Le point essentiel de l algorithme de Grover est la parallélisation de calculs ue permet les ordinateurs uantiues. Comme d habitude, on n obtient pas tous les résultats puisu ils ne sont pas mesurables, mais ils sont calculés dans l état. Tout d abord, on se munit de deux registres. Le premier est de taille log N, le deuxième est simplement un ubit. On place le premier registre dans un état de superposition (u on a déjà croisé) : ψ 1 1 N 1 i N On définit la fonction indicatrice de la solution : { 1 si i est l élément cherché i0 f(i) 0 sinon L algorithme de Grover consiste à construire un opérateur unitaire U f tel ue : i0 U f ( i j ) i j f(i) où désigne le NAND (ie. la somme modulo ). Plaçons le deuxième registre dans l état ψ H Alors : U f ( i ψ ) U f ( i 0 ) U f ( i 1 ) i f(i) i 1 f(i) ( 1) f(i) i ψ Du coup, si on appliue ce calcul à notre état ψ 1, on obtient : U f ( ψ 1 ψ ) N 1 1 U f ( i ψ ) N i0 N 1 1 ( 1) f(i) i ψ N i0 Ainsi, on a différencié l état recherché puisue c est la seule coordonnée de R U f ( ψ 1 ψ ) ui est négative. On a donc bien évalué la fonction f en parallèle sur les N valeurs. Bien entendu, comme toujours, on n a toujours pas accès à l élément recherché puisu une mesure ne nous donnerait aucune Algorithmiue uantiue : de l onentiel au polynômial

15 3. Algorithme de Grover 15 information (on a une chance sur N de tomber sur la bonne valeur, puisue toutes les coordonnées ont même module). La suite de l algorithme de Grover consiste à manipuler cet état R pour accentuer l amplitude de la coordonnée négative au détrimens des positives. On peut montrer u au bout de O( N) opérations, on a assez accentué la coordonnée cherchée pour ue la probabilité de l avoir dans une mesure soit excellente. On se réfèrera à [Gro96] pour le premier article ui décrit l algorithme, à [LMP03] et [NC00, p. 48] pour une version mieux liuée accompagnée d illustrations parlantes. [Gro01] liue la génèse de cet algorithme et le cheminement pour arriver jusu à lui. Algorithmiue uantiue : de l onentiel au polynômial

16 Références [Fim00] Pierre Fima. Portes et circuits uantiues. Accessible sur le site du groupe de travail : http ://www.dma.ens.fr/edition/notesgdt/gt_calculuantiue, 000. [Gro96] [Gro01] L.K Grover. A fast uantum mechanical algorithm for database search. Proc. 8th annual ACM Symposium on the Theory of computing (STOC), pages pp. 1 19, May L.K Grover. From schrödinger s euation to the uantum search algorithm. Trouvable sur arxiv, 001. [LMP03] C. Lavor, L.R.U Mansur, and R. Portugal. Grover s algorithm : uantum database search. Trouvable sur arxiv, 003. [NC00] [Sho99] Michael L. Nielsen and Isaac L. Chuang. Quantum computation and uantum information. Cambridge, 000. P.W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a uantum computer. SIAM Review, 41() :pp , Jun

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Arithmétique Algorithmique. http://www.math.univ-lyon1.fr/~roblot/ens.html

Arithmétique Algorithmique. http://www.math.univ-lyon1.fr/~roblot/ens.html Arithmétique Algorithmique http://www.math.univ-lyon1.fr/~roblot/ens.html Partie III Algorithmes classiques 1 Coût de la multiplication et de la division 2 Exponentiation rapide 3 Algorithme d Euclide

Plus en détail

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels.

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels. Licence de Sciences et Technologies EM21 - Analyse Fiche de cours 1 - Nombres réels. On connaît les ensembles suivants, tous munis d une addition, d une multiplication, et d une relation d ordre compatibles

Plus en détail

Langage C et aléa, séance 4

Langage C et aléa, séance 4 Langage C et aléa, séance 4 École des Mines de Nancy, séminaire d option Ingénierie Mathématique Frédéric Sur http://www.loria.fr/ sur/enseignement/courscalea/ 1 La bibliothèque GMP Nous allons utiliser

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini.

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. 1 Introduction Des actions comme lancer un dé, tirer une carte d un jeu, observer la durée de vie d une ampoule électrique, etc...sont

Plus en détail

avec des nombres entiers

avec des nombres entiers Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Chapitre 1 : Évolution COURS

Chapitre 1 : Évolution COURS Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir

Plus en détail

Fonctions homographiques

Fonctions homographiques Fonctions homographiques On donne ci-dessous deux définitions des fonctions homographiques, et on montre que ces deux définitions sont équivalentes. On décrit la courbe représentative d une fonction homographique.

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Chaîne d additions ATTENTION!

Chaîne d additions ATTENTION! Chaîne d additions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas

Plus en détail

La machine à diviser de Monsieur Pascal

La machine à diviser de Monsieur Pascal prologue La machine à diviser de Monsieur Pascal Àdiviser? vous dites-vous, ne s agit-il pas plutôt de la «Pascaline», la machine à additionner que le jeune Blaise construisit pour soulager son père dans

Plus en détail

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Master Modélisation et Simulation / ENSTA TD 1 2012-2013 Les méthodes dites de Monte-Carlo consistent en des simulations expérimentales de problèmes

Plus en détail

Cours de Mathématiques Seconde. Généralités sur les fonctions

Cours de Mathématiques Seconde. Généralités sur les fonctions Cours de Mathématiques Seconde Frédéric Demoulin 1 Dernière révision : 16 avril 007 Document diffusé via le site www.bacamaths.net de Gilles Costantini 1 frederic.demoulin (chez) voila.fr gilles.costantini

Plus en détail

IPT : Cours 2. La représentation informatique des nombres

IPT : Cours 2. La représentation informatique des nombres IPT : Cours 2 La représentation informatique des nombres (3 ou 4 heures) MPSI-Schwarz : Prytanée National Militaire Pascal Delahaye 28 septembre 2015 1 Codage en base 2 Définition 1 : Tout nombre décimal

Plus en détail

Algèbre Année 2007-2008 ENS Cachan Vincent Beck. Action de groupes

Algèbre Année 2007-2008 ENS Cachan Vincent Beck. Action de groupes Algèbre Année 2007-2008 ENS Cachan Vincent Beck Action de groupes L idée centrale de cette note est de mettre en évidence le fait fondamental suivant une action d un groupe G sur un ensemble X, «c est»

Plus en détail

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL Opérations dans un système positionnel OPÉRATIONS DANS UN SYSTÈME POSITIONNEL INTRODUCTION Dans tout système de numération positionnel, les symboles sont utilisés de façon cyclique et la longueur du correspond

Plus en détail

Préparation à l agrégation 2012/2013. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs.

Préparation à l agrégation 2012/2013. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs. Le jury n exige pas une compréhension exhaustive du texte. Vous êtes laissé(e) libre d organiser votre discussion

Plus en détail

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Nombres premiers. Comment reconnaître un nombre premier? Mais... Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement

Plus en détail

Congruences et théorème chinois des restes

Congruences et théorème chinois des restes Congruences et théorème chinois des restes Michel Van Caneghem Février 2003 Turing : des codes secrets aux machines universelles #2 c 2003 MVC Les congruences Développé au début du 19ème siècle par Carl

Plus en détail

Compter à Babylone. L écriture des nombres

Compter à Babylone. L écriture des nombres Compter à Babylone d après l article de Christine Proust «Le calcul sexagésimal en Mésopotamie : enseignement dans les écoles de scribes» disponible sur http://www.dma.ens.fr/culturemath/ Les mathématiciens

Plus en détail

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

Plus en détail

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet.

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet. : Espoirs et menaces Matthieu Amiguet 2005 2006 Objectifs 2 Obtenir une compréhension de base des principes régissant le calcul quantique et la cryptographie quantique Comprendre les implications sur la

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Université Pierre et Marie Curie - Licence Informatique 2014-2015 Cours LI 352 - Industrie Informatique et son Environnement Économique

Université Pierre et Marie Curie - Licence Informatique 2014-2015 Cours LI 352 - Industrie Informatique et son Environnement Économique Université Pierre et Marie Curie - Licence Informatiue 2014-2015 Cours LI 352 - Industrie Informatiue et son Environnement Économiue TD 5 : CORRIGE 1 Offre à court terme (en CPP) 1.1 La condition de maximisation

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Module 1 - Arithmétique Chapitre 1 - Numération

Module 1 - Arithmétique Chapitre 1 - Numération Lycée Maximilien Sorre Année 2015-2016 BTS SIO 1 Module 1 - Arithmétique Chapitre 1 - Numération 1 Introduction : que signifie 2014? Dans de nombreuses situations, il est nécessaire de pouvoir exprimer

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

Problème: si les tableaux que l'on trie sont déjà à peu près triés, l'algorithme n'est pas efficace.

Problème: si les tableaux que l'on trie sont déjà à peu près triés, l'algorithme n'est pas efficace. Traonmilin Yann traonmil@enst.fr MOD Algorithmique Probabiliste 1. Deux exemples 1.1. Quicksort randomisé. Dans l'algorithme de tri classique Quicksort, le pivot est choisi au début du tableau puis on

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

MULTIPLICATION RAPIDE : KARATSUBA ET FFT

MULTIPLICATION RAPIDE : KARATSUBA ET FFT MULTIPLICATION RAPIDE : KARATSUBA ET FFT 1. Introduction La multiplication est une opération élémentaire qu on utilise évidemment très souvent, et la rapidité des nombreux algorithmes qui l utilisent dépend

Plus en détail

VI- Des transistors aux portes logiques. Conception de circuits

VI- Des transistors aux portes logiques. Conception de circuits 1 VI- Des transistors aux portes logiques. Conception de circuits Nous savons que l ordinateur traite uniquement des instructions écrites en binaire avec des 0 et des 1. Nous savons aussi qu il est formé

Plus en détail

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

Le corps R des nombres réels

Le corps R des nombres réels Le corps R des nombres réels. Construction de R à l aide des suites de Cauchy de nombres rationnels On explique brièvement dans ce paragraphe comment construire le corps R des nombres réels à partir du

Plus en détail

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi :

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi : Numération Numération. 1 Les systèmes de numération 1.1 Le système décimal. 1.1.1 Les chiffres. Le système décimal est le système d écriture des nombres que nous utilisons habituellement dans la vie courante.

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Au menu. Cours 7: Classes Probabilistes. Application : Calcul de la médiane. Sous menu. Retours sur quelques algorithmes.

Au menu. Cours 7: Classes Probabilistes. Application : Calcul de la médiane. Sous menu. Retours sur quelques algorithmes. Au menu Cours 7: Classes Probabilistes Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique Retours sur quelques algorithmes Quelques résultats INF561 Algorithmes et Complexité 1 2 Sous

Plus en détail

Chiffrement à clef publique ou asymétrique

Chiffrement à clef publique ou asymétrique Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr Licence professionnelle Administrateur de Réseaux et de Bases de Données IUT

Plus en détail

Par combien de zéros se termine N!?

Par combien de zéros se termine N!? La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Calculs préliminaires.

Calculs préliminaires. MINES-PONTS 005. Filière MP. MATHÉMATIQES 1. Corrigé de JL. Lamard jean-louis.lamard@prepas.org) Calculs préliminaires. Notons que si f H alors f)e / est bien intégrable sur R car continue positive et

Plus en détail

Intégration de polynômes Points de Gauss

Intégration de polynômes Points de Gauss Intégration de polynômes Points de Gauss Commençons par un exercice classique de premier cycle. Problème 1 Trouver trois réels α, β et γ tels que, pour tout polynôme P de degré au plus 2, on ait : ( )

Plus en détail

À propos des limites inductives filtrantes et du théorème de Lazard sur les modules plats

À propos des limites inductives filtrantes et du théorème de Lazard sur les modules plats 1 À propos des limites inductives filtrantes et du théorème de Lazard sur les modules plats Cette note est écrite comme une section 7 du chapitre VIII du livre Algèbre Commutative. Méthodes Constructives.

Plus en détail

1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre

1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre 1 Fiche méthodologique Passage d un mode de représentation d un sev à l autre BCPST Lycée Hoche $\ CC BY: Pelletier Sylvain Les deux modes de représentation des sous-espaces vectoriels Il existe deux modes

Plus en détail

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique : Chapitre Chapitre. Séries de Fourier Nous supposons connues les formules donnant les coefficients de Fourier d une fonction - périodique : c c a0 f x dx c an f xcosnxdx c c bn f xsinn x dx c L objet de

Plus en détail

Groupes et Actions de groupes. 1 Groupes, morphismes et actions de groupes.

Groupes et Actions de groupes. 1 Groupes, morphismes et actions de groupes. Groupes et Actions de groupes On présente ici des notions de base de théorie des groupes pour l agrégation interne. 1 Groupes, morphismes et actions de groupes. Un groupe (G, ), ou plus simplement G, est

Plus en détail

UNIVERSITÉ PARIS OUEST NANTERRE LA DÉFENSE U.F.R. SEGMI Année universitaire 2013 2014 MATHS/STATS. Solution des exercices d algèbre linéaire

UNIVERSITÉ PARIS OUEST NANTERRE LA DÉFENSE U.F.R. SEGMI Année universitaire 2013 2014 MATHS/STATS. Solution des exercices d algèbre linéaire UNIVERSITÉ PARIS OUEST NANTERRE LA DÉFENSE U.F.R. SEGMI Année universitaire 3 4 Master d économie Cours de M. Desgraupes MATHS/STATS Document : Solution des exercices d algèbre linéaire Table des matières

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

L ADDITION BINAIRE. Quand vous faites une addition en décimal, vous faites la somme des chiffres se trouvant dans une même colonne.

L ADDITION BINAIRE. Quand vous faites une addition en décimal, vous faites la somme des chiffres se trouvant dans une même colonne. L ADDITION BINAIRE 1. Le principe Quand vous faites une addition en décimal, vous faites la somme des chiffres se trouvant dans une même colonne. Si la somme est inférieure à 10, alors vous posez le résultat

Plus en détail

StatEnAction 2009/10/30 11:26 page 111 #127 CHAPITRE 10. Machines à sous

StatEnAction 2009/10/30 11:26 page 111 #127 CHAPITRE 10. Machines à sous StatEnAction 2009/0/30 :26 page #27 CHAPITRE 0 Machines à sous Résumé. On étudie un problème lié aux jeux de hasard. Il concerne les machines à sous et est appelé problème de prédiction de bandits à deux

Plus en détail

5 Méthodes algorithmiques

5 Méthodes algorithmiques Cours 5 5 Méthodes algorithmiques Le calcul effectif des lois a posteriori peut s avérer extrêmement difficile. En particulier, la prédictive nécessite des calculs d intégrales parfois multiples qui peuvent

Plus en détail

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS.

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS. A la fin de ce chapitre vous devez être capable de : connaître différents procédés pour établir une divisibilité : utilisation de la définition, utilisation d identités remarquables, disjonction des cas,

Plus en détail

Correction de l épreuve intermédiaire de mai 2009.

Correction de l épreuve intermédiaire de mai 2009. Licence de Gestion. 3ème Année Année universitaire 8-9 Optimisation Appliquée C. Léonard Correction de l épreuve intermédiaire de mai 9. Exercice 1 Avec les notations du cours démontrer que la solution

Plus en détail

Leçon N 1 : Taux d évolution et indices

Leçon N 1 : Taux d évolution et indices Leçon N : Taux d évolution et indices En premier un peu de calcul : Si nous cherchons t [0 ;+ [ tel que x 2 = 0,25, nous trouvons une solution unique x = 0, 25 = 0,5. Nous allons utiliser cette année une

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Continuité d une fonction de plusieurs variables

Continuité d une fonction de plusieurs variables Chapitre 2 Continuité d une fonction de plusieurs variables Maintenant qu on a défini la notion de limite pour des suites dans R n, la notion de continuité s étend sans problème à des fonctions de plusieurs

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Sur l algorithme RSA

Sur l algorithme RSA Sur l algorithme RSA Le RSA a été inventé par Rivest, Shamir et Adleman en 1978. C est l exemple le plus courant de cryptographie asymétrique, toujours considéré comme sûr, avec la technologie actuelle,

Plus en détail

Systèmes de Numération & Codage

Systèmes de Numération & Codage Systèmes de Numération & Codage Objectif : L électronicien est amené à manipuler des valeurs exprimées dans différentes bases (notamment avec les systèmes informatiques). Il est essentiel de posséder quelques

Plus en détail

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan Exo7 Systèmes linéaires Vidéo partie 1. Introduction aux systèmes d'équations linéaires Vidéo partie 2. Théorie des systèmes linéaires Vidéo partie 3. Résolution par la méthode du pivot de Gauss 1. Introduction

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

ELEC2753 Electrotechnique examen du 11/06/2012

ELEC2753 Electrotechnique examen du 11/06/2012 ELEC2753 Electrotechnique examen du 11/06/2012 Pour faciliter la correction et la surveillance, merci de répondre aux 3 questions sur des feuilles différentes et d'écrire immédiatement votre nom sur toutes

Plus en détail

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Cours 1: lois discrétes classiques en probabilités

Cours 1: lois discrétes classiques en probabilités Cours 1: lois discrétes classiques en probabilités Laboratoire de Mathématiques de Toulouse Université Paul Sabatier-IUT GEA Ponsan Module: Stat inférentielles Définition Quelques exemples loi d une v.a

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Loi normale ou loi de Laplace-Gauss

Loi normale ou loi de Laplace-Gauss LivreSansTitre1.book Page 44 Mardi, 22. juin 2010 10:40 10 Loi normale ou loi de Laplace-Gauss I. Définition de la loi normale II. Tables de la loi normale centrée réduite S il y avait une seule loi de

Plus en détail

Applications linéaires

Applications linéaires Applications linéaires I) Applications linéaires - Généralités 1.1) Introduction L'idée d'application linéaire est intimement liée à celle d'espace vectoriel. Elle traduit la stabilité par combinaison

Plus en détail

Cahier de vacances - Préparation à la Première S

Cahier de vacances - Préparation à la Première S Cahier de vacances - Préparation à la Première S Ce cahier est destiné à vous permettre d aborder le plus sereinement possible la classe de Première S. Je vous conseille de le travailler pendant les 0

Plus en détail

Cours 1: Introduction à l algorithmique

Cours 1: Introduction à l algorithmique 1 Cours 1: Introduction à l algorithmique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique 2 Aujourd hui Calcul de x n Maximum Complexité d un problème Problème

Plus en détail

A propos du calcul des rentabilités des actions et des rentabilités moyennes

A propos du calcul des rentabilités des actions et des rentabilités moyennes A propos du calcul des rentabilités des actions et des rentabilités moyennes On peut calculer les rentabilités de différentes façons, sous différentes hypothèses. Cette note n a d autre prétention que

Plus en détail

Espaces vectoriels et applications

Espaces vectoriels et applications Espaces vectoriels et applications linéaires 1 Définitions On parle d espaces vectoriels sur le corps R ou sur le corps C. Les définitions sont les mêmes en substituant R à C ou vice versa. Définition

Plus en détail

Espaces vectoriels. par Pierre Veuillez

Espaces vectoriels. par Pierre Veuillez Espaces vectoriels par Pierre Veuillez 1 Objectifs : Disposer d un lieu où les opérations + et se comportent bien. Déterminer des bases (utilisation de la dimension) Représenter les vecteurs grace à leurs

Plus en détail

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

7 Cryptographie (RSA)

7 Cryptographie (RSA) 7 Cryptographie (RSA) Exponentiation modulaire On verra que le système de cryptage RSA nécessite d effectuer une exponentiation modulaire, c est-à-dire de calculer a n mod m, lorsque m et n sont très grands.

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR

COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR Université Paris VII. Préparation à l Agrégation. (François Delarue) COMPORTEMENT ASYMPTOTIQUE D UNE FILE D ATTENTE À UN SERVEUR Ce texte vise à l étude du temps d attente d un client à la caisse d un

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Exemple. Il ne faudra pas confondre (101) 2 et (101) 10 Si a 0,a 1, a 2,, a n sont n+1 chiffres de 0 à 1, le

Exemple. Il ne faudra pas confondre (101) 2 et (101) 10 Si a 0,a 1, a 2,, a n sont n+1 chiffres de 0 à 1, le Chapitre I - arithmé La base décimale Quand on représente un nombre entier, positif, on utilise généralement la base 10. Cela signifie que, de la droite vers la gauche, chaque nombre indiqué compte 10

Plus en détail

UNIVERSITÉ DE CERGY Année 2012-2013 U.F.R. Économie & Gestion Licence d Économie et Mathématiques MATH104 : Mathématiques

UNIVERSITÉ DE CERGY Année 2012-2013 U.F.R. Économie & Gestion Licence d Économie et Mathématiques MATH104 : Mathématiques 1 UNIVERSITÉ DE CERGY Année 2012-201 U.F.R. Économie & Gestion Licence d Économie et Mathématiques MATH104 : Mathématiques Chapitre III : Polynômes 1 Fonctions polynômes & polynômes Définition 1. Soit

Plus en détail

Primitives Cours maths Terminale S

Primitives Cours maths Terminale S Primitives Cours maths Terminale S Dans ce module est introduite la notion de primitive d une fonction sur un intervalle. On définit cette notion puis on montre qu une fonction admet une infinité de primitives

Plus en détail

Equations polynomiales modulaires et Conjecture de Goldbach

Equations polynomiales modulaires et Conjecture de Goldbach Equations polynomiales modulaires et Conjecture de Goldbach Denise Vella-Chemla 5/2/2013 La conjecture de Goldbach stipule que tout nombre pair supérieur à 2 est la somme de deux nombres premiers. 1 Modéliser

Plus en détail

Restauration d images

Restauration d images Restauration d images Plan Présentation du problème. Premières solutions naïves (moindre carrés, inverse généralisée). Méthodes de régularisation. Panorama des méthodes récentes. Problème général Un système

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

SOMMES ET PRODUITS. 1 Techniques de calcul. 1.1 Le symbole. 1.2 Règles de calcul. Laurent Garcin MPSI Lycée Jean-Baptiste Corot

SOMMES ET PRODUITS. 1 Techniques de calcul. 1.1 Le symbole. 1.2 Règles de calcul. Laurent Garcin MPSI Lycée Jean-Baptiste Corot SOMMES ET PRODUITS 1 Techniques de calcul 1.1 Le symbole Notation 1.1 Soient m et n deux entiers naturels. Alors { a m + a m+1 + + a + a n si m n, a = 0 sinon. On peut aussi noter m n =m a ou encore m,n

Plus en détail

Les théorèmes de Gerschgorin et de Hadamard

Les théorèmes de Gerschgorin et de Hadamard Localisation des valeurs propres : Quelques propriétés sur les disques de Gerschgorin. Jean-Baptiste Campesato 22 septembre 29 Gerschgorin est parfois retranscrit en Gershgorin, Geršgorin, Hershhornou

Plus en détail

OPERATIONS SUR LE SYSTEME BINAIRE

OPERATIONS SUR LE SYSTEME BINAIRE OPERATIONS SUR LE SYSTEME BINAIRE 1) Nombres signés Nous n avons, jusqu à présent tenu compte, que des nombre positifs. Pourtant, la plupart des dispositifs numériques traitent également les nombres négatifs,

Plus en détail

Systèmes de transmission

Systèmes de transmission Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

Chapitre IV Bases et dimension d un espace vectoriel

Chapitre IV Bases et dimension d un espace vectoriel Chapitre IV Bases et dimension d un espace vectoriel Objectif : Nous allons voir comment fabriquer des systèmes de coordonnées pour les vecteurs d un espace vectoriel général. Dans ce chapitre désigne

Plus en détail

Page 1/11. Préambule. Table des matières

Page 1/11. Préambule. Table des matières Page 1/11 Table des matières Préambule... 1 1- Le principe de «NuaFil»... 2 2 - Accueil de votre gestion de profil... 2 2-1 - La recherche de profils... 3 2-2- La liste de vos profils... 3 3 - Le référencement

Plus en détail

Stratégies et construction

Stratégies et construction Stratégies et construction Sébastien MARTINEAU Été 2008 Exercice 1 (Niveau 2). Sur une règle d 1 mètre de long se trouvent 2008 fourmis. Chacune part initialement, soit vers la gauche, soit vers la droite,

Plus en détail

Simulation de variables aléatoires

Simulation de variables aléatoires Simulation de variables aléatoires S. Robin INA PG, Biométrie Décembre 1997 Table des matières 1 Introduction Variables aléatoires discrètes 3.1 Pile ou face................................... 3. Loi de

Plus en détail

Devoir à la maison. à rendre le lundi 21 février 2011

Devoir à la maison. à rendre le lundi 21 février 2011 Université Clermont 1 Année 2010-2011 IUT Info 1A Semestres décalés Arithmétique et Cryptographie Malika More Devoir à la maison à rendre le lundi 21 février 2011 Exercice 1 (3 points). 1. En utilisant

Plus en détail

M2 IAD UE MODE Notes de cours (3)

M2 IAD UE MODE Notes de cours (3) M2 IAD UE MODE Notes de cours (3) Jean-Yves Jaffray Patrice Perny 16 mars 2006 ATTITUDE PAR RAPPORT AU RISQUE 1 Attitude par rapport au risque Nousn avons pas encore fait d hypothèse sur la structure de

Plus en détail