• Aucun résultat trouvé

Apr`es la longueur, la dimension et la distance minimale, la propri´et´e la plus importante d’un code est peut ˆetre sa distribution de poids, c’est-`a-dire le nombre de mot de codes pour tous les poids de Hamming possibles. Mal- heureusement, pour les codes de Reed-Muller cette distribution est inconnue dans le cas g´en´eral et n’est en fait connue que pour tr`es peu de param`etre.

On la connaˆıt pour les codes d’ordre 0, 1, 2, leur codes duaux (voir la d´efinition plus loin) obtenus pour r = m − 1, r = m − 2, r = m − 3, pour le code RM(m, m), pour les petits codes avec m inf´erieur ou ´egal `a 8, pour le code RM(3, 9), le code RM(3, 10) et les codes duaux de ces deux derniers. On connaˆıt ´egalement la distribution de poids exacte jusqu’`a 2.5 fois la distance minimale depuis les travaux de Kazumi, Tokura et Asumi [KT70] et [KTA74].

Au chapitre 11 on verra que l’on aurait bien aim´e connaˆıtre cette dis- tribution pour analyser le comportement de RM(r, m) sur le canal `a effa- cements. Nous avons quand mˆeme pu trouver une solution en utilisant les distances g´en´eralis´ees d’un code lin´eaire qui sont connues pour les codes de Reed-Muller.

D´efinition 9.7 (Distances g´en´eralis´ees). Les distances de Hamming g´en´eralis´ees d’un code lin´eaire C de dimension k sont d´efinies pour i ∈ [1, k] par

di def= min

v∈Vi(|supp(v)|)

o`u Vi est l’ensemble de tous les sous-codes de dimension i de C. On peut

montrer que les distances g´en´eralis´ees sont strictement croissantes.

Proposition 9.8 (Distances g´en´eralis´ees des Reed-Muller). Consid´erons le code RM(r, m) de dimension k et l’ordre usuel sur l’ensemble {x ∈ Fm2 , |x| ≤

r}, on num´erote ainsi les ´el´ements de cet ensemble de x1 `a xk. `A un xi on

au d´ebut du chapitre 3. Les distances de Hamming g´en´eralis´ees de RM(r, m) s’expriment alors par :

di= n − nk−i .

D´emonstration. Voir l’article de Wei [Wei91].

Pour construire des fonctions bool´eennes d’immunit´e alg´ebrique maxi- male, nous aurons ´egalement besoin de la notion de code dual.

efinition 9.9 (Code dual). On appelle code dual d’un code C de longueur n l’espace lin´eaire des mots de longueur n dont le produit scalaire avec tous les mots de C est nul. Il s’agit donc de la d´efinition classique du dual d’un espace vectoriel.

Proposition 9.10 (Dual des Reed-Muller). Le code dual de RM(r, m) est le code RM(m − r − 1, m). En particulier, les codes RM(r, 2r + 1) sont des codes auto-duaux.

D´emonstration. Le produit scalaire de deux mots de codes de Reed-Muller n’est rien d’autre que la parit´e du produit des deux fonctions bool´eennes associ´ees. Ici, le produit d’un mot de RM(r, m) avec un de RM(m −r −1, m) est de degr´e au plus m − 1, il est donc de parit´e nulle avec le r´esultat 9.5. Le code RM(m − r − 1, m) est donc inclut dans le dual de RM(r, m). Pour l’´egalit´e, il suffit de regarder les dimensions, on a pour la dimension du second code m−r−1X i=0  m i  = r+1 X i=m  m i  = 2m− k (9.1) d’o`u le r´esultat.

Les codes de Reed-Muller v´erifient de nombreuses autres propri´et´es dont on ne se servira pas ici. Nous mentionnons quand mˆeme deux d’entre elles pour montrer l’´etendue et la complexit´e de la structure de ces codes. La premi`ere est particuli`erement int´eressante car elle fait ressortir certains liens avec les LFSR :

Proposition 9.11 (Sous-code cyclique). Si on enl`eve le bit qui correspond `

a l’image de 0 alors les codes de Reed-Muller RM(r, m) sont ´equivalents `a des codes cycliques.

D´emonstration. Il existe plusieurs explications de ce r´esultat, mais pour nous, le moyen le plus naturel de le voir est de consid´erer la liste des images d’une fonction bool´eenne avec l’ordre donn´e par un LFSR primitif ! En effet en consid´erant un LFSR primitif de longueur m, celui-ci d´ecrit de mani`ere cyclique tous les ´el´ements non nuls de Fm

2 . Si l’on regarde le d´ecal´e d’un mot

de code associ´e `a une fonction bool´eenne f , on peut voir que c’est aussi un mot de code donn´e par la fonction d’ANF F (S1, . . . , Sm) qui est de mˆeme

Cette vision des choses est tr`es int´eressante, par exemple l’´equation de parit´e minimale n’est rien d’autre que le polynˆome pr(X) qui engendre

lin´eairement la suite produite par le LFSR filtr´e par n’importe quelle fonc- tion de degr´e r. C’est d’ailleurs un autre moyen de montrer que la complexit´e lin´eaire du registre de longueur m filtr´e par une fonction de degr´e r est k.

La deuxi`eme propri´et´e que nous voulons mentionner est le fait que les codes de Reed-Muller sont ´egalement des codes g´eom´etriques [MS77, Ass92]. Cette repr´esentation permet de formuler certaines propri´et´es de mani`ere particuli`erement ´el´egante. La g´eom´etrie euclidienne de dimension m sur F2

contient 2m points dont les coordonn´ees correspondent aux vecteurs de m bits. Si on enl`eve le point tout `a 0, on parle alors de g´eom´etrie projective.

Tout sous-ensemble S peut ˆetre associ´e `a un vecteur d’incidence de lon- gueur 2m qui contient des 1 sur les points de S et des 0 ailleurs. Les codes

de Reed-Muller peuvent ˆetre alors vus comme les vecteurs d’incidence de sous-ensembles de ces g´eom´etries.

Un des r´esultats les plus int´eressants avec cette vision des choses est la caract´erisation des mots de poids minimum de RM(r, m) :

Proposition 9.12 (Mots de poids minimum). Les mots de poids minimum dans RM(r, m) sont exactement les vecteurs d’incidence des sous-espaces affine de dimension m − r de la g´eom´etrie euclidienne de dimension m sur F2. On peut ´egalement montrer que ces mots engendrent lin´eairement tout

le code.

D´emonstration. Voir le MacWilliams Sloane [MS77] chapitre 13, paragraphe 4, page 379.