ACCQ204 4 Jan. 2016. Cours 3. Définition 1 Pour tout entier r 2 un code de Hamming (binaire) a pour matrice de parité H r telle que : 1 0 1 0 1.



Documents pareils
Programmation linéaire

Polynômes à plusieurs variables. Résultant

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

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

Une forme générale de la conjecture abc

DOCM Solutions officielles = n 2 10.

Introduction à l étude des Corps Finis

Fonctions de plusieurs variables

Théorie et codage de l information

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

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

Représentation des Nombres

Exercices Corrigés Premières notions sur les espaces vectoriels

Objets Combinatoires élementaires

Programmation linéaire

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

Image d un intervalle par une fonction continue

Optimisation Discrète

I. Polynômes de Tchebychev

Chapitre VI - Méthodes de factorisation

LES TYPES DE DONNÉES DU LANGAGE PASCAL

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Cours de Probabilités et de Statistique

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

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Exercice : la frontière des portefeuilles optimaux sans actif certain

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

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

ÉPREUVE COMMUNE DE TIPE Partie D

Licence Sciences et Technologies Examen janvier 2010

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

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

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

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

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

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

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

Problèmes de Mathématiques Filtres et ultrafiltres

Taux d évolution moyen.

Programmation linéaire et Optimisation. Didier Smets

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.

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

Communications numériques

Statistiques Descriptives à une dimension

La fonction exponentielle

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Université Montpellier II Sciences et Techniques du Languedoc MÉMOIRE DE STAGE DE MASTER M2

Correction du Baccalauréat S Amérique du Nord mai 2007

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Nombre dérivé et tangente

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

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

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

Chp. 4. Minimisation d une fonction d une variable

Cours de mathématiques

Structures algébriques

Une introduction aux codes correcteurs quantiques

NOTATIONS PRÉLIMINAIRES

Simulation de variables aléatoires

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

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

Plan du cours Cours théoriques. 29 septembre 2014

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

CCP PSI Mathématiques 1 : un corrigé


Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Théorèmes de Point Fixe et Applications 1

Chapitre 7. Récurrences

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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

chapitre 4 Nombres de Catalan

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Représentation d un entier en base b

I. Ensemble de définition d'une fonction

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

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

Limites finies en un point

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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

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

Pour l épreuve d algèbre, les calculatrices sont interdites.

TD : Codage des images

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

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

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

Annexe 6. Notions d ordonnancement.

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Développements limités. Notion de développement limité

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Physique quantique et physique statistique

Exercices sur les interfaces

BACCALAUREAT GENERAL MATHÉMATIQUES

Plus courts chemins, programmation dynamique

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Chapitre 5 : Flot maximal dans un graphe

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

CHAPITRE 5. Stratégies Mixtes

Transcription:

ACCQ4 4 Jan 6 Cours 3 Enseignant: Aslan Tchamkerten Crédit: Pierre de Sainte Agathe Code de Hamming Définition Pour tout entier r un code de Hamming (binaire) a pour matrice de parité H r telle que : H r = où la i eme colonne est la représentation de i en binaire ( i r ) sur r bits Proposition Pour tout r le code de Hamming a distance minimale égale à 3 Preuve Les colonnes de la matrice sont deux à deux indépendantes, donc d > De plus la somme des trois premières colonnes satisfait Hr +Hr +Hr 3 =, elles sont donc dépendantes et donc d = 3 Observation Par la borne de Hamming Pour d = 3 on a car Vol(n, ) = n + Il suit que C Vol(n, d ) n C n n + log ( C ) n log (n + ) Pour le code de Hamming, n = r r = log (n + ) log C = r r = n log (n + ) Tout code de Hamming atteint la borne de Hamming et est donc parfait 3-

Observation Il existe d autres codes parfait, par exemple, le code [n,, n], ainsi que d autres codes du a Golay Décodage code de Hamming Algo : MAP la complexité est en O(n)! (besoin de lister tous les mots codes Algo : Si le mot y reçu vérifie Hy = alors c est un mot code FIN Sinon, on flip successivement chaque bit de y et on vérifie si le mot obtenu appartient à C La complexité est alors en O(n T (n)) où T (n) = O(n log (n)) est la complexité du test de vérification d appartenance (multiplication d un vecteur par une matrice) pour une position flipée D ou une complexité totale en O(n log (n)) 3 Algo 3 : Dans le cas où une erreur se produit au maximum par mot code envoyé on a y = C + e avec e = Alors Hy = Hc + He = He ce qui correspond à la i eme colonne de H (i étant la position du dans e et donc de l erreur dans y) La complexité est ici en O(n log (n)) (un seul calcul matriciel à faire) Codes MDS : maximum distance separable Rappel : la borne du singleton nous dit que pour tout code d n k + r + δ r δ 3-

Soit q k mots codes formant un code de distance minimale d En retirant d symboles dans chaque mot code (à la même position pour tous les mots codes), on obtient q k mots codes tous différents car ils forment un code de distance minimale L unicité des q k mots codes du code ponctué donne q k q n d+ d n k + Corollaire Un code satisfait d = n k + Pour tout ensemble de k coordonnées les mots codes sont distincts (ie les k composantes de tout mot code définissent le mot code) Définition Un code est dit MDS (maximum distance separable) si d = n k + Définition 3 Soit C un code avec q k mots codes sur F q et de longueur n Soit J un sous-ensemble de {,,, n} de coordonnées J est un ensemble d information si pour tout mot code, les composantes de J le détermine entièrement Corollaire Pour un code MDS, tout J avec J = k est un ensemble d information Conjecture Tout code linéaire [n, k] q MDS satisfait n q+ si < k < q sauf si q est pair et k = 3 ou k = q auquel cas on a n q + 3 Codes de Reed-Solomon (vers 95) Soit k [, n], F q tel que n q et α, α,, α n des points d évaluation distincts de F q Soit le code C = {(f(α ), f(α ),, f(α n )) : f F q, deg(f) < k} Ce code, appelé code de Reed-Solomon, est un code linéaire car pour tout message m et m f m (X) + f m (X) = f m+m (X) et a f m (X) = f a m (X) Ce code a pour paramètres: 3-3

longueur n dimension q k En effet, si il existait f f telles que f(α i ) = f (α i ) i et telles que deg(f) < k et deg(f ) < k, alors en posant g = f f on aurait que le nombres de racine de g est n k alors que deg(g) < k ce qui impossible On déduit dont que tout polynôme donne un mot code différent une distance minimale d = n k + En effet par un raisonnement analogue on a d = min wt(c) c C,c et comme le nombre de racines est au plus k, on a que d n (k ) Il suit que d = n k + par la borne supérieure de Singleton Observation 3 Les codes de Reed-Solomon sont donc des codes MDS A noter que la borne de Singleton implique la borne asymptotique R δ Or nous savons que la borne de Plotkin R θ avec θ = est strictement q meilleure et donc R = δ ne peut être atteint Plus précisément, étant donné un alphabet [q] on ne peut pas construire une suite de code de telle façon à obtenir R = δ Si l on permet d augmenter la taille de l alphabet avec n, comme pour les codes RS, on peut atteindre R = δ asymptotiquement Observation 4 RS(n, k ) RS(n, k) car les polynôme de degré k sont aussi de degré k Observation 5 Eliminer (ponctuer) une même coordonnée à tous les mots codes d un code de RS(n,k) donne un code de Reed Salomon (on fait une évaluation en moins) pour autant que n k 3 Décodage Soit C un code RS, (α, α,, α n ) F n q, et c C tel que c i = f(α i ) On observe y = c + e et l on veut retrouver y CAS : Pas d erreur y i = f(α i ) i 3-4

Alors y y n = α α α k α α α k α k n m m k La matrice des alphas étant de rang plein (matrice de vandermonde) on peut retrouver le message m CAS : erreurs On définit Λ(X) = j:e j (X α j ) comme étant le polynôme localisateur d erreur On remarque que les racines de Λ donnent les localisations des erreurs Si l on parvient à connaître Λ, on peut retrouver et éliminer les erreurs pour autant que leur nombre est d (propriété MDS) Observation 6 Le polynôme Λ satisfait ou encore Λ(α i ) y i = Λ(α i ) f(α i ) Λ(α i ) c i = Λ(α i ) f(α i ) car si il y a erreur en i, Λ(α i ) =, et sinon, y i = f(α i ) = c i la ième coordonnée du vecteur envoyé Le problème de décodage est donc Problème Trouver Λ(X) et f(x) tels que avec deg(f) k et deg(λ) minimal Λ(α i ) (y i f(α i )) = i () Le difficulté est que () est une équation avec des termes multivariés (produits de coefficients de Λ et f) ce qui rend la solution possible mais complexe à trouver 3-5

3 Relaxation du problème Problème Trouver Λ(X) et f(x) tels que Λ(α i ) y i h(α i ) = i avec deg(h) < k + deg(λ) et deg(λ) minimal (on a juste remplacé le terme non linéaire Λ f dans () par un terme linéaire h) Le problème s écrit alors : y y y n α α α t α α α t αn t Λ Λ t = α α α k+t α α α k+t α k+t n où t est le degré de Λ On essaie de résoudre pour t =, t =, jusqu au moment où on trouve une solution pour Λ(X) et h(x) Si cette solution est telle que h(x) = Λ(X)f(X), ie, si Λ divise h (ce qui est simple à vérifier) alors le problème () est résolu, ie, la solution du problème relaxé est la même que celle du problème original h h k+t Comment garantir qu une solution existe? Il suffit pour cela d avoir au moins n degrés de liberté Donc il suffit que t + + k + t n ce qui est impliqué par la condition t d puisque d = n k + Autrement dit, des que t d (la motié de la distance minimale) on a la guarantie d avoir une solution au problème Cette solution est-elle valide, ie, h = Λ f? La solution au problème nous dit que Λ et f satisfont Λ(α i ) y i h(α i ) = Λ(α i ) (c i + e i ) h(α i ) = () 3-6

où e représente le vecteur d erreur L observation 6 nous dit qu on a En soustrayant (3) de (): Λ(α i ) c i f(α i )Λ(α i ) = (3) Λ(α i )e i [h(α i ) f(α i )Λ(α i )] = Définissons le vecteur S( ) = h( ) f( )Λ( ) L équation devient ce qui demande en particulier que Or Λ(α i ) e i = S(α i ) wt([ Λ(α i ) e i ]) = wt([ S(α i ) ]) wt(λ(α i )e i ) t et, par le théorème fondamental de l algèbre on a que wt([ S(α i ) ]) n (k ) t = d t si S est non nul, puisque deg(s) k Ces deux bornes nous donnent que si d t > t, ie, d > t, les poids des vecteurs ne peuvent être les mêmes ce qui est impossible, à moins que S soit le vecteur identiquement nul, ie, h(α i ) = f(α i ) h(α i ) pour tout i En combinant et il suit que la procédure de décodage s arrête pour un d t Si en plus t < d, la solution trouvée est juste Donc les codes de RS permettent de décoder correctement jusqu a d/ erreurs, c est qui est optimal De plus le décodage est de faible complexité; la résolution du système linéaire déquation plus haut peut se faire avec complexité O(n 3 ) 3-7