Share to: share facebook share twitter share wa share telegram print page

Code linéaire

En mathématiques, plus précisément en théorie des codes, un code linéaire est un code correcteur ayant une certaine propriété de linéarité.

Plus précisément, un tel code est structuré comme un sous-espace vectoriel d'un espace vectoriel de dimension finie sur un corps fini. L'espace vectoriel fini utilisé est souvent F2n le terme usuel est alors celui de code linéaire binaire. Il est décrit par trois paramètres [n, k, δ] . n décrit la dimension de l'espace qui le contient. Cette grandeur est appelée longueur du code. k représente la dimension du code, correspondant à la taille des mots une fois décodés et δ décrit la distance minimale, au sens de Hamming entre chaque mot du code.

Les codes linéaires représentent l'essentiel des codes correcteurs utilisés dans l'industrie. Cette approche couvre en particulier les codes proposant une simple détection, une nouvelle émission est alors demandée. D'autres codes permettent une correction des altérations à l'aide d'une gestion fine de la redondance.

Rappel: F2 est l'unique corps à deux éléments et F2n est un espace vectoriel de dimension n. Si le corps de base est Fd, le corps contenant d éléments, le terme consacré est code linéaire de base d. La théorie des corps finis assure que d est une puissance d'un nombre premier et qu'il existe un unique corps possédant ce cardinal.

Approche intuitive

Un code linéaire est un cas particulier de code correcteur. L'objectif est de permettre la correction d'erreurs après la transmission d'un message. Cette correction est permise grâce à l'ajout d'informations redondantes. Le message est plongé dans un ensemble plus grand, la différence de taille contient la redondance. Un exemple simple est celui du code de répétition, le message est, par exemple, envoyé trois fois, le décodage se fait par vote. Ici, l'ensemble plus grand est de dimension triple à celle du message initial.

Rappelons les éléments de base de la formalisation. Il existe un ensemble E constitué de suites de longueur k, c’est-à-dire qu'à partir du rang k, toutes les valeurs de la suite sont nulles, et à valeur dans un alphabet. Ces éléments sont l'espace des messages que l'on souhaite communiquer. Pour munir le message de la redondance souhaitée, il existe une application φ injective de E à valeurs dans F, l'espace des suites de longueur n à valeurs dans un alphabet. La fonction φ est appelée encodage, φ(E) est appelé le code, un élément de φ(E) mot du code, n la longueur du code et k la dimension du code.

Pour permettre d'utiliser la puissance des outils mathématiques, il peut être judicieux d'utiliser des structures algébriques. les alphabets de E et F sont choisis comme un même corps fini. Les éléments de E (resp. F) sont les suites finies de longueur k (resp. n), E et F héritent naturellement d'une structure d'espace vectoriel de dimension finie et d'une base canonique, celle de l'espace des suites finies à valeurs dans un corps. L'application encodage est choisie linéaire.

L'espace F est muni d'une distance appelée distance de Hamming dérivant d'une pseudo-norme[réf. nécessaire], le poids de Hamming. Le poids de Hamming p d'un point de F correspond au nombre de ses coordonnées non nulles. La distance de Hamming entre deux éléments de F est le poids au sens de Hamming de leur différence.

Domaine d'application

Les codes linéaires correspondent à une très large majorité de type de codes correcteurs. Ils sont utilisés pour la détection d'altérations, avec comme méthode de correction associée une demande de retransmission, la technique utilisée la plus usuelle est alors la somme de contrôle. Elles sont utilisés dans une multitude de situations, depuis quelques erreurs isolées à de vastes altérations ou des phénomènes d'effacements.

Si le cadre utilisé est largement employé, il ne répond néanmoins pas à l'intégralité des besoins. On peut citer deux grands sujets, peu traités par la théorie des codes linéaires. Un bon code répond à un critère d'optimalité, il est dit parfait. Le cadre de la théorie des codes linéaires offre des critères pour valider cette optimalité. En revanche, il ne propose pas de méthode pour concevoir ce type de code.

Une méthode générale pour la correction des erreurs est disponible, le décodage par syndrome. Cette méthode consiste à créer une table associant à chaque erreur, sa solution. La table croît exponentiellement avec le nombre de lettres susceptible d'être erronées. Dans le cas d'une large capacité de correction, cette approche n'est plus opérationnelle.

La théorie des codes cycliques, utilisant largement les propriétés des corps finis répond à ces deux besoins. Un code cyclique est un code linéaire possédant une structure algébrique supplémentaire.

Définitions

  • Soit p un nombre premier, d une puissance de p, n un entier strictement positif et k un entier plus petit que n. Un code linéaire C de dimension k et de longueur n est un sous-espace vectoriel de Fdn de dimension k. Si d est égal à deux, le code est dit binaire. Sinon, on parle de code linéaire de base d.

Ici, Fd désigne l'unique corps à d éléments (cf l'article corps fini). On remarque que l'espace vectoriel des suites à valeurs dans Fd est identifié à Fdn. L'espace vectoriel Fdn est muni de la distance de Hamming.

Comme pour les autres codes correcteurs, la notion de paramètres s'applique. Cependant, pour tenir compte de la structure d'espace vectoriel, elle est un peu modifiée:

  • Les paramètres d'un code sont notés [n, k, δ] ou δ désigne la distance minimale entre deux points du code.

La définition de paramètre pour les codes linéaires n'est donc pas compatible avec celle, plus générique utilisées pour les codes correcteurs. Pour cette raison, traditionnellement les paramètres d'un code linéaire sont notés [n, k, δ] et ceux d'un code correcteur général {n, M, δ}.

Comme précédemment, il existe une application d'encodage : φ.

  • L'application d'encodage φ d'un code linéaire est une application linéaire injective de Fdk dans Fdn.

Le contrôle permettant la vérification et les éventuelles corrections est donné par une application linéaire h de Fdn dans Fdn-k ayant pour noyau C. La théorie de l'algèbre linéaire montre qu'une telle application existe, il suffit par exemple de considérer un projecteur sur un sous-espace supplémentaire de C parallèlement à C.

  • La matrice H de h dans les bases canoniques est dite matrice de contrôle du code C. Elle vérifie les propriétés suivantes :

Le terme de matrice de parité est aussi utilisé pour désigner la matrice de contrôle.

Remarque : Ces notations sont utilisées dans le reste de l'article.

Propriétés

Toutes les propriétés de l'algèbre linéaire s'appliquent aux codes linéaires. Le code est ainsi à la fois plus facile à implémenter et à décoder. De plus les outils de génération d'espace vectoriel comme l'espace dual ou le produit tensoriel permettent de concevoir des nouveaux codes, parfois plus adaptés aux contraintes industrielles.

L'application d'encodage est linéaire, elle se représente donc et se calcule grâce à sa matrice génératrice. Un code est entièrement défini par sa matrice génératrice, de dimension k x n. De plus comme les propriétés de son code ne dépendent que de la géométrie φ(E). Si f est un isomorphisme de E, le code défini par l'application φof est le même que celui de φ. Ce qui donne lieu à la définition suivante :

  • Deux codes sur un même alphabet Fd de longueur k définis par deux matrices génératrices G et G' tel qu'il existe une matrice carrée inversible P d'ordre k vérifiant G =G'.P sont dits équivalents.

Il existe une forme particulièrement simple pour la matrice G :

  • Un code linéaire dont la matrice génératrice possède pour k premières lignes une matrice identité d'ordre k est dit code systématique.

L'article associé à ce paragraphe démontre une propriété importante :

  • Tout code linéaire est équivalent à un code systématique.

Cette écriture accélère et simplifie l'encodage et le décodage. La matrice prend alors la forme suivante :

Les coordonnées de la matrice C correspondent à la redondance, leur objectif est la détection et la correction d'erreurs éventuelles:

  • Les n - k dernières coordonnées d'un mot du code systématique sont dites bits de contrôle ou parfois somme de contrôle.

Dans le cas linéaire, le code est un sous-espace vectoriel de dimension k. Il existe alors une application linéaire surjective de F dans un espace de dimension n - k ayant pour noyau exactement le code :

Dans le cas d'un code systématique, l'expression de la matrice génératrice offre immédiatement celle d'une matrice de contrôle.

  • Dans le cas d'un code systématique, si G est l'expression d'une matrice génératrice alors l'expression suivante est celle d'une matrice de contrôle :

Ici, Ik désigne la matrice carrée identité d'ordre k. Cette matrice offre une manière relativement simple de calculer la distance minimale :

  • La distance minimale δ d'un code linéaire est égale à la dimension du plus petit sous-espace vectoriel S de F généré par des éléments de la base canonique et tel que la restriction de la matrice de contrôle à S soit non injective.

Dans le cas d'un code linéaire, la distance de Hamming s'exprime comme une distance issue d'une pseudo-norme. Le poids de Hamming, qui à un code associe le nombre de coordonnées non nulles, joue ici le rôle de pseudo-norme.

  • Si ω désigne le poids de Hamming pour un code linéaire C, alors la distance de Hamming d est définie par la formule suivante:

La linéarité de la structure sous-jacente introduit une propriété directe:

  • La distance minimale δ entre deux points du code est égale au minimum du poids des mots du code non nuls.

Pour s'en convaincre, il suffit de remarquer que si x et y sont deux mots du code, alors leur différence est aussi un mot du code.

Borne de Singleton et code MDS

Le nombre maximum d'erreurs assurément corrigibles t découle directement de la distance minimale δ. En effet, t est le plus grand entier strictement inférieur à δ/2. La situation idéale est celle où les boules fermées de centre les mots du code et de rayon t forment une partition de F. On parle alors de parfait.

  • La majoration suivante est vérifiée pour tous les codes linéaires. Elle se nomme borne de Singleton:

Si la borne de Singleton est atteinte, le code est dit MDS.

Code dual

La structure linéaire du code donne naturellement naissance à la notion de code dual. La forme bilinéaire symétrique canonique permet ainsi de définir le code dual de C.

  • Le code dual d'un code linéaire C de dimension k est le sous-espace orthogonal de C dans l'espace muni de sa forme bilinéaire symétrique canonique. C'est un code de même longueur n et de dimension n - k. Il est souvent noté . Un code est dit autodual s'il est égal à son dual.

Dans le cas d'un code systématique, auquel il est toujours possible de se ramener, la matrice de contrôle de C devient une matrice génératrice de son dual. Il suffit alors de réordonnancer la base pour obtenir un code systématique. De même une matrice génératrice de C est une matrice de contrôle de son dual.

Il est possible de calculer la distance minimale de à partir de , toutefois il n'est pas suffisant de connaitre celle de  : il faut connaitre le polynôme énumérateur des poids de . L'identité de MacWilliams donne alors celui de d'où on extrait simplement la distance minimale de ce dernier.

Code produit

L'algèbre linéaire offre de multiples autres techniques compatibles avec les codes. Le produit tensoriel est un exemple. À deux espaces vectoriels, il en associe un troisième isomorphe aux applications linéaires du premier espace dans le deuxième.

  • Si C0 (resp. C1) est un code linéaire de paramètre [n0, k0, d0] (resp. [n1, k1, δ1]), alors le produit tensoriel des deux codes est un code de paramètre [n0.n1, k0.k1, δ01]. Ce code est appelé code produit de C0 et C1.

Il permet de corriger toute configuration comportant moins de δ01/4 erreurs.

Traitement des erreurs

Détection

La technique la plus simple de traitement des erreurs se limite à une validation. Si le message n'est pas élément du code, alors il est déclaré faux. En général, une nouvelle demande de transmission est la technique de correction.

La méthode la plus fréquemment utilisée consiste à adjoindre au message un ou plusieurs bits de contrôle correspondant à la somme dans le corps fini des coefficients du message. Cette technique est l'analogue de la preuve par neuf.

Quitte à augmenter le nombre de bits de contrôle, cette méthode peut accroitre son niveau de fiabilité. Si la probabilité est suffisamment forte pour supposer qu'une seule erreur est à même de se glisser dans le message, alors un bit de contrôle remplit la condition.

Dans le cas d'un unique bit de contrôle, alors les paramètres du code sont [n, n - 1, 2]. Un tel code ne peut pas procéder à la correction de l'erreur par lui-même. En effet pour chaque erreur, il existe n - 1 points du code qui sont proches. Des informations supplémentaires sont nécessaires pour une auto-correction.

L'implémentation est simple, le calcul de l'image du message par la matrice de contrôle fournit l'information. Si l'image est nulle, alors le message correspond à un code et il est sans erreur. Sinon, une erreur est déclarée.

Correction

La question est ici traitée uniquement dans le cas des codes systématiques. Non seulement c'est la solution considérée par l'industrie, mais de plus, toute autre configuration est équivalente à celle-là.

Dans un premier temps, il est possible de considérer uniquement le problème au vecteur nul. Le message reçu possède donc comme k premières coordonnées 0 et des bits de contrôle c non tous nuls. Cette situation correspond à une erreur, car l'image du vecteur nul par la matrice génératrice donne le vecteur nul et donc les bits de contrôle sont tous nuls pour un code ayant ses k premières coordonnées nulles.

La correction correspond au message m de plus petit poids de Hamming et ayant pour image par la matrice de contrôle -H.c. Si le nombre d'altérations ayant généré le vecteur (0, c) est inférieur à (δ - 1)/2, alors il existe un unique m tel que H.m = -H.c. Ici, H.c désigne par abus le vecteur H.(0,c). Le code associé est m - c et le message initial est m. On vérifie de fait que H.(m - c) = 0 et m - c est un code. Il est alors possible, à chaque valeur de H.c, d'associer une correction m.

  • La valeur H.(0,c) où H est une matrice de contrôle systématique et c un ensemble de bits de contrôle non nuls est appelée un syndrome.

Dans le cas général, si l est un message reçu qui n'est pas élément du code, son image par la matrice de contrôle est une valeur correspondant à un H.c donné. Il apparait que m est la plus petite correction à appliquer à l pour obtenir un code. En effet, H(l + m) est égal à H.c - H.c et la minimalité est une conséquence du paragraphe précédent.

La détermination de la valeur m pour un H.c dépend largement du choix du code. Il correspond au problème classique couvert par l'optimisation linéaire. Dans la pratique, il est rare que de telles méthodes soient employées. Soit les bits de contrôles sont en nombre réduits, et la combinatoire est réduite, soit l'espace est vaste et le code dispose d'autres propriétés souvent polynomiales et décrite dans l'article code cyclique.

L'implémentation, dans la mesure où l'espace des bits de contrôle est réduit est en général réalisée par une table de hachage. Cette table établit une bijection entre chaque syndrome et le message de poids minimal ayant pour image par la matrice de contrôle le syndrome.

  • Une implémentation de la correction à l'aide d'une table de hachage fournissant une bijection entre les syndromes et les messages de poids minimal est appelée un décodage par syndrome.

Voir aussi

Bibliographie

Liens externes

Read other articles:

Diego Reyes Reyes ditampilkan bersama Porto tahun 2013Informasi pribadiNama lengkap Diego Antonio Reyes RosalesTanggal lahir 19 September 1992 (umur 31)Tempat lahir Ciudad de México, MeksikoTinggi 1,93 m (6 ft 4 in)[1]Posisi bermain Bek tengah, gelandang tengahInformasi klubKlub saat ini PortoNomor 13Karier junior2006–2009 AméricaKarier senior*Tahun Tim Tampil (Gol)2010–2013 América 83 (3)2013–kini Porto 3 (0)2013–kini Porto B 18 (3)Tim nasional‡2008�...

 

DOST Advanced Science and Technology InstituteResearch institute overviewFormedJanuary 30, 1987 (1987-01-30)HeadquartersU.P. Technology Park Complex, Quezon City, Metro Manila, Philippines14°38′50″N 121°04′18″E / 14.64718°N 121.07176°E / 14.64718; 121.07176Annual budget₱508.06 million (2021)[1]Research institute executiveDr. Franz Asunta de Leon, DirectorParent departmentDepartment of Science and TechnologyKey documentExecutive Orde...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يناير 2022) هذه مقالة غير مراجعة. ينبغي أن يزال هذا القالب بعد أن يراجعها محرر مغاير للذي أنشأها؛ إذا لزم الأمر فيجب أن...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يناير 2018) Enhanced Messaging Service) EMS) [1] هي حلقة الوصل بين خدمة الرسائل القصيرة SMS وخدمة رسائل الوسائط المتعدده MMS و يعمل على جميع شبكات النظام العالمي للاتصالات المتنقلة (GSM)...

 

Esta página cita fontes, mas que não cobrem todo o conteúdo. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Fevereiro de 2022) Pedra do Ingá Pedra do Ingá Tipo sítio arqueológico, petróglifo Geografia Coordenadas 7° 19' 30.2 S 35° 35' 6.8 O Localização Ingá - Brasil Patrimônio Património Mundial Provisório [edite...

 

Ana Bolena Ana Bolena, segunda esposa do rei inglês Henrique VIII, tem inspirado ou sido mencionada em numerosas obras artísticas e culturais, desde meios de comunicação, obras de arte, recentes representações na cultura popular, cinema e ficção. Biografias Uma opinião comum nos séculos XVIII e XIX foi a imagem de Ana como uma vítima romântica; uma mulher bela e forte que foi destruída pelo marido, que foi apresentado como um tirano brutal pelos mais populares historiadores. Uma ...

  أوردولايز (بالبشكنشية: Urduliz)‏[1]   - بلدية -    أوردولايز أوردولايز  خريطة الموقع تقسيم إداري البلد إسبانيا  [2][3] المقاطعة بيسكاي خصائص جغرافية إحداثيات 43°22′22″N 2°56′57″W / 43.372649°N 2.9492348°W / 43.372649; -2.9492348[4]  [5] المساحة 7.8 كي

 

8th-century Buddhist lama PadmasambhāvaPadmasambhava statue at Ghyoilisang peace park, BoudhanathBornOddiyana[note 1]OccupationVajra masterKnown forCredited with founding the Nyingma school of Tibetan Buddhism Padmasambhāva (Born from a Lotus),[note 2] also known as Guru Rinpoche (Precious Guru) and the Lotus from Oḍḍiyāna, was a tantric Buddhist Vajra master from medieval India who taught Vajrayana in Tibet (circa 8th – 9th centuries).[1][2][...

 

Ada usul agar artikel ini digabungkan dengan Pengasuhan harimau. (Diskusikan) Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Tiger Parenting adalah gabungan dari pola asuh otoriter dan kontrol yang ketat dengan berkesinambungan. Pola Asuh Tiger Parenting menerapkan cara yang ekstrem dan mengontrol...

Acytolepis puspa Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Lepidoptera Famili: Lycaenidae Genus: Acytolepis Spesies: A. puspa Nama binomial Acytolepis puspa(Horsfield, 1828) Sinonim Lycaenopsis puspa Acytolepis puspa[1][2] adalah sebuah jenis kupu-kupu kecil yang ditemukan di Kamboja, India,[3] Myanmar, Thailand, Yunnan, Sri Lanka, Filipina, Kalimantan dan Papua.[4] Spesies tersebut masuk keluarga Lycaenidae. Referensi ya...

 

Artikel ini perlu diterjemahkan ke bahasa Indonesia. Artikel ini ditulis atau diterjemahkan secara buruk dari Wikipedia bahasa selain Indonesia. Jika halaman ini ditujukan untuk komunitas berbahasa tersebut, halaman itu harus dikontribusikan ke Wikipedia bahasa tersebut. Lihat daftar bahasa Wikipedia. Artikel yang tidak diterjemahkan dapat dihapus secara cepat sesuai kriteria A2. Jika Anda ingin memeriksa artikel ini, Anda boleh menggunakan mesin penerjemah. Namun ingat, mohon tidak menyalin ...

 

Ambassade de Russie en Allemagne Russie Allemagne L'ambassade de Russie à Berlin. Lieu 55-65 Unter den Linden Berlin Coordonnées 52° 30′ 58″ nord, 13° 23′ 01″ est Ambassadeur Sergueï Iourievitch Netchaïev Nomination Janvier 2018 Site web http://www.russische-botschaft.de/ Voir aussi : Ambassade d'Allemagne en Russie modifier  L'ambassade de Russie en Allemagne est la représentation diplomatique de la Russie auprès de la République féd�...

2009 studio album by Alison BrownThe Company You KeepStudio album by Alison BrownReleased2009GenreJazzLabelCompassProducerGarry WestAlison Brown chronology Evergreen(2008) The Company You Keep(2009) The Company You Keep is an album by American banjoist Alison Brown, released in 2009. The other members of the Quartet, especially pianist John Burr contribute to Brown's compositions more than on any of her previous albums, where she composed mostly on her own.[1] Reception Profes...

 

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها.   لمعانٍ أخرى، طالع مقاطعة (توضيح). المقاطعة هي إحدى التقسيمات الإدارية في عدد من البلدان.[1][2][3] وجه التسمية كان المال الذي يدفع في كل سنة يسمى مقاطعة ويسمى ال...

 

British politician Adam HollowayMPMember of Parliamentfor GraveshamIncumbentAssumed office 5 May 2005Preceded byChris PondMajority15,581 (32.8%) Personal detailsBorn (1965-07-29) 29 July 1965 (age 58)Faversham, Kent, EnglandPolitical partyConservativeEducationMagdalene College, Cambridge (BA)Imperial College London (MBA)Royal Military Academy SandhurstWebsiteadamholloway.co.ukMilitary serviceAllegiance United KingdomBranch/serviceBritish ArmyYears of service1987–1991RankC...

British Conservative politician and life peer The Right HonourableThe Lord Parkinson of Whitley BayLord Parkinson in 2019Parliamentary Under-Secretary of State for Arts and HeritageIncumbentAssumed office 29 October 2022Prime MinisterRishi SunakPreceded byStuart Andrew (Sport, Arts and Ceremonials)The Lord Kamall (Civil Society, Heritage, Tourism and Growth)Parliamentary Under-Secretary of State for ArtsIn office30 September 2021 – 20 September 2022Prime MinisterBoris JohnsonPr...

 

U.S. investigative journalist Carol Duhurst LeonnigLeonnig at the 2018 Pulitzer PrizesBornCarol Duhurst Leonnigc. 1966Alma materBryn Mawr College[1]OccupationJournalistNotable credit(s)The Washington Post,The Charlotte Observer,The Philadelphia InquirerSpouseJohn Reeder[1]Awards2015, 2018 Pulitzer Prize for National Reporting2014 Pulitzer Prize for Public Service2014 George Polk Award for investigative reporting Carol Duhurst Leonnig is an American investigative journalis...

 

Basketball player selection This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (May 2016) (Learn how and when to remove this template message) 1987 NBA draftGeneral informationSportBasketballDate(s)June 22, 1987LocationFelt Forum (New York City, New York)Network(s)TBS SuperstationOverview161 total selections in 7 roundsLeagueNBAFirst selectionDavid Robinson ...

Tax on animal products Part of a series onTaxation An aspect of fiscal policy Policies Government revenue Property tax equalization Tax revenue Non-tax revenue Tax law Tax bracket Flat tax Tax threshold Exemption Credit Deduction Tax shift Tax cut Tax holiday Tax amnesty Tax advantage Tax incentive Tax reform Tax harmonization Tax competition Tax withholding Double taxation Representation Unions Medical savings account Economics General Theory Price effect Excess burden Tax incidence Laffer c...

 

Overview of the folklore of Albania The symbol of the Sun often combined with the crescent Moon is commonly found in a variety of contexts of Albanian folk art, including traditional tattooing of northern tribes, grave art, jewellery and house carvings.[1] The worship of the Sun and the Moon is the earliest attested cult of the Albanians.[2] Part of a series onAlbanians By country Native Albania Kosovo Croatia Greece Italy Montenegro North Macedonia Serbia Diaspora Australia B...

 
Kembali kehalaman sebelumnya