Comparaison de l efficacité de codes correcteurs d erreurs

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

Download "Comparaison de l efficacité de codes correcteurs d erreurs"

Transcription

1 Comparaison de l efficacité de codes correcteurs d erreurs Antoine Taveneaux, antoinetav@yahoo.fr 2 juin 2007 Sommaire 1 Généralités sur les codes correcteurs Principe général Notion de distance Paramètres d un code Premiers exemples Les codes de Reed-Solomon Présentation générale Le codage Le décodage Remarque sur le coût des algorithmes Les codes CIRC L entrelacement avec retard Le codage CIRC Le décodage Avantages de ces codes Comparaison des codes Présentation des tests effectués Tableaux comparatifs Analyse des tests Conclusion 10 Références 11 Annexe 1 : construction et implémentation de F 2 k Construction de F 2 k Recherche du polynôme irréductible de degré r dans F Implémentation de F 2 k Annexe 2 : illustrations des tests 14 1

2 Introduction Lors de l acheminement ou du stockage de données, des erreurs peuvent survenir. Dans notre société, où la diffusion de l information est devenue essentielle, il est crucial de pouvoir corriger ces erreurs : c est le rôle des codes correcteurs. Il en existe plusieurs types, que nous allons étudier en détail (sans pour autant toujours présenter d algorithme explicite). Nous comparerons enfin leur efficacité, tant en termes de correction d erreurs qu en vitesse d exécution. 1 Généralités sur les codes correcteurs 1.1 Principe général Le codage consiste à disposer d une fonction de codage ψ, injective mais non surjective, qui transforme un message d entrée m en ψ(m) : un message plus long qui sera transmis à la place de m. Le canal peut brouiller le signal (c est-à-dire que certains bits de ψ(m) peuvent être changés). Puis, on reçoit le message m r. L opération de décodage consiste alors à appliquer une fonction µ telle que µ(m r ) soit, avec une forte probabilité m, le message initial, ou dans certains cas, une réponse d impossibilité de décodage si le nombre d erreurs est trop important. Ainsi, µ est la fonction qui à m r associe l élément le plus proche dans l ensemble des mots de code (l ensemble des mots de la forme ψ(m)), puis applique ψ 1, afin de retrouver le message originel dans la plupart des cas (si le message reçu ne contient pas un nombre trop grand d erreurs). m Codage ψ(m) Transmission m r Décodage µ(m r ) = ψ(m ) Restrictions ψ aléatoire µ On supposera, dans la plupart des cas (sauf dans une certaine mesure pour les CIRC), que ce travail se restreint aux messages d une longueur fixée à l avance, quitte à découper le message en blocs et à les transmettre (en ajoutant éventuellement des caractères de remplissage). On étudie alors des codes par bloc. De plus, on se limitera en général à des mots écrits sur le corps F 2 k, qui correspondent à la représentation informatique de l information. On supposera également que le canal n efface pas de symbole, donc qu un bit peut être changé mais pas supprimé Notion de distance La description qui précède faisait appel à la notion de plus proche, donc implicitement de distance. On suppose que m est un n-uplet d éléments d un groupe commutatif. On définit alors la distance de Hamming d(m, m ) comme le nombre d éléments non nuls dans m m. On vérifie alors facilement qu il s agit bien d une distance. Comme on travaille sur ces blocs de longueur fixe, alors on peut définir la distance minimale du code comme la plus petite distance entre deux mots de code. Notons alors d cette distance minimale. Un bloc reçu, m, sera donc associé au mot de code m c si d(m, m c ) < d/2 et s il n existe aucun mot m c de ce type, alors on dit que l on ne peut pas corriger m car, par définition de d, il existe des cas où deux mots de code sont équidistants de m. Ainsi, la difficulté de la recherche d un bon code serait de 1 Certains canaux, par exemple pour la transition de fax par ligne téléphonique, peuvent faire disparaître des bits. 2

3 réussir à paver V n (avec V le groupe commutatif fini et n la longueur des blocs de mots de code). Ainsi, un des paramètres importants d un code est la distance minimale d de ce code. Codes parfaits Les codes parfaits sont ceux dans lesquels, pour tout n-uplet, il existe un mot du code qui est à une distance strictement inférieure à d/2. Autrement dit, tout mot reçu peut être décodé, ou encore les boules ouvertes de rayon d/2 pavent tout l espace des mots de longueur n : V n. 1.3 Paramètres d un code Si l on code des mots de longueur k et que les mots de code sont de longueur n, et la distance minimale est d, on appelle alors : taux d information, le rapport : k/n, taux de correction le rapport : d/n, on dira qu un code est alors du type (n, k, d). 1.4 Premiers exemples Codes des répétitions Une première idée simple de code correcteur pourrait être de répéter chaque bit un nombre impair de fois, et de chercher le nombre majoritaire de 1 ou de 0 à la réception. Si l on répète 2p+1 fois le bit, k = 1,n = 2p+1 et d = n = 2p+1. Ce code simpliste est très peu performant car son taux d information est infime, mais montre que quelque soit la perturbation du canal (si la probabilité, pour qu un bit soit inversé est différente de 1/2), on peut avoir un code qui permet de décoder un mot de code avec une probabilité aussi grande que l on veut dans [0, 1[. Bits de parités Un autre exemple est le code qui consiste en l ajout d un bit de parité, c est à dire un bit qui correspond à la somme des autres bits (modulo 2). Ce système peut avoir un taux d information aussi proche de 1 que l on souhaite, mais a toujours une distance minimale de 2, et donc, ne permet pas de correction, sauf d un effacement dont on connaît la position. Il permet cependant la détection d une erreur par bloc. Si un bloc est erroné, on peut alors demander un nouvel envoi. Cette méthode peut donc être utilisée avec des canaux introduisant peu d erreurs et dans lesquelles une demande de répétition est possible 2. Les codes de Hamming Les codes de Hamming qui constituent une amélioration des codes par ajout d un bit de parité (en réalité, on peut les voir comme un ajout de bits de parités de certains ensemble de bits du bloc). Nous ne détaillerons pas plus ici leur construction (on peut trouver cette construction dans le cas général, par exemple dans [3]). Dans le cadre de ce travail, nous avons implémenté le code Hamming de longueur 7 qui code 4 bits en 7 bits de distance 4. Afin d illustrer cette partie, nous avons fait une implémentation qui se base sur un dictionnaire (construit systématiquement grâce à la propriété de linéarité de ce code) qui permet de coder et d un système de décodage par étude exhaustive : on cherche le mot à distance inférieure à 2 du mot reçu. On a écrit une procédure qui peut s appliquer au décodage de n importe quel code par bloc dont on dispose du dictionnaire. On peut en effet trouver la distance 2 Ce type de code par somme de contrôle se trouve dans les numéros d inscription au répertoire (utilisés par la sécurité sociale) où la clé est 97, moins la valeur du numéro modulo 97. Ainsi la somme du numéro et de la clé est multiple de 97. On trouve des systèmes identiques dans les codes-barres ou les numéros isbn par exemple. 3

4 minimale en cherchant le minimum des distances entre deux mots ; ensuite on procède de manière exhaustive pour trouver le mot qui est à une distance inférieure à d/2 du mot reçu. Ainsi, on illustre les concepts présentés dans cette partie. Il est à noter que ces algorithmes sont rapidement impraticables, car la recherche de d à un coût en O(t 2 ), où t est la taille du dictionnaire et le décodage a un coût en O((t.n) d ), avec n la longueur des mots de code : ce qui devient très rapidement impraticable, avec les méthodes implémentées, car t est souvent d une taille en O(exp(k)). 2 Les codes de Reed-Solomon 2.1 Présentation générale Les codes de Reed-Solomon sont des codes cycliques, linéaires, particuliers. Nous allons ici présenter leur construction. Une présentation plus complète peut être trouvée dans [2], [1] ou [3] qui ont servi à la réalisation de cette étude. Nous allons travailler ici sur des mots constitués d éléments de F 2 k dont la construction est décrite en annexe. Les codes de Reedsolomon sont du type (n = 2 k 1, k, n k + 1) pour des mots de F 2 k. Ils constituent une classe de codes intéressante car ils sont optimums, c est à dire qu ils nécessitent le nombre minimum de redondance (n k) pour obtenir une distance minimale donnée, (n k + 1). De plus, il existe des implémentations de codage et de décodage relativement rapides. Nous allons présenter les opérations de codage et de décodage tel qu elles ont été implémentées dans le cadre de ce travail. Enfin, ces codes sont robustes aux bouffées d erreurs telles que l on peut en trouver sur des CD où une rayure de 1mm de largeur détruit environ bits par tour. 2.2 Le codage Pour le code du type (n = 2 k 1, k, n k + 1), on choisit, par exemple, le polynôme g de degré n k, tel que α soit un générateur de F 2 k, et : g(x) = n k i=1 (X αi ). On considère alors le message m = (m 1,..., m k ) que l on assimile au polynôme k i=1 m i.x i. On considère alors le polynôme m(x).g(x) = n i=1 m i.xi qui est assimilé à m = (m 1,..., m n) et qui constitue le mot de code associé à m. Ainsi le codage est une multiplication de polynômes de degrés (n k) et k. 2.3 Le décodage Il existe plusieurs méthodes de décodage. Nous avons choisi celle qui est présentée dans [1]. On notera ici r = n d+1. On va décoder le mot m = m +e où m est le message codé envoyé et e l erreur due à la transmission qui a un poids inférieur à r/2. Nous allons alors essayer de retrouver e : une division euclidienne par g suffira pour retrouver le message originel. Transformée de Fourier discrète On a alors l algorithme de transformée de Fourier discrète (noté DF T ) qui transforme le polynôme m = (m 0,...m n 1 ) en DF T (m) = (h 0 = m(α 0 ),..., h n 1 = m(α n 1 )) où α est le générateur du corps F 2 k utilisé pour obtenir le polynôme g. On notera aussi pour b n, DF T b (m) = (m(α 1 ),..., m(α b 1 )). On dispose aussi de l algorithme DF T 1 qui correspond à l évaluation de m en les α i, autrement dit : DF T 1 (m) = (h 0 = m((α 1 ) 0 ),..., h n 1 = m((α 1 ) n 1 )). On remarque que ces opérations sont clairement linéaires. On supposera alors démontré que DF T 1 (DF T (m)) = m pour tout m (cette démonstration se fait sans difficulté). Comme pour 1 i < r, α i est racine de g, DF T r (m ) = DF T r (m + e) = DF T r (m) + DF T r (e) = DF T r (e). Donc pour avoir DF T (e) afin d obtenir e, il suffit de trouver les coefficients suivants de DF T (e). 4

5 Méthode pour obtenir DF T (e) On va définir ce qu est une suite générée linéairement : Définition On dit que la suite (x i ) i 0 est générée linéairement par un polynôme de degré a si il existe un polynôme g(x) = X k a 1 X k 1... a k tel que n k, on ait x n = a 1 x n a k x n k. On appelle alors LF SR Π (E 0...b ) la génération de la suite (E i ) i (b k) linéairement liée par Π et telle que ses premiers éléments soient (E 1,..E b ). On va alors montrer le théorème suivant : Théorème Les coefficients de DF T (e) sont linéairement générés par un polynôme de degré égal au poids de e. Démonstration. On note (E i ) = (e(α 0 ),..., e(α k )...) la suite des coefficients de la transformée de Fourier. Comme α n = 1, alors cette suite est périodique de période n. Donc, la série entière F (X) = i=1 E ix i a bien un sens sur ] 1, 1[. Or on a (car l interversion de l ordre de sommation ne pose pas de problème) : F (x) = i=1 E ix i = i=1 ( n 1 j=0 e jα ij )X i = n 1 j=0 e j( i=1 (αj X) i ) et donc, on a : n 1 1 F (X) = e j 1 α j X = R(X) Π(X) j=0 avec deg(r) < deg(π) et n 1 j=0ete j 0 (1 αj X). Donc Π est de degré égal au poids de e. Et donc, on note Π(X) = X k a 1 X k 1... a k et on a Π(X)F (X) = R(X). Donc, pour n k, le coefficient de X n+k est nul, car deg(r) < deg(π) est la décomposition en série entière est unique. Donc E n a 1 E n 1... a k E n k = 0. Il suffit donc de trouver le polynôme générateur. Algorithme de Berlekamp-Massey Cet algorithme permet de trouver le polynôme qui lie linéairement une suite finie (E 1,..., E r ) donnée en entrée : Algorithme 1 Algorithme de Berlekamp-Massey Entrées : S 1,..., S n : des éléments de F 2 k Sorties : Le polynôme minimal générateur de la suite. b 1 ; e -1 ;L 0 ;Π 1 F 2 k[x] ;ψ 1 F 2 k[x] ; Pour k de 0 à n faire δ S k + L i=1 Π is k i Si (δ > 0) Alors P Π ;Π Π + δ b Xk e ψ ; Fin Si Si (2L k) Alors ψ P ;L (k + 1 L) ;b δ ;e k ; Fin Si Fin Pour Retourner Π L idée de cet algorithme est de prendre successivement les éléments de S k, tout en faisant en sorte qu à la k e itération, le polynôme Π soit bien le polynôme générateur de la suite (S 1,..., S k ). On trouve ainsi le polynôme cherché. Il a un coût en O(r 2 ) car il y a r itérations où l on fait des affectations de polynômes de degré inférieur à r. 5

6 Opérations de décodages On a donc une méthode pour calculer l erreur. On calcule DF T r (m ) = DF T r (e), puis avec l algorithme de Berlekamp-Massey, on obtient le générateur. Il n y a plus qu à générer les autres éléments pour obtenir DF T (e). On applique ensuite DF T 1 : DF T 1 (DF T (e)) = e. On a donc trouvé l erreur introduite d un poids inférieur à r/2. On a donc m = m + e, le mot de code qu il suffit de décoder en divisant par g. Ainsi on a bien décodé le message à condition que l erreur introduite ait un poids inférieur à r/ Remarque sur le coût des algorithmes Les algorithmes présentés ici peuvent être d un coût assez faible. Si l on a un algorithme pour une transformée de Fourier rapide en O(n log(n)), alors le produit de polynômes pour le codage aurait un coût semblable. Le décodage serait en O(n log(n)) car l algorithme de Berlekamp-Massey a un coût en O(r 2 ), mais en général r est petit devant n, et peut être amélioré en terme de coût. Donc, le coût des algorithmes devrait être assez faible. Cependant, la transformée de Fourier rapide se fait habituellement sur des listes d une longueur égale à une puissance de 2. Il faudrait donc avoir une racine d ordre égal à une puissance de 2, ce qui est bien-sûr impossible (car aucune puissance de 2 ne divise 2 k 1) sans extension algébrique dans F 2 k. Ainsi, pour gagner en performance, il faudrait implémenter la transformée de Fourier discrète rapide pour des listes d une longueur autre qu une puissance de 2 (comme [11] en présente une méthode) ou faire une extension algébrique à F 2 k pour avoir une racine primitive de l unité d ordre 2 k et faire des calculs sur des listes de longueur 2 k. Signalons que, dans l article originel de Irving S. Reed et Gustave Solomon [4] la méthode de décodage avait un intérêt purement théorique car il nécessitait l inversion de C k n matrices de taille k k et donc n était pas réalisable en pratique. Mais les méthodes de décodage sont de plus en plus performantes, comme celle présentée ici, et permettent d utiliser réellement ce code. 3 Les codes CIRC Les codes de Reed-Solomon peuvent être utilisés directement ou peuvent être la base de codes entrelacés : les CIRC (Cross-Interleaved Reed Solomon Code). Ces CIRC se trouvent par exemple sur les supports d enregistrements du type CD ou DVD. Nous allons ici, à titre d exemple, présenter les codes proches de ceux trouvés sur les CD audio L entrelacement avec retard L entrelacement consiste à mélanger les blocs, afin qu un bloc soit envoyé de façon diluée. Cette procédure permet en particulier de minimiser l effet d une bouffée d erreurs (due par exemple à une rayure à la surface du CD). Un tableau est appelé entrelaceur : il sert à faire ce travail. Nous allons décrire un entrelacement avec un retard de r sur des blocs de n lettres. On considère alors un tableau de r colonnes et de n lignes. A l initialisation, on considère les r premiers mots (a 1 = (a 1,1,..., a 1,n ),..., a r = (a r,1,..., a r,n )) et on place chaque a k,i dans la (r.i+k) e colonne et dans la i e ligne. Par exemple, l initialisation d un entrelaceur avec un retard de 2 et des mots de taille 4 donnent (on note a 1 = a et a 2 = b) : 3 Ces codes ne sont pas nécessairement exactement les mêmes que ceux des CD audio car ils dépendent du choix de l élément générateur du corps F 256 utilisé ici. Cette information est dans l ouvrage de normalisation, le Red Book, qui n a pas pu être consulté. 6

7 a 1 b 1 a 2 b 2 a 3 b 3 a 4 b 4 Ensuite, les r premières colonnes sont transmises (en les complétant éventuellement). Puis les colonnes sont toutes décalées de r colonnes vers la gauche (celles qui viennent d être envoyées sont écrasées, et à droite r nouvelles colonnes vierges apparaissent. Cela peut être géré par un tableau circulaire grâce à un curseur qui indique la position de la première colonne). On remplit alors la diagonale comme précédemment. Dans le cas du retard 2 avec des mots de longueur 4, après avoir envoyé (a 1, *, *, *), (b 1, *, *, *) et rempli l entrelaceur on a : c 1 d 1 a 2 b 2 c 2 d 2 a 3 b 3 c 3 d 3 a 4 b 4 c 4 d 4 On envoie alors les r premières colonnes et on poursuit le procédé. Ainsi, on peut coder à la volée l information, sans connaître a priori la longueur du message. Le décodage se fait en remplissant l entrelaceur, colonne par colonne, et en reconstituant les mots. 3.2 Le codage CIRC L idée est de coder avec un premier code C 1 puis d entrelacer et enfin de coder à nouveau avec un deuxième code C 2. Nous nous placerons ici dans un cas précis de code, qui est celui utilisé pour les CD audio. On considère le code de Reed-Solomon (255,251,5). Ce code étant linéaire, il peut être représenté par une matrice génératrice C, on considère alors C, une matrice génératrice, telle que les 251 premières colonnes soient indépendantes. Cette matrice est alors équivalente à G tel que tr G = [I 251, R ]. On considère alors R 1 et R 2 respectivement, les matrices formées des 24 et 28 dernières lignes de R On vérifie de plus que 4 lignes quelconques de R 2 (et donc de R 1 ) forment un système libre. On admettra alors que les codes linéaires C 1 et C 2 qui sont définis par les matrices [I 24, R 1 ] et [I 28, R 2 ] sont bien de distance 5. Pour coder le CIRC, on code d abord avec le code C 1 (tel que m tr R 1 m), puis les blocs sont entrelacés avec un retard de 4 octets. Ils sont enfin à nouveau codés avec C 2. Donc, de manière asymptotique, le code transforme un bloc de longueur 24 en un bloc de longueur 32. Son taux d information est donc équivalent à 24/32 = 3/4. m Codage C 1 Entrelacement Codage C 2 m r 3.3 Le décodage Le décodage réside dans le fait que l on peut corriger 2 fois plus d effacement que d erreurs. Ainsi on commence par essayer de décoder le message reçu par le décodeur de C 2. Si le bloc contient moins d une erreur, on la corrige, sinon on considère que le bloc a été entièrement effacé, car C 2 permet de corriger une erreur ou d en détecter 4. Ensuite on désentrelace, on obtient donc des mots de codes C 1, éventuellement, en partie effacés. On peut alors corriger jusque à 4 effacements (car la distance est 5). S il y a plus de 4 effacements dans le bloc, on ne peut pas le compléter. On considère alors la matrice H 2 = [ tr R 2, I 4 ]. Si m est un mode de code de C 2, alors H 2 m = 0. Donc, si m = m + e est le mot reçu, tel que e soit l erreur introduite, alors H 2 m = H 2 e, et donc H 2 m V ect(c i ) (avec C i la i e colonne de H 2 ) si et seulement si e est de poids inférieur ou égal à 1 (on suppose ici que e ait un poids inférieur à 5). On peut ainsi corriger une erreur de poids inférieur à 1 dans le message reçu, sinon, on note le bloc comme étant effacé. 7

8 Ensuite, on désentrelace les blocs. On obtient ainsi des blocs de code C 1 qui contiennent éventuellement des effacements (s il y en a plus que 4, on ne peut pas corriger le mot). Comme précédemment, on définit H 1 = [ tr R 1, I 4 ]. On a donc H 1 m = 0 si m est un mot de code de C 1. Donc, si m contient des effacements aux positions (i 1, i 2, i 3, i 4 ) (quitte à en ajouter), on considère alors m le vecteur égal à m quand le caractère n est pas effacé (c est-à-dire n a pas un indice dans (i 1, i 2, i 3, i 4 )), ou qui est nul quand le caractère de même position dans m est effacé. Donc m i vaut m i ou 0 si m i a été effacés. Donc, si [e i 1, e i2, e i3, e i4 ] sont les coefficients effacé, alors : H 2 m + [C i1, C i2, C i3, C i4 ] tr [e i1, e i2, e i3, e i4 ] = 0, et donc : tr [e i1, e i2, e i3, e i4 ] = [C i1, C i2, C i3, C i4 ] 1 H 2 m. On a donc corrigé jusqu à 4 effacements, mais on ne peut pas en corriger plus. Correction d au plus Correction d au m r + e une erreur de C 1 Désentrelacement plus 4 effacements m et effacement sinon de C Avantages de ces codes L avantage de ces codes est assez clair : en plus de résister aux erreurs ponctuelles grâce à la correction de C 1, ils résistent à une grande série d erreurs : jusqu à 4 fois (car on a un retard de 4) une série de 4 mots de 32 octets, c est-à-dire 512 octets (ce qui correspond à une rayure de plusieurs millimètres sur un CD). Ainsi ce code est bien adapté aux corrections en grand nombre. De plus les opérations de codage et de décodages sont simples à réalisé, et donc peuvent être faites par un système électronique simple. 4 Comparaison des codes 4.1 Présentation des tests effectués Les test sont effectués sur un fichier image de type.ppm (codé en RVB) de 2 Mo. Nous allons essayer de mesurer différents paramètres des codes étudiés sur cet exemple. Notons que les algorithmes pourraient être adaptés à tous types de fichiers. Les tests sont effectués sur un ordinateur équipé d un processeur Intel Pentium M, cadencé à 1,7 Ghz et de 1 Go de mémoire vive, sous une architecture Linux et avec Objective Caml version Les test ont été fait sur un code interprété et non compilé. Afin d illustrer cette partie, nous joignons en annexe des illustrations obtenues lors des essais. Comparaison des vitesses de codage et de décodage Ces codes étant souvent utilisés pour transmettre de l information en temps réel, l argument de vitesse est important. Il est à noter, cependant, que les implémentations pourraient être nettement optimisées, comme nous l avons déjà souligné. De plus nous pourrions compiler le code pour gagner sensiblement en vitesse. Nous donnerons alors les vitesses de codage et de décodage, soit lorsque il n y a pas d erreurs soit lorsque des erreur, sont apparues. Résistance au bruit Nous avons programmé une fonction de bruitage qui prend en entrée un entier p et un fichier. Elle change chaque octet de ce fichier (par un octet tiré au hasard) avec une probabilité de 1/p. Nous donnerons alors une valeur approchée de la valeur limite de p pour laquelle le ficher corrigé ne peut plus être récupéré à l identique. 8

9 Résistance aux bouffées d erreurs Pour ce test, nous simulons une rayure à la surface d un CD : grâce à un outil graphique, on dessine une bande irrégulière sur l image codé. On vérifiera donc si l image est fortement altérée visuellement ou non et nous donnerons une valeur approchée de la largeur maximum de la rayure irrégulière (en pixels) pour que l image soit intacte après décodage. 4.2 Tableaux comparatifs Vitesse Codes Codage Décodage sans Décodage avec erreur erreurs Hamming 80ko/s 3ko/s 1ko/s Reed-Solomon 15ko/s 4,5ko/s de 4,5 à 1 ko/s (255,190,66) CIRC 118ko/s 181ko/s de 180 à 90ko/s Entrelacement 1,3Mo/s 1,3Mo/s 1,3Mo/s Efficacité Codes Résistance Taille de rayure Résistance visuelle au bruit critique aux rayures Reed-Solomon p = 50 5 bonne (255,190,66) CIRC p = très bonne Entrelacement p = 0 assez bonne 4.3 Analyse des tests Nous allons alors commenter les tests. Le code de Hamming Le code de Hamming ne permet pas d éliminer le bruit ou une rayure car il corrige chaque octet indépendamment et les opérations de dégradation de l image (dans le brouillage ou la rayure) modifient totalement l octet. Donc, il ne peut pas être corrigé. Ces tests ne sont donc pas réellement adaptés à ce type d erreurs, et donc au test des codes de Hamming. On remarque aussi que la méthode de décodage par étude exhaustive (ie : recherche systématique dans la boule de rayon d/2) est rapidement impraticable. Il n est donc pas réaliste de vouloir décoder de cette manière pour des codes plus longs. Bien que nos tests soient peu adaptés au code de Hamming, il est relativement mauvais par rapport aux codes qui suivent. Le code de Reed-Solomon Afin de pouvoir comparer ce code avec le CIRC, nous avons choisi un code dont le taux d information est proche du CIRC, on a donc choisi (255,190,66). On remarque que la résistance aux bouffées d erreurs, bien quelle soit meilleure que beaucoup d autres codes, est relativement faible par rapport aux CIRC. Mais la résistance au bruit est très importante, car, par exemple, une mauvaise ligne téléphonique a un taux d erreurs de moins de Donc, ce code est très performant pour résister au bruit, mais il est peu rapide dans notre implémentaion, pour les raisons exposées au 2.4. Cette vitesse pourrait être sensiblement améliorée avec un algorithme plus rapide pour faire la transformée de Fourier. 9

10 Les codes CIRC Ces codes résistent très bien aux bouffées d erreurs. Ils ont une capacité de correction du bruit inférieur au code de Reed-Solomon. De plus, ils sont rapides à coder et à décoder et on comprend bien que leurs mises en œuvre dans une électronique simple est plus facile que celle des algorithmes de Reed-Solomon. Le débit atteint ici, avec une optimisation assez limitée, permet de lire de la musique sur un CD audio en temps réel. Enfin, ces codes nous permettent de savoir que l information a été perdue (alors que les codes de Reed-Solomon changeront l information perdue) et nous permettent d extrapoler l information. 4 Entrelacement et amélioration des codes par un entrelacement Un entrelacement avec retard 4 sur des mots de longueurs 24 nous permet de diluer la perte d information due à une rayure. Ainsi, l image perd en netteté mais l on distingue toujours l ensemble de l image. Ainsi, avec leur grande rapidité, ils peuvent être utiles. On pourrait, par exemple, le jumeler avec un système de sommes de contrôle pour détecter des erreurs et extrapoler l image aux blocs erronés. L entrelacement nous a permis de diluer les effacements dans les CIRC. Nous avons donc essayé d entrelacer une nouvelle fois les CIRC, mais, après expérimentation, nous avons constaté que cet entrelacement dilue la perte d information sur l ensemble du message et donc que ce type de code est relativement peu performant face au bruit, il a plutôt tendance à détruire l image intégralement. On perdrait donc la forte capacité des CIRC à corriger les paquets d erreurs. Nous avons ensuite appliqué un entrelacement aux images codées grâce aux codes de Reed-Solomon. En diluant une rayure, elle est mieux corrigée. La capacité à corriger le bruit reste identique. Ainsi nous avons amélioré les performances des codes de Reed-Solomon pour certaines applications. Il peut ensuite être intéressant de faire varier le retard ou la longueur des blocs d entrelacement. Conclusion Nous avons vu que les codes de Reed-Solomon résistent très bien au bruit et donc peuvent être utilisés pour des sondes spéciales, d exploration lointaine, comme les sondes Voyager par exemple. Ils sont relativement compliqués à décoder, mais les techniques de décodage évoluent. Les CIRC sont eux, moins robustes au bruit, mais supportent nettement mieux les bouffées d erreurs, de plus leur décodage est simple et trouvent donc d autres domaines d application comme dans les supports d enregistrement, par exemple. Enfin, nous avons vu que l entrelacement permet d améliorer certains codes, comme par exemple, les codes de Reed-Solomon qui résistent mieux aux bouffées d erreurs s ils sont entrelacés. La technique de l entrelacement est mis en œuvre de manière très puissante dans les Turbo-Codes qui utilisent des méthodes d entrelacement évoluées pour obtenir des codes très performants. 4 C est ce qui se passe sur les systèmes de lecture de CD audio. 10

11 Références [1] Jean-Guillaume Dumas, Jean-Louis Roch, Eric Tannier et Sébastien Varrette ; Théorie des codes, compression, cryptage, correction, de sciences sup, Dunod, [2] Michel Demazure ; Cours d algèbre. Primalité, divisibilité, codes, de la Nouvelle bibiliotèque mathématique. Cassini, [3] F. J. MacWilliams et N. J. A. Sloane ; The Theory of Error-Correcting Codes, de Mathematical Library, North-Holland, [4] Irving S. Reed et Gustave Solomon, Polynomial Codes Over Certain Finite Fields, dans Society for Industrial and Applied Mathematics, Vol. 8, No. 2, pp (Juin, 1960). [5] Contact avec Claude Berrou, professeur à l ENST Bretagne, co-inventeur des Turbocodes. [6] Contact avec Jean-Guillaume Dumas, maître de conférences à l université Grenoble1. [7] Contact avec Pierre Schramm, étudiant à l École Normale Supérieure de Lyon. [8] Article Red Book (audio CD standard), Wikipedia (en), (version du 18 mai 2007). [9] Article Reed-Solomon error correction, Wikipedia (en), (version du 16 mai 2007). [10] Site internet de l entreprise 4i2i spécialisée dans les codes correcteurs d erreurs (consulté en mai 2007) : [11] Joris van der Hoeven ; Article The truncated Fourier transform and applications (consulté en mai 2007) : [12] Présentation d un projet demandé aux élèves de l école Polytechnique (consulté en mai 2007) : Nicolas.Sendrier/X98/projet/ 11

12 Annexe 1 : construction et implémentation de F 2 k Nous utilisons dans ce travail le corps F 2 8. Nous allons alors expliquer la construction et l implémentation des corps F 2 k pour k N. Cette construction se généralise facilement à F 2 8 pour p premier. Cette présentation est inspirée de [2] et [1]. 4.4 Construction de F 2 k On note F 2 = Z/2Z. On suppose qu il existe un polynôme irréductible de degré k dans F 2 [X]. On donnera une méthode de recherche d un tel polynôme au 4.5. Soit alors P F 2 [X] irréductible de degré r. On a alors : Théorème F 2 [X]/P est un corps pour les opérations + et.. Démonstration. Les opérations + et. reviennent en réalité à faire les opérations + et. sur F 2 [X] puis à passer modulo P. Ainsi, puisque F 2 [X] est un anneau commutatif, alors F 2 [X]/P est un anneau commutatif unitaire. Montrons alors que tous les éléments de F 2 [X]/P sont inversibles. En effet, pour Q non nul de cet ensemble, nécessairement deg(q) deg(p ). Comme P est irréductible et Q 0 mod P, donc P et Q sont premiers entre eux. Il existe donc deux polynômes A et B tels que P.A + B.Q = 1 et donc B.Q = 1 mod P, donc Q est inversible dans F 2 [X]/P. Ainsi, F 2 [X]/P est un corps de cardinal 2 d que l on notera F 2 d. 4.5 Recherche du polynôme irréductible de degré r dans F 2 Nous allons donner une condition pour qu un polynôme soit irréductible. Commençons par une propriété sur les polynômes contenant un carré. On définit la dérivation formelle de manière habituelle. Théorème Soit P un polynôme ; il est sans carré si, et seulement si, P GCD(P, P ) = 1 Démonstration. En effet, si P = g 2 h (avec h et g des polynômes tels que g ne soit pas constant). Alors P = 2g gh+g 2 h = g(2g h+gh ), donc pgcd(p, P ) est un multiple de g. Réciproquement, si g = P GCD(P, P ), un polynôme non constant, on prend alors h, un facteur irréductible de g, et on note alors P = hc et P = hd. Donc, en dérivant P, on obtient P = hd = hc + h c et donc h(d c ) = h c. Or, comme h est irréductible et deg(h ) < deg(h), donc h et h sont premiers entre eux. Donc, avec le théorème de Gauss on a que c est un multiple de h. On note c = he et, enfin, P = hc = h 2 e. Démontrons alors un lemme : Lemme r N divise d N si et seulement si p r 1 divise p d 1. Démonstration. En effet, si d = r.k, alors comme 2 r = 1 mod (2 r 1) Donc 2 d = (2 r ) k = 1 mod 2 r 1. Réciproquement, si 2 d 1 = 0 mod (2 r 1), alors si d = r.k + t est la division euclidienne de d par r, alors 2 d 1 = 2 k.r.2 t 1 = 2 t 1 = 0 mod (2 r 1). Or, comme 0 t < r, alors 2 t 1 = 0 et donc s = 0 et r divise d. On montre alors le théorème qui nous permettra d obtenir un algorithme qui fournit un polynôme irréductible de degré d de F 2 [X] : Théorème Pour d N, alors le polynôme X 2d X est le produit de tous les polynômes irréductibles (unitaires) dont le degré divise d dans F 2 [X]. 12

13 Démonstration. Soit P un polynôme irréductible de degré r divisant d, on a que V = F 2 [X]/P est un corps. Dans ce corps, tout élément a un ordre qui divise le cardinal de l ensemble des éléments inversibles (ie : du groupe (V,.)), d après le théorème de Lagrange, et donc divise 2 r 1. Donc, pour X V, X 2r 1 = 1. Or avec le lemme qui précède on a que 2 r 1 divise 2 d 1. Donc X 2d 1 = 1 mod P donc P divise X 2d 1 1 et donc X 2d X. Réciproquement, si P est un diviseur irréductible de X 2d X de degré r, alors dans V = F 2 [X]/P, on a X 2d X = 0. Mais les éléments Q V tels que Q 2d Q = 0 forment un sous-anneau de V. Or, comme X est dans cet ensemble, il est égal à tout V. Donc, pour tous les éléments Q de V on a, Q 2d 1 = 1. Or on sait que V contient des éléments d ordre 2 r 1, donc 2 r 1 divise 2 d 1 et donc, enfin, r divise d. Montrons alors que X 2d X ne possède pas de facteur multiple. Le polynôme dérivé est : 2 d X 2d 1 1 = 1 dans F 2 [X] et donc X 2d X ne contient pas de carré. Ainsi un polynôme P de degré d est irréductible si, et seulement si, il n a aucun facteur commun avec X 2i X pour 0 i d/2. Ainsi, dans le cadre de ce travail, il a été implémenté l algorithme de Ben-Or qui vérifie si P GCD(P, X 2i X) = 1 pour i qui varie de 1 à d/2, afin de déterminer si un polynôme est irréductible dans F 2. Il a aussi été implémenté un générateur d un polynôme irréductible de degré d qui choisit au hasard un polynôme de degré d et teste si il est irréductible jusqu à en obtenir un irréductible (on montre qu un tel algorithme se termine rapidement, en général). 4.6 Implémentation de F 2 k On va alors expliquer comment sont implémentées les opérations sur le corps F 2 k ainsi construit. On suppose qu avec l algorithme précédent, on ait un polynôme P de degré k irréductible de F 2. X est alors un générateur du corps F 2 [X]/P. On construit donc un tableau T de taille 2 k 1 : T[0..2 k 2], tel que T[k]=X k mod P. On représentera un élément de F 2 k par i quand cet élément du corps est X i mod P, et 0 sera représenté par 1. Grâce à T, on va construire Q[0..2 k 2] tel que Q[k] correspond à i tel que X k + 1 = X i = mod P. Dans la suite, il n est utile que de conserver Q. Ainsi, avec le tableau Q, on peut définir les opérations de multiplication, d inversion et d addition (on remarque que l opération d addition et de soustraction sont identiques ici) : pour la multiplication de i et j (qui représentent respectivement X i mod P et X j mod P ), si i et j sont différents de 1, alors le produit vaut (i + j) mod (2 k 1), car X i X j = g i+j, l inversion de X i, représentée par i diffèrent de 1 est alors simplement i mod (2 k 1), l addition X i +X j = X i (1+X.(j i)) est donc représentée par : (i+q[(i j) mod (2 k 1)]) mod (2 k 1). 13

14 14

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

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

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

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

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

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

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

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

www.h-k.fr/publications/objectif-agregation

www.h-k.fr/publications/objectif-agregation «Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se

Plus en détail

Chapitre 2 : communications numériques.

Chapitre 2 : communications numériques. Chapitre 2 : communications numériques. 1) généralités sur les communications numériques. A) production d'un signal numérique : transformation d'un signal analogique en une suite d'éléments binaires notés

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

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

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

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par

Plus en détail

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions HQ = He 1 He 2 He 3 He 4 HQ e 5 comme anneaux (avec centre Re 1 Re 2 Re 3 Re 4

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

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

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

Formats d images. 1 Introduction

Formats d images. 1 Introduction Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation

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

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

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette Compression et Transmission des Signaux Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette 1 De Shannon à Mac Donalds Mac Donalds 1955 Claude Elwood Shannon 1916 2001 Monsieur X 1951 2 Où

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Chapitre 3. Mesures stationnaires. et théorèmes de convergence Chapitre 3 Mesures stationnaires et théorèmes de convergence Christiane Cocozza-Thivent, Université de Marne-la-Vallée p.1 I. Mesures stationnaires Christiane Cocozza-Thivent, Université de Marne-la-Vallée

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur Codage hiérarchique et multirésolution (JPEG 000) Codage Vidéo Représentation de la couleur Codage canal et codes correcteurs d erreur Format vectoriel (SVG - Scalable Vector Graphics) Organisation de

Plus en détail

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

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

NOTATIONS PRÉLIMINAIRES

NOTATIONS PRÉLIMINAIRES Pour le Jeudi 14 Octobre 2010 NOTATIONS Soit V un espace vectoriel réel ; l'espace vectoriel des endomorphismes de l'espace vectoriel V est désigné par L(V ). Soit f un endomorphisme de l'espace vectoriel

Plus en détail

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

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

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

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Transmission de données. A) Principaux éléments intervenant dans la transmission

Transmission de données. A) Principaux éléments intervenant dans la transmission Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement

Plus en détail

Extrait du poly de Stage de Grésillon 1, août 2010

Extrait du poly de Stage de Grésillon 1, août 2010 MINI-COURS SUR LES POLYNÔMES À UNE VARIABLE Extrait du poly de Stage de Grésillon 1, août 2010 Table des matières I Opérations sur les polynômes 3 II Division euclidienne et racines 5 1 Division euclidienne

Plus en détail

Correction du baccalauréat ES/L Métropole 20 juin 2014

Correction du baccalauréat ES/L Métropole 20 juin 2014 Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)

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

CHAPITRE 5. Stratégies Mixtes

CHAPITRE 5. Stratégies Mixtes CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,

Plus en détail

Chap17 - CORRECTİON DES EXERCİCES

Chap17 - CORRECTİON DES EXERCİCES Chap17 - CORRECTİON DES EXERCİCES n 3 p528 Le signal a est numérique : il n y a que deux valeurs possibles pour la tension. Le signal b n est pas numérique : il y a alternance entre des signaux divers

Plus en détail

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est: Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.

Plus en détail

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

Chapitre 13 Numérisation de l information

Chapitre 13 Numérisation de l information DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................

Plus en détail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

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

Optimisation, traitement d image et éclipse de Soleil

Optimisation, traitement d image et éclipse de Soleil Kléber, PCSI1&3 014-015 I. Introduction 1/8 Optimisation, traitement d image et éclipse de Soleil Partie I Introduction Le 0 mars 015 a eu lieu en France une éclipse partielle de Soleil qu il était particulièrement

Plus en détail

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Algorithmique des Systèmes Répartis Protocoles de Communications

Algorithmique des Systèmes Répartis Protocoles de Communications Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Mathématiques Seconde année Préambule Programme

Plus en détail

Coefficients binomiaux

Coefficients binomiaux Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

LES DECIMALES DE π BERNARD EGGER

LES DECIMALES DE π BERNARD EGGER LES DECIMALES DE π BERNARD EGGER La génération de suites de nombres pseudo aléatoires est un enjeu essentiel pour la simulation. Si comme le dit B Ycard dans le cours écrit pour le logiciel SEL, «Paradoxalement,

Plus en détail

Une introduction aux codes correcteurs quantiques

Une introduction aux codes correcteurs quantiques Une introduction aux codes correcteurs quantiques Jean-Pierre Tillich INRIA Rocquencourt, équipe-projet SECRET 20 mars 2008 1/38 De quoi est-il question ici? Code quantique : il est possible de corriger

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Régression linéaire. Nicolas Turenne INRA nicolas.turenne@jouy.inra.fr

Régression linéaire. Nicolas Turenne INRA nicolas.turenne@jouy.inra.fr Régression linéaire Nicolas Turenne INRA nicolas.turenne@jouy.inra.fr 2005 Plan Régression linéaire simple Régression multiple Compréhension de la sortie de la régression Coefficient de détermination R

Plus en détail

Théorèmes de Point Fixe et Applications 1

Théorèmes de Point Fixe et Applications 1 Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

Signalisation, codage, contrôle d'erreurs

Signalisation, codage, contrôle d'erreurs Signalisation, codage, contrôle d'erreurs Objectifs: Plan Comprendre les mécanismes utilisés pour transmettre des informations sur un support physique Comprendre la nécessité de regrouper les informations

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

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau

Plus en détail

Calcul fonctionnel holomorphe dans les algèbres de Banach

Calcul fonctionnel holomorphe dans les algèbres de Banach Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte

Plus en détail

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels Activité 4 Tour de cartes Détection et correction des erreurs Résumé Lorsque les données sont stockées sur un disque ou transmises d un ordinateur à un autre, nous supposons généralement qu elles n ont

Plus en détail