HAL Id: pastel-00002412
https://pastel.archives-ouvertes.fr/pastel-00002412
Submitted on 28 Jul 2010
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
application à la cryptographie.
Bassem Sakkour
To cite this version:
Bassem Sakkour. Etude du décodage des codes de Reed-Muller et application à la cryptographie..
Informatique [cs]. Ecole Polytechnique X, 2007. Français. �pastel-00002412�
présentée à
L'ECOLE POLYTECHNIQUE
pour obtenir letitre de
DOCTEUR EN SCIENCES Spécialité : Mathématiques et Informatique par Bassem Sakkour Sujet de lathèse :
Étude et amélioration du décodage des codes de Reed-Muller d'ordre deux.
Thèse Soutenue le06 Avril 2007 devant le jury composé de :
Président : François Morain Responsable : Pascale Charpin Directeur : Pierre Loidreau Rapporteurs : Sami Harari
Grigory Kabatianskiy Examinateurs : Thierry Berger
Nicolas Sendrier
ÉcoleDoctorale del'ÉcolePolytechnique 91128Palaiseau
ÉcoleNationaleSupérieure deTechniquesAvancées 32BdVictor,75015Paris
Remerciements
Maplus grandereconnaissance revientàl'équipede recherche du laboratoireUMA de l'ENSTA ausein duquel je me suis initié à larecherche.
JetiensàremerciermondirecteurdethèsePierreLoidreau,toutd'abordpourm'avoir proposé le stage initialde DEA qui m'a permis d'eectuer cette thèse, ensuite, pour ses remarques constructives, ses conseils qui m'ont aidé depuis mes premiers pas dans la recherche, ettoutes les discussions que nous avons eues tout au long de cette recherche. Je remercie Pascale Charpin d'avoir accepté d'être ma responsable de thèse et de son soutien.
Je remercie mes rapporteurs Grigory Kabatyanskiy pour toutes les discussions enrichissantes que j'ai eu le plaisir d'avoir avec lui, et Sami Harari pour ses conseils et son accueil à Toulon. Je remercie vivement Nicolas Sendrier, Thierry Berger et François Morain, mon professeur de DEA, d'être lesexaminateurs de ma thèse.
Les discussionsenrichissantes quej'aieu le plaisird'avoir avec Jean-Pierre Tillichont été déterminantes dans maformation, je luien suis très reconnaissant.
C'est avec joie queje vous exprime mareconnaissance àtous lesthésards etmembres duLaboratoireUMA-ENSTA.Fabrice,Françoisvousétiezdemerveilleuxamisetcollègues de bureau. Guillaume et Colin d'excellent amis. Je remercie aussi tous les membres du Laboratoirequejen'aipas nomméexplicitement.Jeremercie touslesmembresdu projet CODES de l'INRIA,permanents etthésards quej'ai côtoyé pendant ces trois ans.
Mes remerciements vont particulièrement à Manal, qui a quitté son travail pour me suivre ici en France, sans son soutien je n'aurais pas osé prendre ce chemin. Un grand merci àma familleaugrand completet plus particulièrementà mon grandfrère Nassar. Enn, j'ai une pensée émue pour mon père quiaurait souhaité voir ce moment, je lui dédie du fond du coeur ce mémoire.
Table des matières
Introduction 9
1 Introduction à la théorie algébrique des codes 11
1.1 Introduction etDénitions . . . 12
1.2 Lecanal de transmission . . . 13
1.2.1 Lecanal binaire symétrique . . . 13
1.2.2 Lecanal additifgaussien blanc
AW GN
. . . 141.2.2.1 Lien entre
BSC
etAW GN
. . . 151.3 lescodes linéaires . . . 17
1.3.1 Code dual . . . 19
1.4 Groupe d'automorphismes . . . 20
1.5 Ledécodage . . . 23
1.6 Performances d'un algorithme de décodage . . . 24
2 Codes de Reed-Muller 27 2.1 Introduction . . . 28
2.2 Fonctionsbooléennes
F
m
. . . 282.2.1 Fonctionsbooléennes
F
m
etespace vectorielF
2
m
2
. . . 292.2.2 Base de l'espace des fonctions
F
m
. . . 312.2.3 Base de l'espace vectoriel
F
2
m
2
. . . 322.2.3.1 Ordre lexicographique . . . 33
2.3 LesCodes de Reed-Muller . . . 34
2.3.1 Lecode de Reed-Muller d'ordre1 . . . 37
2.3.2 Codes de Reed-Muller d'ordre
r
. . . 393 Décodage des Codes de Reed-Muller 45
3.1 Ladérivée discrète . . . 46
3.2 Décodage à maximum de vraisemblance. . . 47
3.2.1 Bornede décodage théorique àmaximum de vraisemblance . . . 49
3.2.2 AlgorithmededécodageàmaximumdevraisemblancePour
RM(1, m)
54 3.2.2.1 Algorithmed'encodage deRM(1, m)
. . . 543.2.2.2 Algorithmede décodage de
RM(1, m)
. . . 563.2.2.3 Lamatrice de transformée d'Hadamard . . . 58
3.2.2.4 Capacité de correction . . . 60
3.2.3 Algorithmede décodage utilisantlesTreillis . . . 60
3.2.3.1 Algorithmede Viterbi . . . 61
3.3 Vote majoritaire MVD . . . 63
3.3.1 Exemple de MVD . . . 63
3.3.2 MVDde
RM(r, m)
. . . 643.3.3 capacité de correction. . . 66
3.3.3.1 code à répétitionsde longueur
n
. . . 663.3.3.2 code
RM(r, m)
. . . 673.4 Décodage récursif . . . 68
3.4.1 Constructionrécursive . . . 68
3.4.2 Idée de l'algorithmede décodage . . . 71
3.4.3 Capacité de correction . . . 75
3.4.3.1 Canal
BSC
. . . 753.5 Décodage en liste . . . 76
4 Algorithme de Sidel'nikov et Pershakov 79 4.1 Idéede l'algorithme . . . 80
4.2 Reed-Mullerd'ordre2 . . . 81
4.3 Algorithmede décodage . . . 84
4.4 Analyse de l'algorithme
SP
. . . 864.5 LesVariantes de l'algorithme de décodage . . . 90
4.5.1 Labase canoniquede
F
m
2
. . . 905 Algorithme de Sidel'nikov et Pershakov Modié 95
5.1 Commentairegénéral sur le décodage de
RM(2, m)
. . . 965.2 Préliminairesur ledécodage souple . . . 97
5.2.1
MLD
sur lescanauxBSC
etAW GN
. . . 995.2.1.1 Canal
BSC
. . . 1005.2.1.2 Canal
AW GN
. . . 1005.3 Décodage de
RM(2, m)
. . . 1005.3.1 code additif
C
`
. . . 1015.3.2 Lien entre ledécodage dans
RM(2, m)
etdansC
`
. . . 1015.3.3 Signicationde lasûreté . . . 103
5.3.4 Ecacité de l'utilisationde lasûreté . . . 104
5.4 Algorithmede décodage
SP M
. . . 1055.5 Analyse du décodage de
RM(2, m)
. . . 1096 Simulation et Résultats expérimentaux 113 6.1 Lescodes de petites longueurs . . . 115
6.2 Lescodes de longueurs moyennes . . . 117
Conclusion 121 A Rappels de probabilités 123 A.1 Loide probabilité . . . 123
A.2 Quelqueslois de probabilité . . . 125
A.2.1 Laloi normalegénérale . . . 127
A.3 Théorème central limite . . . 128
A.3.1 Approximationgaussienne . . . 129
A.3.2 Quelques formules . . . 130
B Préalables mathématiques 131
Notations 133
Index 139
Introduction
Ce manuscrit est le fruit de trois années de recherche au sein du Laboratoire de Mathématiques Appliquées de l'ENSTA sur le thème de recherche "Étude du décodage des codes de Reed-Muller". L'objectif de ma recherche est d'étudier les algorithmes de décodage des codes de Reed-Muller d'ordre-
2
existants, notamment l'algorithme de décodagedûàSidel'nikovetPershakov quiutiliselespropriétésstructurellesdescodes de Reed-Mullerpourdécodersignicativementplusloinquelacapacitéde correction.L'idée estdetransformerleproblèmedudécodaged'unmotdansuncodedeReed-Mullerd'ordre deux en plusieursproblèmes de décodagede mots dans des codes de Reed-Mullerd'ordre un.Sipourlescodes de Reed-Mullerdu premierordreilexiste desalgorithmes parvenant au décodage par maximum de vraisemblance en complexité polylogarithmique en la longueur du code, en ce qui concerne lescodes d'ordre deux, lesmeilleursalgorithmes de décodageconnussontloind'approcherlabornedudécodageàmaximumdevraisemblance dont un équivalent asymptotique a été donné par Helleseth, Kløve et Levenshtein en 2003 [53]. L'avènement d'un tel algorithme constituerait un progrès majeur. En eet, cela ouvrirait des perspectives intéressantes dans le cadre de l'utilisation de ces codes dans des applications cryptographiques. Par exemple, on pourrait songer à tenter de décoder des combinaisons linéaires de sortie de systèmes de chirement à clé secrète et ainsi en trouver de bonnes approximations quadratiques, comme on le fait déjà dans le cas d'approximations linéaires.Du point de vue de lacryptographie àclé publique,cette familleseretrouveégalementauc÷urd'unsystèmede chirementàclépubliquesimilaire à celui de McEliece.
Ce documentest structuré ensix chapitres. Danslepremierchapitre,nous présentons quelques généralités concernantla théoriedes codes correcteursd'erreurs, nous décrivons la problématique liéeà la transmission de l'informationà travers un canal bruité et à la corrections d'erreurs. Nous introduisons le groupe d'automorphisme d'un code linéaire, nous parlerons ensuite du problème de décodage en dénissant les types de décodage et la borne de décodage asymptotiqued'un algorithme de décodage.
Le second chapitre est consacré à l'étudedes codes de Reed-Muller. Nous présentons en détail une étudedes propriétés de ces codes ainsi queleurs groupes d'automorphisme. Dans ce chapitre j'ai utilisé un seul point de vue pour décrire ces codes en utilisant les fonctions booléennes, et j'ai donné de nouvelles démonstrations aux deux théorèmes qui déterminent le grouped'automorphismes de ces codes.
Dans le chapitre
3
, nous décrivons le problème de décodage optimal "Décodage à maximum de vraisemblance"etl'algorithme "FHT"qui lefait pour lescodes de premier ordre. J'expose ensuite tous les algorithmes de décodages des codes de Reed-Muller binairesconnusjusqu'àprésent. Nouscommençonspar ladénition de ladérivée discrète d'unefonction,quej'utilisepourdécrireplusieursalgorithmesdedécodage,principalement le premier algorithme conçu pour décoder ces codes "Décodage par vote majoritaire : MVD". J'établis la borne de décodage asymptotique pour l'algorithme MVD pour les codes de Reed-Mullerd'ordredeux.Le chapitre
4
, quant à lui, présente l'algorithme de Sidel'nikov et Pershakov. Nous décrivons d'abord l'idée de l'algorithme de décodage et nous présentons en détail l'algorithme. Ensuite, nous ferons l'analyse détaillée de la capacité de correction. Enn, nous présentons deux variantes de l'algorithme qui ont la même capacité de correction asymptotiquement : lapremière est une simplication quenous proposons, tandis que la deuxième,qui est proposée par les auteurs, est une paramétrisationde l'algorithme pour pouvoirdécoder plus loinmais qui rend l'algorithmeplus complexe.Le chapitre
5
apporte un résultat sur la capacité de correction des algorithmes de décodage des codes d'ordre deux. Nous présentons une étude sur le décodage souple et nous dénissons un code non binaire qui nous servira pour commenter l'algorithme de Sidel'nikov et Pershakov et d'introduire la modication que nous apportons sur cet algorithme. Nous exposons notre algorithme que nous analysons ensuite pour montrer l'eetdelamodicationsurlacapacitédecorrectiondel'algorithme.Enn,nousdonnons unepreuvequelesalgorithmesSP
etlenôtrefontdu décodageborné(jusqu'àlacapacité de correction).Le sixième chapitre expose les résultats de simulation des algorithmes étudiés pour les petites et moyennes longueurs des codes de Reed-Muller. Ces résultats montrent que l'algorithme que j'ai proposé décode beaucoup plus loin en pratique que tous les autres algorithmes.
L'annexe Aprésente unebrève introductionauxprobabilités.Lebut est de parlerdes loisde probabilités de l'approximationgaussienne. Nous aurons souvent besoin d'utiliser cetteapproximationpourbornerlaprobabilitéquelepoidsdel'erreurdépasseunecertaine borne.Lesinégalitésconnuespour bornerunevariablealéatoiresuivantlaloinormalequi sont souvent utiliséesdans l'étude des diérentsalgorithmes étudiées dans ce document. L'annexe B contient un préalable mathématique sur la dénition des groupes et les actions sur un groupe.
Chapitre 1
Introduction à la théorie algébrique des
codes
Contenu
1.1 Introduction et Dénitions . . . 12
1.2 Le canal de transmission . . . 13
1.2.1 Le canalbinairesymétrique . . . 13
1.2.2 Le canaladditif gaussienblanc
AW GN
. . . 141.3 les codes linéaires . . . 17
1.3.1 Code dual . . . 19
1.4 Groupe d'automorphismes . . . 20
1.5 Le décodage . . . 23
1.6 Performances d'unalgorithme de décodage . . . 24
N
ous allons dans ce chapitre rappeler un ensemble de dénitions et propriétés concernant les codes, et plus particulièrement les codes linéaires. Nous allons parler plus en détail des groupes d'automorphismes des codes linéaires qui nous sont utiles pour la suite. Les principales références utilisées concernant la théoriem
Ec
y = c + e
Dm
0
Canal de Transmission
Fig. 1.1 Principegénéraldu processus d'encodage etdécodage
1.1 Introduction et Dénitions
Coder l'information est né bien avant l'apparition de l'homme, la nature utilise
4
molécules pourcoderl'hérédité génétique, etles protéinesutilisent20
acides aminéspour coder leurs fonctions dans les cellules. Pour écrire, les chinois utilisent plus de80, 000
caractères pour coder leur langage, heureusement pour nous que les Phéniciens et les Grecsont découvert qu'un alphabetde 23caractèrespeuvent coder lessons élémentaires. GeorgeBOOLE(1815-1864)utilisaitseulementdeux caractèrespourcoderlesopérations logiques. Peu de temps après, John von NEUMANN (1903-1957) développa le concept de programmationutilisantaussi un système binairepour coder touteinformation. Pour Shannon (1948) l'unité est le bit et un système contientm
-bits d'information s'il peut contenir2
m
caractères. Transmettre de l'information de manière sûre est pratiquement impossible.Dans lanature lesinformationsne sont pas binairesmais comprises dans des intervalles (seuil supérieur et seuil inférieur) comme les couleurs, lessons, etc., donc des erreurs sur l'informationne la modierapas nécessairement.
La théorie des codes est la discipline des mathématiques appliquées dont le sujet est latransmission abled'informations sur un canalde transmission bruité,en utilisantdes objetscombinatoires et algorithmiquesappelés codes correcteurs d'erreurs. Cette théorie a de multiples champs d'applications, comme par exemple l'enregistrement des disques compacts,latransmissiond'informationsurlesréseauxouencoredanslescommunications par satellitespour n'en nommerquequelques-uns. Pour introduirelesujet, ilest d'abord nécessaire de préciser lesnotions de base du codage.
Dansun processusde communication,nousavons troisentitésimpliquées:l'émetteur, le récepteur et le canal de transmission (cf. gure 1.1). L'objectif de l'émetteur est de communiquer au récepteur un message,
m
, c'est une suite de longueurk
de symboles d'un alphabet niX
. Le canal de transmission bruité est capable de communiquer des suitesarbitrairementlonguesde symboles d'un alphabetY
pas nécessairement ni. Alors l'espace des messages à coder estX
k
,l'ensembledes suites de symboles de longueur
k
. L'émetteur utilise une fonction de codage,E
, pour coder les messages avant transmission, c'est une fonction injective :E :
X
k
→ Y
n
. L'image
C = E(m), m ∈ X
k
est appeléle code. Letaux
k/n
,noté en généralR
,est appeléletaux de transmission ou rendement du code, et c'est le premierparamètre fondamentald'un code, en théorie desEncequiconcerne lecanalde transmission,il"bruite"lesmessagestransmis.Cebruit peut être vu commeune application de l'espace ambiant dans luimême.
Notations générales : Dans tous les chapitres de ce document :
F
2
est le corps à deux éléments,+
désignel'additiondansF
2
(saufmentioncontraire);F
m
2
est leF
2
-espace vectorielde dimensionm
, l'additiondansF
m
2
est notéesimplement+
,x, y
∈ F
m
2
, x + y =
(x
1
+ y
1
, . . . , x
m
+ y
m
)
.On trouvera un index des notations à la page 133. Nous utiliserons fréquemment des notions de probabilité, l'annexe-A contient les rappels de probabilité nécessaires à la bonne compréhension des chapitresde ce document.
1.2 Le canal de transmission
La description générale est
Y = X + Z
(X
étant la source,Z
le bruit etY
le signal sortant du canal). La variable aléatoireX
représentera la distribution d'entrées etlavariablealéatoireY
représentera ladistribution de sorties.Le canalde transmission produit un vecteur de bruite
∈ Y
n
(voir 1.1), tel que un message
m
codé enc = E(m)
transmis sur le canal, sera reçu commey = c + e
. Le motc
sera le mot fourni en entrée ety
représentera lachaîne en sortie.Les probabilités seront notées de la façonsuivante:Pr [c]
= Pr [X = c]
Pr [y]
= Pr [Y = y]
Pr [c
|y] = Pr [X = c|Y = y]
Pr [y
|c] = Pr [Y = y|X = c]
1.2.1 Le canal binaire symétrique
C'est un des cas lesplus intéressants où l'alphabetest l'espace à deux éléments
X =
Y = {0, 1}
. Il s'agit d'une transmission de symboles binaires,c'est pourquoi lecanal estditbinaire.Danscemodèle,chaquebitdedonnéetransmisestinverséavecuneprobabilité
p
et est transmis sans erreur avec la probabilité complémentaire de1
− p
, donc le risque de mal transmettre"0" ou "1" est le même d'où leterme de canal symétrique.Cette association peut se représenter par le diagramme (1.2). Pour le canal binaire symétrique, onpose
p
la probabilité de transmission incorrecte, sur lecanal, d'un bit.p = Pr [0
|1] = Pr [1|0]
Sila transmission est indépendante, le canal est ditsans mémoire.
Proposition 1.2.1 Si on transmet
n
bits sur un canal binairesymétrique, sans mémoire,la probabilité d'avoirj
bits mal transmis est :n
j
0
1
− p
0
1
1
1
− p
p
p
Fig. 1.2 Diagrammede transitionpour un canal binairesymétrique
Ainsi lepoids de l'erreur sur un mot de longueur
n
, suit la loibinomiale.1.2.2 Le canal additif gaussien blanc
AW GN
Lebruitestblanc,gaussiendemoyennenulleetpolluelessignauxde manièreadditive (AdditiveWhite GaussianNoise) notée
AW GN
, dontla fonction densitéde probabilité1
g(t)
est une gaussienneN (0, σ
2
)
.g(t) =
1
σ
√
2 π
e
−
1
2
(
t
σ
)
2
Notonsqu'une variablealéatoireayantunefonction densitéde probabilité
g
signiequ'en tirant un grand nombre de fois cette variable, l'histogramme des valeurs obtenues a un prol en cloche (de la loinormale).Lasourcepeutêtrediscrèteoucontinue,lebruitesttoujourssupposé continu.Nousavons donc lasituation suivante:
q
symboles discrets en entréeX =
{x
1
, . . . , x
q
}
Y
∈ R
Z
est la variable aléatoirecaractérisant lebruit gaussien. Ainsi:Pr [y
|x
k
] =
1
σ
√
2π
e
−
(y−xk)
2σ2
2
Pourunetransmissionbinairel'alphabetd'entréeest
{0, 1}
,cessymbolessonttransmis comme{+1, −1}
,nous avons :
X = +1
Transmis
−−−−−−→ Y = 1 + Z
, à la sortie nous observonsY
avec une densité deprobabilité
f
1
(t) = g(t
− 1) =
1
σ
√
2 π
e
−
(t−1)2
2σ2
.X =
−1
Transmis−−−−−−→ Y = −1 + Z
, à la sortie nous observonsY
avec une densité deprobabilité
f
−1
(t) = g(t + 1) =
σ
√
1
2 π
e
−
(t+1)2
2σ2
. 1
−4
−3
−2
−1
0
1
2
3
4
0
0.6649
canal Gaussien
σ
= 0.6.
Fig.1.3 Canal Gaussien
Celasigniequ'en transmettant
+1
nousrecevonsàl'entréey
∈ R
lavariablealéatoire observée àlasortie acommedensitéde probabilitég(t
− 1)
,ainsi sionveut calculeravec quelle probabilité nous observons une valeurpositive:Pr [Y > 0
|X = +1] =
Z
∞
0
g(t
− 1) dt
Nous remarquons que pour calculerla probabilité absolue d'observer une valeur positive à lasortie :
Pr [Y > 0] = Pr [Y > 0
| X = +1] Pr [X = +1] + Pr [Y > 0 | X = −1] Pr [X = −1]
1.2.2.1 Lien entre
BSC
etAW GN
Prenons uncanal
AW GN
de paramètreN (0, σ
2
)
.Nousvoulonscalculerleparamètre
p
du canalBSC
équivalent (même niveau du bruit). Rappelons quep
est la probabilité de mal transmettre un symbole de l'alphabet d'entrée (voir gure-1.2). Pour le canalAW GN
nous transmettons un symbole de{+1, −1}
, et nous recevons une valeur réelley
à la sortie. cette valeur réelle sera arrondie à{+1, −1}
dans un canalBSC
. De cette manièrenous avons :p = Pr [Y > 0
|X = −1]
= Pr [Y < 0
|X = +1]
=
R
−∞
0
1
σ
√
2 π
e
−
1
2
(
t−1
σ
)
2
dt
=
R
1/σ
∞
√
1
2 π
e
−
u2
2
du, u =
1−t
σ
=
R
0
∞
√
1
2 π
e
−
u2
2
du
−
R
1/σ
0
1
√
2 π
e
−
u2
2
du
=
1
2
−
R
0
1/σ
√
1
2 π
e
−
u2
2
du
Soitp =
1
2
(1
− )
, avec<
< 1
, donc nous avons l'approximationsuivante := 2
R
0
1/σ
√
1
2 π
e
−
u2
2
du
≈
σ
√
2
2 π
AWGN BSC Loi normale
N (0, σ
2
)
Loi BernoulliB(p), p =
1
2
(1
− )
σ
= 2
R
0
1/σ
√
1
2 π
e
−
u2
2
du
σ =
1
q
π
2
<
< 1
Fig. 1.4 Comparer un algorithme sur les deux canaux
−6
−4
−2
0
2
4
6
0
0.3774
AWGN (
σ
= 1.48).
Fig.1.5SilesignalreçuaprèstransmissionsuruncanalAWGN(
σ = 1.48
)est arrondie à±1
, La sortie est équivalentà un canal BSC avecp =
1
4
.Le canal
BSC
nous intéresse pour les applications cryptographiques des algorithmes de décodage, etle canalAW GN
pour des applications dans lestélécommunications.1.3 les codes linéaires
Si on exige une structure de corps ni pour les alphabet
X
etY
, ceci induit une structure d'espace vectoriel surY
n
. Nous allons considérer les codes linéaires, qui sont l'image par une application linéaire de
X
k
dans
Y
n
. Donc un code linéaire est un sous-espace vectoriel sur le corps
Y
.On spéciera un code linéaire
C
par samatricegénératrice (basedeC
),ce qui est une manièrecompacte de décrireun ensembleà priori de tailleq
k
, telque
q
est le nombre de symbolesde l'alphabetY
.Toutespace dece typeest muni de lamétrique deHamming, cette dernière étant déniepar la distance suivante :Dénition 1.3.1 Soient
u
etv
deuxvecteursdecetespace,ladistancedeHammingentre deux motsu
etv
est lecardinal de l'ensemble des positions où les mots sont diérents :d(u, v) = #
{i, u
i
6= v
i
}
Deplus,àtoutvecteur
u
onassociesonpoids (deHamming),wt(u)
,quiest dénicomme la distance entreu
et le vecteurnul
, c'est aussi le cardinal de l'ensemble des symboles non nuls.Dénition 1.3.2 Soit
u
∈ F
n
2
, le poidsde Hamming est déni comme :wt(u) = d(u, 0) = #
{i, u
i
6= 0}
=
P
n
i=1
u
i
où lasomme sur est eectuée dans
N
.Exemple 1.3.1
d(10011010, 11100010) = 4
wt(10011010) = 4
d(21101020, 10102010) = 4
wt(21101020) = 5
La distance de Hammingnous permet de dénir lanotion de boule etde volume sur l'espace
Y
n
Soit
y
une chaîne deY
n
,où
|Y| = q
et soitr
un entier non négatif.La boule de rayonr
centrée eny
notéeS
q
(y, r)
est l'ensembleS
q
(y, r) =
{z ∈ Y
n
|d(y, z) ≤ r}
Et le volume de la boule
S
q
(y, r)
notéV
q
(n, r)
est le nombre d'éléments deS
q
(y, r)
. Le volumeest indépendantdey
etest donnéparV
q
(n, r) =
r
X
k=0
n
k
(q
− 1)
k
Danstoute lasuitede ce document,onnotera
F
uncorps ni, OnsupposeraX = Y = F
.Dénition 1.3.3 Un code linéaire
C
de longueurn
, déni surF
, est unF
-sous-espace vectoriel deF
n
. Chacun de ses éléments est appelé mot du code
C
. On associe àC
, outre sa longueur, une dimensionk
correspondant à la dimension de l'espace vectoriel (le code contient alors|F|
k
mots du code) ainsi qu'une distance minimale
d
(c'est la plus petite distance séparantdeux mots du code).d = min
{d(x, y) | x 6= y, x, y ∈ C} = min
x∈C
\{0}
{wt(x)}
On ditque
C
est un[n, k, d]
-codelinéaire, ouplus simplementon lenoteC[n, k]
.De plus,C
est caractérisé par sa matrice génératrice,G
∈ M
k×n
(F)
: c'est une matriceàk
lignes (linéairementindépendantes) etn
colonnes, àcoecientsdansF
, ettelle queC = {mG, m ∈ F
k
}
La matricegénératrice n'est bien sûr pas unique.
Dénition 1.3.4 Soit
C
un[n, k, d]
-code linéaire. On appelle rayon de recouvrement deC
le plus petit entierρ
tel quel'ensemble de toutes les boules de rayonρ
(pourla distance de Hamming) centrées en les mots deC
recouvre tout l'espaceF
m
2
.Le but du codage est évidemment la détection et surtout la correction d'erreurs. Il nous faut cependant dénirce que l'on entend par détection et correction d'erreurs dans lecadre de lathéorie du codage.
Dénition 1.3.5 Soit
t
≥ 1
. Nous dirons qu'un codeC
détecte t erreurs si pourx
∈ C
, les motsy
∈ F
n
2
vériantx
6= y
etd(x, y)
≤ t
ne sont pas dansC
.Dénition 1.3.6 Soit
t
≥ 1
.Nousdironsqu'un codeC
corriget
erreursou moinssipour touty
∈ F
n
Pour ce quiest de la détection, il est clair qu'un
[n, k, d]
-codeC
détecterat
erreurssi et seulement sit < d
. Pour ce qui est de la correction, un code avec distance minimaled
corriget
erreurs si et seulement sid
≥ 2t + 1
, et si t est le plus grand entier vériant2t + 1
≤ d
, alors des sphères disjointes de rayont
, peuvent être centrées sur chaque motde code.
t
est alors appelée la capacité de correctiondu code etvautb(d − 1)/2c
. Nous dénissons lecode leplus simple qui est le code à répétition,que nous utilisons aussi comme exemplepour dénirles propriétés des codes etleur encodage.Dénition 1.3.7 Le code à répétition consiste à transmettre plusieurs copies de chaque bit, c'est le
[n, 1, n]
-code linéaire binaire, a pour matrice génératriceG
∈ M
1×n
:G = (1 . . . 1)
Ainsi la dimension du code est
k = 1
, sa longueurn
, et sa distance minimaled = n
. Autrement dit, ce code à répétition,encode la transmission des bits ainsi :1
−→ 11 . . . 1
0
−→ 00 . . . 0
Ce code détecte
n
− 1
erreurs, et corrigeb(n − 1)/2c
.1.3.1 Code dual
Lacontraintedelinéaritésurlecodedonnenaturellementnaissanceàlanotiondecode dual d'un code linéaire. Puisque
C
est un espace vectoriel,on peut considérer l'ensemble des formes linéaires qui s'annulent surC
. Cet ensemble est un espace vectoriel que l'on appellecode dualdeC
.Dénition 1.3.8 Soit
C
un[n, k, d]
-codelinéaire.Soit< ., . >
leproduitscalaireeuclidien usuel2
:
< c, v >=
P
n
i=1
c
i
v
i
. Le code dual, notéC
⊥
, est doncun code linéaire de lamême longueur. Sa dimension est
n
− k
.C
⊥
=
{v ∈ F
n
| ∀ c ∈ C : < c, v >= 0}.
Ildécouledirectementdesdénitionsquesi
H
estunematricegénératriceducodeC
⊥
,elle estcommunémentappeléematricedeparité
3
ducode
C
.Demême,unematricegénératrice deC
est une matrice de parité deC
⊥
.
Remarque 1 Il n'y a pas (a priori) de relation simple entre la distance minimale de
C
et celle deC
⊥
. Le théorèmede MacWilliams[34] ne peut pas être utilisé simplementpour 2
Leproduitscalaireeuclidienestnoté plussimplement
< c, v >= c.v
t
3
H
est une(n, n
− k)
-matricedeparitéd'uncodeC
sietseulementsi∀c ∈ C : H.c
déterminer la distance minimale; pour le faire nous devons connaître la distribution des poids du code. Si
G
C
la matrice génératrice du codeC
est de la formeG
C
= [I
k
, M]
oùI
k
est la matrice unité de taille(k
× k)
etM
une matrice de taillek
× (n − k)
, alors nous avons :H = [M
t
,
−I
n−k
]
est une matrice de parité du codeC
oùM
t
est la matrice transposée de la matrice
M
.1.4 Groupe d'automorphismes
Nous gardons lesnotations de [42],mais nous choisissons lesopérations à gauche des élémentsdes groupesdénisparlasuite(voirAnnexe-B).Soit
C[n, k]
uncodelinéairesurF
,avecdescoordonnéesindiquésparlesélémentsdeI
n
=
{1, 2, . . . , n}
.RappelonsqueS
n
estlegroupesymétriquedetouteslespermutationsden
-symboles.Soitσ
unepermutation deS
n
, elle est dénie, de manière équivalente, par sa matriceP
σ
de taille(n
× n)
, avecP
σ
= [P
i,j
]
telquep
i,j
= 1
ssii = σ(j)
.L'action d'une permutation
σ
∈ S
n
sur un vecteurx
∈ F
n
est donnée par l'équation suivante
4
:
∀x = (x
1
, . . . , x
n
)
∈ F
n
, σ(x) = (x
σ(1)
, . . . , x
σ(n)
)
Elles'accorde avec la multiplicationordinaired'un vecteur par une matrice
v P
σ
.P
σ
: F
n
→ F
n
x = (x
1
, . . . , x
n
)
7→ x.P
σ
= (x
σ(1)
, . . . , x
σ(n)
)
Si
π
est une autre permutation, le produitπσ
veut dire qu'il faut d'abord appliquerσ
,aprèsπ
. Alors(πσ)x = π(σ(x))
.Exemple 1.4.1 Soit
π = (123)
,σ = (14)
σ(x)
= (x
4
, x
2
, x
3
, x
1
)
(πσ)(x) = (x
2
, x
3
, x
4
, x
1
)
Notons
M
n
(F)
l'ensembledesmatricesdetaillen
× n
surF
contenantun seulélément non nul sur chaque ligne etchaque colonne. Ce groupeest isomorpheàS
n
× (F
∗
)
n
, il est déni de la façon suivante:
(σ; d)x = σ(d.x);
pourx
∈ F
n
, (σ; d)
∈ S
n
× (F
∗
)
n
oùla multiplicationdans
F
n
est dénie par
(x
1
, . . . , x
n
).(y
1
, . . . , y
n
) = (x
1
.y
1
, . . . , x
n
.y
n
)
Nousavonsexigéquel'alphabet
F
soituncorps.NousnotonsGal(F)
LegroupeGalois5
de
F
sur son sous-corps premier (En particulier siγ
∈ Gal(F)
nous avonsγ(0) = 0
), la 4Nousdisonsque
S
n
opèreàgauchesurF
n
,Annexe-B
5
F
uncorpsni,soit
F
p
sonsous-corpspremier,Gal(F)
estl'ensembledesF
p
-automorphismes,cesont lesautomorphismesdeF
xantlesélémentsdesonsous-corpspremierF
p
multiplication dans ce groupe est donné par
(γτ )x = γ(τ x) , x
∈ F , γ, τ ∈ Gal(F)
. L'actiondeGal(F)
surM
n
(F)
produitlegroupedebijectionssemi-linéairesdeF
n
.L'eet d'un élément de
W
n
(F)
4
= Gal(F)
× M
n
(F)
(déni dans [42]) sur les mots d'un codeC
génère un code avec les mêmes propriétés (la même distance minimale,distribution des poids ,etc.), puisque leséléments de ce groupe préservent le poids de Hammingdes mots du code.
Dénition 1.4.1 On appelle groupe d'automorphismes de
C
(notéAut (C)
) l'ensemble des éléments deW
n
(F)
qui laissentC
globalementinvariant, c'est-à-direqui transforment un mot deC
en un autre mot deC
.(1.1)
(γ, σ; d)
∈ Aut (C) ⇔ ∀c ∈ C, (γ, σ; d)c = (γ(c
σ(1)
.d
σ(1)
), . . . , γ(c
σ(n)
.d
σ(n)
))
∈ C
Dans lalittérature nous trouvons aussi deux autresgroupes. Lepremier est legroupe d'automorphismes monomial
MAut(
C)
, ce sont les éléments deM
n
(F)
qui laissent le code globalement invariant.Le deuxièmeest legroupede permutationP Aut(
C)
c'est les éléments deS
n
(F)
qui laissent lecode globalementinvariant.Pour un code linéaire
C
, nous distinguonsdeux cas particuliers :
F
= F
2
, nous avonsM
n
(F
2
) =
S
n
, Gal(F
2
) =
{Id} ⇒ Aut (C) ≡ MAut(C) ≡
P Aut(
C)
X = F
p
,p
premier,nous avonsGal(F
p
) =
{Id} ⇒ Aut (C) ≡ MAut(C)
Ainsi pour un code linéaire binaire
C
,Aut (C)
est un sous-groupe du groupe symétriqueS
n
.Exemple 1.4.2 Le groupe d'automorphismes du code à répétition binaire
(denition-1.3.7) est
S
n
.Pour toute permutation
∀σ ∈ S
n
,σ
n'a pas d'eet sur le code à répétition qui contient deux mots :∀c ∈ {11 . . . 1, 00 . . . 0}, σ(c) = c
Pour les codes linéaires, nous avons deux résultats importants, qui nous permettent d'identierleur grouped'automorphismes.Rappelonsquel'ensembledesmatricescarrées inversiblesd'ordre
n
à coecient dans un corpsF
est notéGL
n
(F)
:Lemme 1.4.1 Soit
C
un[n, k]
-codelinéairedénisurF
,avecunematricegénératriceG
. Une permutationP
de taille(n
× n)
sur les coordonnées du codeC
appartient au groupe d'automorphismes du code,si et seulement si, il existeune matrice inversibleK
∈ GL
n
(F)
vériant :B
Preuve : Rappelons d'abord que siE
est unF
-espace vectoriel de dimension nie,quee
ete
˜
sontdeuxbasesdeE, alorslamatricedepassage delabasee
àlabase˜
e
est inversible. SoitG
une matrice génératrice d'un code linéaireC
, qui est un sous espace vectorieldonc unespace vectoriel.Leslignesde cettematrice forment une base de l'espacevectorielC
.La matrice
G.P
est une matrice génératrice ducode linéaireC
,quiest unsous espace vectoriel deF
n
,sietseulement si lamatrice
G.P
peut être obtenue à partir deG
parune transformation linéaire
K
.C
Proposition 1.4.1 Soit
C
uncodelinéairedénisurF
,legroupedepermutation deC
est aussi le groupe de permutation de son dualC
⊥
:
P Aut(
C) = P Aut C
⊥
B
Preuve : SoientG
la matrice génératrice etH
la matrice de parité d'un code linéaireC
, et une permutationP
∈ P Aut(C)
. Selon le lemme précédent il existe une matrice inversibleK
tel que :G.P = K.G
. la permutationP
est dans le groupe d'automorphismes ducode dualsi pour lesmots du codedualc
∈ C
⊥
on ac.P
∈ C
⊥
. Soitc
∈ C
⊥
,
G
estlamatrice de parité ducodeC
⊥
,donc :
G.c
t
= 0
⇒ G.P.P
t
.c
t
= 0
puisqueP.P
t
= I
n
(
matrice identité)
Selonlelemme précédent, ilexiste une matriceinversible
K
telqueK.G = G.P
,alorsK.G.P
t
.c
t
= 0
⇒ G.P
t
.c
t
= 0
⇒ G.(cP )
t
= 0
⇒ c.P ∈ C
⊥
D'où
P
∈ P Aut C
⊥
,nous avonsprouvé que
P Aut(
C) ⊂ P Aut
C
⊥
Et puisque(
C
⊥
)
⊥
=
C
AlorsP Aut
C
⊥
⊂ P Aut (C
⊥
)
⊥
= P Aut(
C)
.C
Note 1 Pouruncodelinéairebinaire
C
,oùF
= F
2
⇒ Aut (C) ≡ P Aut(C)
,laproposition-1.4.1 nous permet d'écrire
Aut (C) = Aut C
⊥
.
Nousavons parlédescodesquiontpourbutd'éviterleserreursduesàlatransmission. Nousallonsparlermaintenantdes diérentstypesd'algorithmede décodage, etcomment
1.5 Le décodage
Le récepteur utilise une fonction de décodage
D :
Y
n
→ X
k
. Le décodage
D
doit être rapide, et tel que, avec une grande probabilité il nous retourne le mot transmis. Intuitivement,lecodeintroduituneredondanceenaugmentantlalongueurdes messages, etcetteredondancesera utiliséepour décoderlemessagetransmis,mêmes'ilest bruité.Dénition 1.5.1 Soit
C
un code surY
. Soitc
∈ C
un mot émis à travers le canal, ety
le mot reçu.1. MLD (Maximum Likelihood Decoding) On appelle décodage à maximum de vraisemblance,l'algorithmequi permet d'obtenir lemot de code qui a laplus grande probabilité d'être transmis ayant reçu le mot erroné.
2. MDD(Minimum Distance Decoding) On appelle décodage à Distance minimale, l'algorithme qui permet d'obtenir le mot de code le plus proche du mot reçu, au sens de la métriquede Hamming
6
ou de la métrique euclidienne. 3. LD (List Decoding : décodage en liste)
7
Soit
δ > 0
, On dit qu'un algorithme dedécodage
D
décode enliste lecodeC
avecun rayon dedécodageδ
, siD
nous fournis laliste detous (éventuellement aucun)lesmots du codeà une distance au plusδ
du mot reçu.4. BDD (Bounded Distance Decoding : décodage borné) 7
Une borne
e
est donnée. L'obtention d'un mot parmi les mots de code à distancee
du mot reçu (s'il en existe).5. UD(UnambiguousDecoding :décodagenonambigu) 7
Icionsedonne
e = (d
−1)/2
, oùd
est ladistance minimaledu code, eton cherche le mot de code à distancee
du mot reçu (s'il existe).Selon le canal de transmission considéré nous avons deux sorte de décodages, nous allons dénirces types :
Dénition 1.5.2 Soit
Y
l'alphabet de sortie d'un canal de transmission. Dans la Littérature du codage nous rencontrons deuxgrandes catégories de décodagedécodage dur (hard decoding) : Pour un alphabet de sortie ni, et le plus souvent quand
Y = X
,pourcetypede canalune erreurdetransmissionconsisteàremplacer un symboleparun autre,parexemple :décodagepourune transmissionsurun canal binaireBSC
.décodagesouple(softdecoding):Pourun alphabetdesortie nonni,leplus souvent
R
, par exemple : décodage pour une transmission sur un canal gaussienAW GN
.Un algorithmede décodageest conçupourfairedu décodage durousouple,etil peut faire lesdeux, à notre connaissance il n'existe pas un algorithme de décodage souple qui
6
dénitionenpage17
ne fait pas de décodage dur. Les algorithmes de décodage ont, en général, une meilleure performance en décodage souplequ'en dur.
Note 2 Unalgorithme,quifaitdudécodagesouple,faitaussidu décodageduràcondition de faire tous les calculsnécessaires dans
R
.1.6 Performances d'un algorithme de décodage
Nous mesurons la capacité de décodage d'un algorithme de décodage
D
, à l'aide de deux notions principales, le BER (Bit Error Rate) est la probabilité de mal décoder un bit d'information, par exemple : pour trois bits erronés sur1000
bits codés et transmis, leBER
vaut3.10
−3
. et WER (Word Error Rate) qui est la probabilité de maldécoder un mot de
k
bits. Pour un canal de transmission sans mémoire, nous avons la relation suivanteentre ces deux termes:W ER = 1
− (1 − BER)
k
Pour comparer les algorithmes de décodage nous nous intéressons à la borne de décodageasymptotiquedeces algorithmes.Lanotionde bornededécodageasymptotique a été dénie et utilisée par Dumer dans la plupart de ses articles traitant les codes de Reed-Muller(voir[15],[9],[8],[10],[16]):
Dénition 1.6.1 Étant donnée une séquence de codes
C
i
de longueur croissanten
i
7→ ∞
, soitτ
i
un terme résiduelτ
i
7→ 0
, nous dirons que l'algorithme de décodageD
aδ
i
(1
− τ
i
)
comme borne de décodage asymptotique si :D(
C
i
)
retrouveavecunegrandeprobabilitélemottransmislorsquelepoids(Hamming) du vecteur d'erreur est plus petit queδ
i
(1
− κτ
i
), κ > 1
Leterme"grandeprobabilité"veutdiredanscecontextequesi
P
err
(t)
estlaprobabilité que l'algorithmeD
n'arrive pas à décoder un mot du code erroné avec une erreur de poidst
, alors :P
err
(t)
= Pr [D(y)
4
6= c | y = c + e, wt(e) = t ≤ δ
i
(1
− κ τ
i
), κ > 1]
−−−−→
ni→+∞
0
La borne est dite stricte si en plus :
D(
C
i
)
a une probabilité non négligeable de ne pas retourner le mot transmis si le poids (Hamming) du vecteur d'erreur est plus grand queδ
i
(1
− τ
i
)
.La borne de décodage asymptotique reviendra souvent dans la thèse et elle sera établie pourtouslesalgorithmesprésentés danscemanuscrit.Soit
A
unévénement,nousutilisonsle terme"avec une grandeprobabilité" qui signieque la probabilité,que l'événement
A
arrive, tend vers1
ou queson complémentaire tends vers0
.Nous allons maintenantparler du décodage du code àrépétition. (dénition-1.3.7).
Exemple 1.6.1 Décodage à distance minimale
MDD
du code à répétition :Puisque nous n'avons que deux mots dans ce code, nous pouvons décoder à distance minimale en mesurant la distance du mot reçu à tous les mots du code. Le poids de Hamming du mot reçu
y
∈ F
n
2
n'est quesa distance au mot tout à zéro (0 . . . 0
), notéplus simplement0
. Soitt = d(y, 0) = wt(y)
Nous estimons que
1
a été transmis sit >
b(n − 1)/2c
, et0
sinon.Notonsque ledécodage parénumération est possiblepour des codes de petitedimension, etil devientrapidement impraticablesi ladimension croît.
Chapitre 2
Codes de Reed-Muller
Contenu
2.1 Introduction . . . 28
2.2 Fonctions booléennes
F
m
. . . 282.2.1 Fonctionsbooléennes
F
m
etespace vectorielF
2
m
2
. . . 292.2.2 Base del'espace desfonctions
F
m
. . . 312.2.3 Base del'espace vectoriel
F
2
m
2
. . . 322.3 Les Codes de Reed-Muller . . . 34
2.3.1 Le code de Reed-Muller d'ordre 1 . . . 37
2.3.2 Codesde Reed-Muller d'ordre
r
. . . 392.4 Groupe d'automorphismes de
RM (r, m)
. . . 40D
ans ce chapitre, nous allons présenter les codes de Reed-Muller (RM
), dont l'étude a fait l'objet de ma thèse. Les principales références utilisées sont dans [34]etdans[41].Nousavons décritces codesd'une manièresimilaireà[34],mais avec plus de détails,surtout quand nousparlerons de décodage. Nousdécrivons lescodes en terme de fonctions booléennes et nous avons démontré à l'aide de cette description tous les résultats concernant ces codes, comme les preuves des théorèmes 2.4.2 et 2.4.1, ces deux théorèmes sont démontrés dans [34] en utilisantla description géométrique des codesRM
.2.1 Introduction
Étudiant l'application de l'algèbre de Boole aux circuits de communication, en 1954 D. E. Muller [36] construit une classe de codes connus sous le nom de Reed-Muller car S. I. Reed [43] aura soin de développer un algorithme de décodage en vote majoritaire pour ces codes.
Malgré le fait que leur distance minimale soit relativement petite, ces codes ont un intérêt pratique grâce àla simplicitéde leurs algorithmes de codageet de décodage. Cette caractéristique leur a valu d'être utilisés entre autres lors de la transmission des images de la planèteMars envoyées par lasonde Mariner 9 en 1972.
Lescodesde Reed-Mullerpeuventêtre dénistrès simplementen termes de fonctions booléennes. Nous allons dénir les fonctions booléennes et leur caractéristique qui nous sont utilespour la descriptiondes codes de
RM
.Notations générale : Dans tousleschapitresquisuivent: Nousavons choisi l'ordre lexicographique pour représenter les éléments de
F
m
2
=
{α
1
, . . . , α
n
}, n = 2
m
, avecα
i
comme l'écriture en binaire
1
sur
m
bits de l'entieri
− 1
. L'addition dans cet espace vectorielest leou-exclusif bit-à-bit.On trouvera un index des notations àla page 133.2.2 Fonctions booléennes
F
m
Dans toute la suite, onchoisit un entier
m > 1
. SoitF
m
l'espace des fonctions deF
m
2
dans
F
2
, c'est-à-dire des fonctions booléennes dont les arguments sont des mots binaires de longueurm
. Nous démontrons que la dimension deF
m
est2
m
, qui n'est autre que la cardinalité de l'espace
F
m
2
.Soit
f
une fonction booléenne de m variables,f : F
m
2
→ F
2
. Elle est entièrement caractérisée par sa table de vérité, c'est-à-dire la liste de tous les éléments deF
m
2
avec les valeurs qu'elle prend en chacun d'eux. Nous allons maintenant dénir les termes qui caractérisent une fonction booléenne.Dénition 2.2.1 On appelle support de la fonction booléenne
f
l'ensemble des élémentsx
tels quef (x)
6= 0
, et on le notesupp(f )
. On appelle poids2
de
f
le cardinal de son support,et onle notewt(f )
. On dénit égalementpour deuxfonctionsf
etg
ladistance2 qui les sépare par
d(f, g) = wt(f + g)
supp(f ) =
{x ∈ F
m
2
|f(x) 6= 0}
wt(f )
= #supp(f )
d(f, g)
= wt(f + g)
1(x
1
, . . . , x
m
)
LSB
l'écriture enbinaire dex
six =
P
m
i=1
x
i
.2
i−1
, LSB :(Least signicant bit)Bitde poidsfaible d'abordExemple 2.2.1 Considérons le cas
m = 3
. Voici la dénition d'une fonctionf
par sa table de vérité : éléments deF
3
2
valeur def
(0, 0, 0)
0
(1, 0, 0)
1
(0, 1, 0)
1
(1, 1, 0)
0
(0, 0, 1)
0
(1, 0, 1)
1
(0, 1, 1)
1
(1, 1, 1)
0
On a ici supp(f ) =
{(1, 0, 0), (0, 1, 0), (1, 0, 1), (0, 1, 1)}
etwt(f ) = 4
.NousallonsmaintenantintroduireleconceptdeFormeAlgébriqueNormaled'unefonction booléenne. Pour une description plus détaillée des fonctions booléennes, on peut par exemple sereporter à lathèse de CarolineFontaine [21].
2.2.1 Fonctions booléennes
F
m
et espace vectorielF
2
m
2
Nousallonsmontrerdansceparagraphelacorrespondance entrel'espacedes fonctions booléennes
F
m
etl'espace vectorielF
2
m
2
. Nous avons vu que toute applicationf : F
m
2
→ F
2
est polynomiale. En eet, siy =
(y
1
, . . . , y
m
)
∈ F
m
2
, soitle polynôme :δ
y
: F
m
2
→ F
2
x
7→
Q
m
i=1
(1 + x
i
+ y
i
) ,
qui vérieδ
y
(x)
=
1
six = y
0
sinonÀ partir de là,toute fonction
f : F
m
2
→ F
2
s'écrit (2.1)f (x) =
X
α∈F
m
2
f (α)δ
α
(x)
(et lafamilleest donc génératrice),
- C'est manifestementune famillelibre. Ainsi nous avons :
dim(
F
m
) = 2
m
,le nombre de vecteur de cette baseLa famille des
(δ
x
)
x∈(F
m
2
)
est une base deF
m
. L'équation-2.1 nous indique que toute fonction deF
m
est une fonction polynomiale, nous donnons maintenant la dénition de la formealgébriquenormale.Dénition 2.2.2 La Forme Algébrique Normale (FAN) d'une fonction booléenne
f
àm
variables est l'unique polynômeQ
f
deF
2
[x
1
, . . . , x
m
]/(x
2
1
− x
1
, . . . , x
2
m
− x
m
)
tel que∀(x
1
, . . . , x
m
)
∈ F
m
2
, f (x
1
, . . . , x
m
) = Q
f
(x
1
, . . . , x
m
).
On appelledegré de
f
, eton lenotedeg(f )
, ledegré du polynômeQ
f
. Un monômeest une expression de laforme :p = x
i
1
1
x
i
2
2
. . . x
i
m
m
,(i
j
)
j=1...m
∈ {0, 1}
Soit
I
α
=
{α
1
, . . . , α
2
m
}
uneénumérationdetouslesélémentsdeF
m
2
.Nousallonsmontrer la correspondance entre une tablede vérité etune fonction.Dénition 2.2.3 Écriture vectorielledes fonctions booléennes de
m
variables. L'application bijectiveev
I
α
:
F
m
→
F
2
m
2
f
7→ (f(α
1
), . . . , f (α
2
m
))
Cette seconde écriture de
f
revient à remplacer la fonctionf
par la2
m
-liste de ses coordonnées dans la base
(δ
x
)
x∈(F
m
2
)
. Nous allons maintenant dénir l'inverse de l'évaluationqui est la suivante:Dénition 2.2.4 Soit
v
∈ F
2
m
2
, nous allons dénir la fonction booléennef
v
∈ F
m
qui a le vecteurv
comme table de vérité :ev
I
−1
α
: F
2
m
2
→
F
m
v
7→ f
v
(x) =
P
α
i=α
2m
1
v
α
i
δ
α
i
(x)
La fonction d'évaluation des fonctions booléennes (dénition-2.2.3), notée
ev
, est une fonction linéairepossédant les propriétés suivantes :Propriété 2.2.1 Soient
f, g
∈ F
m
, a
∈ F
2
, nous avons :
ev(f + g) = ev(f ) + ev(g)
ev(f
· g) = ev(f) · ev(g)
ev(a
· f) = a · ev(f)
avec l'addition et la multiplication dans
F
2
m
2
éléments par éléments :v, w
∈
Exemple 2.2.2 Considérons le cas m=2. dénissons la fonction
f
suivante, qui correspondau xor :f : F
m
2
→ F
2
(0, 0)
7→ 0
(1, 0)
7→ 1
(0, 1)
7→ 1
(1, 1)
7→ 0
On a :f = 0.δ
(0,0)
+ 1.δ
(1,0)
+ 1.δ
(0,1)
+ 0.δ
(1,1)
= δ
(1,0)
+ δ
(0,1)
d'où,ev(f ) = (0110).
On notera qu'il est très commode, lorsque l'on désigne
δ
u
, d'identier le vecteur binaireu
et l'entier dont il est la décomposition binaire (par exemple,δ
1
etδ
(1,0)
). Nous avonsF
m
F
2
m
2
I
α
=
{α
1
, . . . , α
2
m
}
ev
I
α
ev
−1
I
α
Fig. 2.1 Correspondance entre l'espace des fonctions et l'espacevectoriel. démontréqu'ilyaunecorrespondanceentrel'espacedesfonctionsà
m
variablesetl'espace vectorielF
2
m
2
(gure2.1).Ainsitouteopérationquenousallonsdénirsurl'undesespaces sera dénie de manière équivalente sur l'autre.2.2.2 Base de l'espace des fonctions
F
m
Nous allons décrire comment associer un vecteur deF
2
m
2
à une fonction booléenne écrite sous formealgébrique normale.Dans cet espace de fonctions (i.e.
F
m
), nous allons maintenant dénir des fonctions particulières.Pour touti
∈ {1 . . . m}
,on noteX
i
lai
ème projection :X
i
: (F
m
2
)
→ F
2
(x
1
, . . . , x
m
)
7→ x
i
Notons que pour plus de simplicité, dans la suite de cette thèse, nous noterons simplementles fonctions
X
i
en minuscule, quand cela n'introduit pas d'ambiguïté.Par ailleurs,on note 1 lafonction unité (c'est-à-dire lafonction dont lavaleur est 1 quel que soitson argument).
Comme noustravaillonssur
F
2
,alors onax
k
i
= x
i
,
∀k > 0
, nous dénissons legroupede fonctions suivant : (2.2)
M = {
1· x
i
1
· x
i
2
. . . x
i
k
| 0 ≤ i
1
< i
2
· · · < i
k
≤ m,
pour0
≤ k ≤ m}
C'est l'ensemble de2
m
monômes (dim(F
m
)=2
m
), La combinaison linéaire de tous ces monômes génère toutes les fonctions polynomiales
F
m
, et comme nous pouvons réduire toute fonction polynomiale enx
i
, en calculant le modulox
2
i
− x
i
, L'ensembleM
est une autre base de l'espaceF
m
,quisera très intéressante pourdénir lescodes de Reed-Muller.2.2.3 Base de l'espace vectoriel
F
2
m
2
Noussavonsquel'imaged'unebaseparune applicationlinéairebijectiveest unebase, donc l'image de la base
M
(2.2) par l'applicationev
(def-2.2.3) est une base de l'espaceF
2
2
m
.En utilisant lapropriété-2.2.1,nous pouvons calculerl'image de tous les monômes de la base
M
si onconnaît l'imagedes monômes de degré zéro etun.Le monôme de degré zéro est la fonction constante 1
: F
m
2
→ F
2
, qui donne la valeur1
pour tous les élémentsdeF
m
2
.ev(
1) = (1, 1, . . . , 1)
On noteraque pour tout
i
∈ {1, . . . , m}
,on a:ev(X
i
) = (X
i
(α
1
), . . . , X
i
(α
2
m
))
Donc la
j
-ème coordonnée deev(X
i
)
est1
si(α
j
)
i
est non nul et0
sinon.Exemple 2.2.3 Dans le cas
m = 3
, Nous pouvons écrire l'exemple 2.2.1.α
1
α
2
α
3
α
4
α
5
α
6
α
7
α
8
ev(X
1
)
0
1
0
1
0
1
0
1
ev(X
2
)
0
0
1
1
0
0
1
1
ev(X
3
)
0
0
0
0
1
1
1
1
ev(f )
0
1
1
0
0
1
1
0
Nous avonsF
3
2
=
{α
1
, α
2
, α
3
, α
4
, α
5
, α
6
, α
7
, α
8
}
. et par exemple :α
4
= (1, 1, 0)
2.2.3.1 Ordre lexicographique
En choisissant l'ordre lexicographique pour représenter les éléments de
F
m
2
=
{α
1
, . . . , α
2
m
}
, oùα
i
est l'écriture en binaire surm
bits de l'entieri
− 1
. Dans cetteécritureun entier
x
∈ [0, 2
m
− 1]
est écrit sous la forme:
x = (x
1
, . . . , x
m
), x
i
∈ F
2
| x =
m
X
i=1
x
i
.2
i−1
Pour
m = 1
nous avonsF
2
=
{0, 1}
Notons
O
m
=
{α
1
, . . . , α
2
m
}
NousavonsO
m+1
=
{(α
1
, 0), . . . , (α
2
m
, 0), (α
1
, 1), . . . , (α
2
m
, 1)
}
Puisque :
(α
i
, 0)
c'est l'entieri
− 1
, alors(α
i
, 1)
c'est l'entieri
− 1 + 2
m
. Ainsi :
{(α
1
, 0), . . . , (α
2
m
, 0), (α
1
, 1), . . . , (α
2
m
, 1)
} = {0, 1, . . . , 2
m
− 1, 2
m
+ 0 , . . . , 2
m
+ 2
m
− 1}
=
{0, 1, . . . , 2
m
− 1, 2
m
, . . . , 2
m+1
− 1}
= O
m+1
En choisissant l'ordre lexicographique pour représenter les éléments de
F
m
2
=
{α
1
, . . . , α
n
}, n = 2
m
, avecα
i
comme l'écriture en binaire3
sur
m
bits de l'entieri
− 1
. Les monômes de degrés1
sontX
1
, . . . , X
m
, et le vecteur associé au monômeX
i
est une concaténation de2
m−i
blocs, chaque blocforméde
2
i−1
zéro suivide2
i−1
un. (2.3)X
i
= (
2
m−i
z
}|
{
0, . . . , 0
| {z }
2
i−1
, 1, . . . , 1
| {z }
2
i−1
, . . . , 0, . . . , 0
| {z }
2
i−1
, 1, . . . , 1
| {z }
2
i−1
,)
Pourlesvecteursassociésauxmonômesdedegréssupérieurs,ilfautcalculerleproduit des vecteurs associés àses termes.
Exemple 2.2.4 Pour
m = 3, f =
1+ X
2
+ X
3
+ X
1
X
2
+ X
1
X
2
X
3
. 1= 1 1 1 1 1 1 1 1
X
1
= 0 1 0 1 0 1 0 1
X
2
= 0 0 1 1 0 0 1 1
X
3
= 0 0 0 0 1 1 1 1
X
1
X
2
= 0 0 0 1 0 0 0 1
X
1
X
2
X
3
= 0 0 0 0 0 0 0 1
3(x
1
, . . . , x
m
)
LSB
l'écriture enbinaire dex
six =
P
m
f =
1+ X
2
+ X
3
+ X
1
X
2
+ X
1
X
2
X
3
ev(f ) = (11111111) + (00001111) + (00110011) + (00010001) + (00000001)
= (11010011)
2.3 Les Codes de Reed-Muller
Il y a en fait deux approches pour décrire les codes de Reed-Muller, l'une dite à une variable qui correspond à la dénition "cyclique" et l'autre à plusieursvariablesqui correspond à la dénition par fonctions booléennes. La correspondance entre ces deux approches aété développée parP.Charpin dans [5].Nousutilisonsladeuxièmeapproche pour décrire ces codes.
Le code binaire de Reed-Muller d'ordre
r
enm
variables, que l'on noteRM(r, m)
est l'ensemble des tables de vérité des fonctions booléennes enm
variables dont la forme algébriquenormale (ANF) est de degré total auplusr
.Lafamilledescodes
RM
estidentiéeàl'aidededeuxparamètres,usuellementnotésr
etm
, appelés respectivementordre etnombre de variables.Ces paramètresinterviennent dans la descriptionutilisantles fonctionsbooléennes.On choisitun ordre quelconque sur leséléments de
F
m
2
=
{α
1
, . . . , α
2
m
}
.Unefonctionf
enm
variables est alors identiée aumot binaire4
déni par :
c
f
= ev(f ) = (f (α
1
), . . . , f (α
2
m
))
En d'autres termes, lemot du code est la listedes valeurs prises par la fonction dans un ordre choisi. Le code est dénide lafaçon suivante :
RM(r, m) =
{ev(f) : deg(f) ≤ r}
Nous parlerons aussi du poids d'une fonction booléenne; cela signie bien évidemment le poids
5
du mot du code associé :
wt(f ) = wt(ev(f ))
. Dans tous ce qui suit : Pour simplier les notations nous parlerons d'un motf
du codeRM(r, m)
, au lieu de direev(f )
∈ RM(r, m)
, etnous utilisonsf (x)
pour indiquer quenous traitonsune fonction.Dénition 2.3.1 Lecode de Reed-Muller d'ordre
r
notéRM(r, m)
, de longueurn = 2
m
,
pour
0
≤ r ≤ m
est l'ensemble des images des fonctions booléennes de degré maximalr
en
m
variables.Historiquement, le code
RM(1, 5)
a été utilisé par les sondes Mariner lancées par la NASA entre 1969 et 1973 pour assurer une transmission correcte des photos numérisées de Mars.4
Regarderdénition-2.2.3pourplusdedétails surcetteécriturevectorielle (