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

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

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

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

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

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 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

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

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

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

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

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

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

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

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

À 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

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

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

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls.

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls. Diagonalisation des matrices http://www.math-info.univ-paris5.fr/~ycart/mc2/node2.html Sous-sections Matrices diagonales Valeurs propres et vecteurs propres Polynôme caractéristique Exemples Illustration

Plus en détail

Notes de cours L1 MATH120. Hervé Le Dret

Notes de cours L1 MATH120. Hervé Le Dret Notes de cours L1 MATH120 Hervé Le Dret 18 octobre 2004 40 Chapitre 3 Vecteurs dans R m Dans ce chapitre, nous allons nous familiariser avec la notion de vecteur du point de vue algébrique. Nous reviendrons

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

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

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

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

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

Arithmétique modulaire et applications à la cryptographie

Arithmétique modulaire et applications à la cryptographie Arithmétique modulaire et applications à la cryptographie Etant donné un entier n, l arithmétique modulo n consiste à faire des calculs sur les restes dans la division euclidienne des entiers par n. Exemples

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

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

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

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

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD

Les supports de cours suivants font référence au cours de Mr SOL et à son livre : Accès à l'université chez DUNOD Les supports de cours suivants font référence au cours de Mr SOL et à son livre : "Accès à l'université" chez DUNOD Les supports de cours ne sont pas complets, ils ne contiennent ni les démonstrations,

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

Calculs approchés d un point fixe

Calculs approchés d un point fixe M11 ÉPREUVE COMMUNE DE TIPE 2013 - Partie D TITRE : Calculs approchés d un point fixe Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec les

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

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

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

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

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Espaces vectoriels et applications linéaires

Espaces vectoriels et applications linéaires Espaces vectoriels et applications linéaires Exercice 1 On considère l'ensemble E des matrices carrées d'ordre 3 défini par,,, 1) Montrer que est un sous-espace vectoriel de l'espace vectoriel des matrices

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

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

Mathématiques assistées par ordinateur

Mathématiques assistées par ordinateur Mathématiques assistées par ordinateur Chapitre 4 : Racines des polynômes réels et complexes Michael Eisermann Mat249, DLST L2S4, Année 2008-2009 www-fourier.ujf-grenoble.fr/ eiserm/cours # mao Document

Plus en détail

OLYMPIADES FRANÇAISES DE MATHÉMATIQUES

OLYMPIADES FRANÇAISES DE MATHÉMATIQUES OLYMPIADES FRANÇAISES DE MATHÉMATIQUES OLYMPIADES OFM FRANÇAISES MATHÉMATIQUES ENVOI NO. 3 CORRIGÉ 1 Exercices du groupe B Exercice 1. Soit n 1 un entier tel que le quotient de 2 n par n est une puissance

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

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

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

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

2012/2013 Le codage en informatique

2012/2013 Le codage en informatique 2012/2013 Le codage en informatique Stéphane Fossé/ Marc Gyr Lycée Felix Faure Beauvais 2012/2013 INTRODUCTION Les appareils numériques que nous utilisons tous les jours ont tous un point commun : 2 chiffres

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

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

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

Algorithmes de tri. 1 Introduction

Algorithmes de tri. 1 Introduction Algorithmes de tri L objectif de ce document est de présenter plusieurs algorithmes classiques de tri. On commence par présenter chaque méthode de manière intuitive, puis on détaille un exemple d exécution

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

Théorème du point fixe - Théorème de l inversion locale

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

Combien de fois faut-il battre un jeu de cartes?

Combien de fois faut-il battre un jeu de cartes? Combien de fois faut-il battre un jeu de cartes? Ce texte est tiré d un article de D. Bayer et P. Diaconis Trailing the dovetail shuffle to its lair Ann. Appl. Prob. 992, vol 2, No 2, 294-33. Introduction

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Université Joseph Fourier MAT231 2008-2009

Université Joseph Fourier MAT231 2008-2009 Université Joseph Fourier MAT231 2008-2009 mat231-exo-03.tex (29 septembre 2008) Feuille d exercices n o 3 Exercice 3.1 Soit K un corps commutatif et soit {P 0, P 1,... P n } une famille de polynômes de

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

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

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