sur l algorithme de d ecodage en liste de guruswami sudan
play

Sur lalgorithme de d ecodage en liste de Guruswami-Sudan sur les - PowerPoint PPT Presentation

Sur lalgorithme de d ecodage en liste de Guruswami-Sudan sur les anneaux finis. Guillaume Quintin Equipe Grace, INRIA SACLAY Ile-de-France, Laboratoire dinformatique (LIX, UMR 7161), Ecole polytechnique. Soutenance de


  1. Sur l’algorithme de d´ ecodage en liste de Guruswami-Sudan sur les anneaux finis. Guillaume Quintin ´ Equipe Grace, INRIA SACLAY–ˆ Ile-de-France, Laboratoire d’informatique (LIX, UMR 7161), ´ Ecole polytechnique. Soutenance de th` ese, le 22 novembre 2012

  2. Sommaire Ma Th` ese a ´ et´ e dirig´ ee par Daniel Augot et Gr´ egoire Lecerf , cofinanc´ ee par L’institut national de recherche en informatique et automatique (INRIA) et la Direction g´ en´ erale de l’armement (DGA). Plan : 1 Introduction g´ en´ erale. 2 Le d´ ecodage en liste et les codes de Reed-Solomon. 3 Quelques motivations pour travailler sur les anneaux. 4 L’algorithmique pour les codes correcteurs sur les anneaux. 5 Implantation. 2 / 62

  3. Introduction g´ en´ erale.

  4. Contexte : transmission La transmission physique d’information (ondes radios, fibre optique) est souvent accompagn´ ee d’erreurs . Est-il possible de tol´ erer des erreurs ? Oui, dans une certaine limite. Comment faire ? L’´ emetteur du message rajoute de la redondance ` a ce message. = ⇒ L’´ emetteur encode le message. Le r´ ecepteur, si erreurs, peut corriger ces erreurs. = ⇒ Le r´ ecepteur d´ ecode. 4 / 62

  5. Les codes correcteurs d’erreurs La mani` ere d’ajouter de la redondance s’appelle un code correcteur d’erreurs . Il existe plusieurs familles de codes correcteurs d’erreurs. On se concentre ici sur les codes correcteurs alg´ ebriques . Parmi les codes lin´ eaires, ma th` ese a port´ e sur l’´ etude des codes dits de Reed-Solomon. 5 / 62

  6. En pratique, sur terre On retrouve des codes de Reed-Solomon dans les boˆ ıtiers ADSL pour se connecter ` a Internet . 6 / 62

  7. En pratique, dans l’espace Les sondes Voyager de la NASA utilisaient un code correcteur de Reed-Solomon pour communiquer avec la terre. On retrouve aussi des codes de Reed-Solomon pour les missions Mars Pathfinder , Galileo , Mars Exploration Rover et Cassini . 7 / 62

  8. Pour stocker des donn´ ees, des films, des jeux vid´ eos Sur les CDs , DVDs et Blu-ray , l’information est stock´ ee en utilisant, entre autre, un encodage de Reed-Solomon . 8 / 62

  9. Dans la vie de tous les jours Les codes QR sont des code-barres ` a deux dimensions et utilisent un code de Reed-Solomon . Ils sont utilis´ es dans les mus´ ees pour obtenir des informations compl´ ementaires, par la SNCF pour ses billets, et dans beaucoup d’autres endroits. 9 / 62

  10. Un exemple simple : le code ` a r´ ep´ etition On veut transmettre de l’information compos´ ee de 0 et de 1 . Une erreur est donc : Un 0 qui se transforme en 1 . Un 1 qui se transforme en 0 . L’encodage : � 0 − → 000 Chaque symbole est r´ ep´ et´ e trois fois 1 − → 111 et 000 ou 111 est transmis. Le d´ ecodage : On re¸ coit un groupe de 3 symboles . On consid` ere que le symbole original est celui qui apparaˆ ıt le plus souvent dans le groupe. Exemple : 110 → 1 et 010 → 0 . 10 / 62

  11. Entrelacer pour corriger des erreurs en rafale L’´ emetteur veut transmettre 010. Il encode 010 en 000111000. Mais si une erreur en rafale arrive, par exemple 000 000 000, impossible de retrouver le message original. On entrelace les symboles :     0 0 0 000   �→   �→ 010 010 010 000111000 �→ 111 1 1 1 000 0 0 0 Ainsi si une erreur en rafale se produit :   0 1 0  �→ 0 1 01 0 10 1 0  010 101 010 �→ 1 0 1 0 1 0 11 / 62

  12. Le poids et la distance de Hamming On fixe un anneau fini A et n > 0. Soit x = ( x 1 , . . . , x n ) ∈ A n . x est appel´ e un mot . Le poids de Hamming de x , w ( x ), est le nombre de coordonn´ ees non nulles de x . w (0 , 0 , 1 , 0 , 1 , 1 , 0 , 1) = 4 . La distance de Hamming entre x et y ∈ A n , d ( x , y ), est d´ efinie comme w ( x − y ). d ((0 , 0 , 1 , 0 , 1 , 1 , 0 , 1) , (0 , 0 , 0 , 1 , 1 , 1 , 1 , 0)) = 4 . 12 / 62

  13. Les codes correcteurs lin´ eaires a gauche de A n de rang k . Soit C un sous-module libre ` C est appel´ e un code lin´ eaire et ses ´ el´ ements des mots de code . La distance minimale de C est d := min { d ( x , y ) : x , y ∈ C et x � = y } . Borne de Singleton : d ≤ n − k + 1. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • mot (de A n ) • • • • • • • • • • • • • • • • • • • • ≥ d • • • • mot de code (de C ) ≥ d • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 13 / 62

  14. L’encodage Soit m ∈ A k , un message . On a une injection ϕ : A k → A n telle que ϕ ( A k ) = C . ϕ est une fonction d’encodage . ϕ ( m ) = c ∈ C . La transpos´ ee G d’une matrice de ϕ est appel´ ee matrice g´ en´ eratrice de C et permet d’encoder les messages par mG = c . 14 / 62

  15. Le d´ ecodage unique � d − 1 � Les boules de rayon t = centr´ ees en les mots de codes 2 sont disjointes . Si le mot re¸ cu y est ` a distance au plus t d’un mot de code c alors on retourne c . • • • • • • • • • • • • • • • • • • • • • • t • • • • • • • • • • • • • mot (de A n ) • • • • • • • • • • • t • • • • • • • • • • • • • mot de code (de C ) y • • • • • • • • • • • • t • • • • • • c • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 15 / 62

  16. Les codes de Reed-Solomon sur les corps finis Consid´ erons A = F q et deux entiers 0 < k < n . Choisissons un support ( x 1 , . . . , x n ) ∈ F n q tel que ∀ i � = j x i � = x j . Notons F q [ X ] < k les polynˆ omes de degr´ e au plus k − 1. Le sous-espace vectoriel de F n q engendr´ e par les vecteurs ( f ( x 1 ) , . . . , f ( x n )) avec f ∈ F q [ X ] < k est appel´ e le code de Reed-Solomon de param` etres ( x 1 , . . . , x n ) et k . Sa distance minimale est d = n − k + 1. C’est un code ` a distance s´ eparable maximale (MDS) . 16 / 62

  17. D´ ecodage unique pour les code de Reed-Solomon Le d´ ecodage unique des codes de Reed-Solomon a ´ et´ e ´ etudi´ e et des algorithmes efficaces ont ´ et´ e donn´ es. Peterson [Pet60]. Berlekamp [Ber68]. Massey [Mas69]. Sugiyama, Kasahara, Hirasawa et Namekawa [SKHN75]. Berlekamp, Welch [BW86]. . . . 17 / 62

  18. Complexit´ e Pour fixer les id´ ees. Les complexit´ es ´ enonc´ ees comptent le nombres d’op´ erations dans A sauf mention expresse du contraire. La notation “soft-Oh” f ( n ) ∈ � O ( g ( n )) signifie f ( n ) ∈ g ( n ) log O (1) (3 + g ( n )) . On note ω un r´ eel positif tel que le nombre d’op´ erations dans ecessaire pour multiplier deux matrices de taille O ( n 2 ) est A n´ O ( n ω ). On peut prendre ω = 3 (algorithme na¨ ıf), ω = 2 , 808 (Strassen, 1969), ω = 2 , 376 (Coppersmith et Winograd, 1990) ou ω = 2 , 3727 (Williams, 2011). 18 / 62

  19. Le d´ ecodage en liste et les codes de Reed-Solomon.

  20. Le d´ ecodage en liste (1) On change de strat´ egie : on cherche si il y a des mots de code ` a distance au plus τ du mot re¸ cu y . • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • mot (de A n ) • • • • • • • • • • • y • • • • • • • • • • • • • • mot de code (de C ) τ • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Il est possible que plusieurs mots de code se retrouvent dans la boule. 20 / 62

  21. Le d´ ecodage en liste (2) Deux questions naturelles se posent alors pour un code de param` etres [ n , k , d ] A . 1 Quelle doit ˆ etre la valeur de τ ? � Si τ < n − n ( n − d ), alors il ne peut y avoir qu’un nombre polynomial en n de mots de code dans la boule [Gur04]. � La borne n − n ( n − d ) est appel´ ee borne de Johnson . 2 Si on trouve plusieurs mots de code, lequel choisir ? Pour les codes de Reed-Solomon, la probabilit´ e de trouver plusieurs mots de code dans la boule est tr` es petite [NH00]. [8 , 4 , 5] 9 : 1 , 386 × 10 − 6 . [8 , 4 , 5] 729 : 4 , 759 × 10 − 18 . 21 / 62

  22. Les algorithmes de d´ ecodages Soit un code de param` etres [ n , k , d ] F q . On ne connait pas d’algorithme polynomial en n , k , d et log q pour le d´ ecodage unique . En fait, on ne sait pas calculer la distance minimale d (codes BCH). On ne connait pas d’algorithme de d´ ecodage en liste en temps polynomial en n , k , d et log q . Une exception notable sont les codes de Reed-Solomon pour lesquels il existe un algorithme de d´ ecodage en liste en temps polynomial en moyenne en n , k , d et log q . 22 / 62

Recommend


More recommend