Une introduction au codage de r ´eseau al ´eatoire
Christine Bachoc
Universit ´e Bordeaux I, IMB
Ecole de printemps Codage et Cryptographie´ 17 - 21 Mars 2014, Universit ´e Joseph Fourier, Grenoble
R ´eseau de communication
I C’est un graphe orient ´e, muni d’un ensembleSde sommets sources et d’un ensembleT de sommets destinataires.
I Les ar ˆetes mod ´elisent des canaux de communication qui transmettent sans erreurs des symboles d’un alphabetA.
I Chaque ar ˆeteepeut transmettrecesymboles par unit ´e de temps (sa capacit ´e).
I Objectif: maximiser la quantit ´e d’information (nombre de symboles deA) transmise des sources aux destinataires.
Exemple introductif: le r ´eseau papillon
t1 t2
s
Une source, deux destinataires, capacit ´e des ar ˆetes 1.
Routage versus codage
t1 t2
s
a b
Routage: un noeud peut recopier le message rec¸u avant de le transf ´erer.
Routage versus codage
t1 t2
a
a
b
b s
a b
Le noeud du milieu rec¸oitaetbmais il doit choisir lequel transf ´erer.
Routage versus codage
t1
a
t2
a,b
a a
a a
a
b
b s
a b
t1
a,b
t2
b
b b
b a
a
b
b s
a b
Dans les deux cas, on atteint un taux de transmission de 1.5.
Routage versus codage
t1 t2
a
a
b
b s
a b
Codage: les noeuds sont autoris ´es `aeffectuer des op ´erationssur les mes- sages.
Routage versus codage
t1
a,a+b
t2
b,a+b a+b a+b
a+b a
a
b
b s
a b
Le noeud du milieu choisit de transmettrea+b.
Chaque destinataire peut calculeraetb `a partir des donn ´ees qu’il rec¸oit. Le taux de transmission 2 est atteint!
Conclusions
I On peut transmettre deux symboles de la source `a l’un quelconque des destinataires par routage en une session de communication.
I Si on veut transmettre ces deux symboles `atousles destinataires en une seule session, le routage ne marche pas, par contre le codage r ´eussit.
I On va voir qu’en g ´en ´eral:
FIl y a une borne naturelle pour le taux de transmission donn ´ee par le th ´eor `eme max flot-min cutpour le flot d’un graphe.
FCette borne est atteinte parroutages’il y a un seul destinataire.
FCette borne est atteinte parcodage lin ´eaires’il y a plusieurs destinataires et que l’alphabet est assez grand.
Plan
1. La notion deflotsur un graphe.
2. Letheor `eme max flot-min cutet leth ´eor `eme de Menger.
3. Cons ´equence pour letaux de transmissiondans un r ´eseau de communication.
4. Optimalit ´e ducodage lin ´eaire de r ´eseau.
R ´ef ´erences:
R. Ahlswede, N. Cai, S.-Y. R. Li, R. W. Yeung,Network Information Flow, IEEE Trans. Inf. Th., 2000
R. W. Yeung,Information Theory and Network Coding, Springer, 2008
Flot
I G= (V,E)graphe orient ´e,S={s},T={t}.
I Pourv∈V, on noteIn(v)etOut(v)l’ensemble des ar ˆetes arrivant env, respectivement partant dev.
I PourA⊂V,B⊂V, on notee:A→Bpour une ar ˆete commenc¸ant dansAterminant dansB.
I On note aussie0→epour deux ar ˆetes cons ´ecutives.
I A chaque ar ˆetee∈Eest associ ´e un nombre r ´eel positifce(sa capacit ´e).
Flot
Unflotest une applicationf:E→Rtelle que:
I Pour toute∈E, 0≤f(e)≤ce.
I Pour toutv∈V\ {s,t}, X
e∈In(v)
f(e) = X
e∈Out(v)
f(e)
C’est laloi de conservation du flot.
Lavaleur du flotfest d ´efinie par:
V(f) := X
e∈Out(s)
f(e)− X
e∈In(s)
f(e).
Mod ´elise lesr ´eseaux de transports(v ´ehicules, marchandise, fluides, etc..).
Pourx∈V, notons
f(x) := X
e∈Out(x)
f(e)− X
e∈In(x)
f(e).
On remarque que:
V(f) =f(s) =−f(t).
En effet, X
e∈E
f(e) =X
v∈V
“ X
e∈Out(v)
f(e)”
=X
v∈V
“ X
e∈In(v)
f(e)” .
On obtient l’ ´egalit ´e annonc ´ee en tenant compte de la loi de conservation : f(x) =0 pour toutx6=s,t.
t 2 1 1
s
2 1 V(f) =3
Coupe
Unecoupedu grapheGs ´eparantsettest un ensembleUde sommets tel ques∈Uett∈U(ensemble compl ´ementaire deU).
Lavaleur de la coupeest
C(U) = X
e:U→U
ce
Exemple: sice=2 pour toute∈E,C(U) =4.
t s
U
Coupe
Unecoupedu grapheGs ´eparantsettest un ensembleUde sommets tel ques∈Uett∈U(ensemble compl ´ementaire deU).
Lavaleur de la coupeest
C(U) = X
e:U→U
ce
Exemple: sice=2 pour toute∈E,C(U) =4.
t s
U
Le th ´eor `eme max flot-min cut
Th ´eor `eme:maxfV(f) =minUC(U).
Preuve:constructive.
Etape 1: pour tout flot´ f, coupeU,V(f)≤C(U):SoitT0l’ensemble des extr ´emit ´es des ar ˆetes coup ´ees parU. On restreint le graphe `aU∪T0et aux ar ˆetes non contenues dansU. Cela d ´efinit un nouveau grapheG0.
t s
t10 t20 t30 s
IciT0={t10,t20,t30}. La restriction defest un flot surG0des`aT0(la loi de conservation est respect ´ee aux autres sommets).
Rappel: pourx∈V,
f(x) := X
e∈Out(x)
f(e)− X
e∈In(x)
f(e).
En notant, pourX⊂V,f(X) =P
x∈Xf(x), on a:
V(f) =f(s) =−f(T0) = X
e:U→U
f(e)− X
e:U→U
f(e)
≤ X
e:U→U
f(e)≤ X
e:U→U
ce=C(U).
On remarque que l’ ´egalit ´eV(f) =C(U)a lieu si et seulement si :
I f(e) =cepour toute:U→U
I f(e) =0 pour toute:U→U.
Etape 2: Il existe´ f,Utels queV(f) =C(U):Soitf un flot, soit Ul’ensemble des extr ´emit ´es de chemins sous-optimaux
x∈Us’il existex1=s,x2, . . . ,xn=xtels que:
I xixi+1ouxi+1xiappartient `aE
I sixixi+1=e∈E,f(e)<ce I sixi+1xi=e∈E,f(e)>0.
Alorss∈U, etsit∈U, on peut augmenterf:en effet, dans ce cas, il existe un chemin sous-optimal des`at.
s
. . .
− − . . . t
Soit >0 tel que, le long de ce chemin,
f(e)≤ce−siepointe verst,f(e)≥sinon.
On prendmaximal, et on modifiefle long de ce chemin en posant:
f0(e) =f(e)±
suivant la direction dee. Alors,f0est un flot,V(f0) =V(f) +et le chemin n’est plus sous-optimal.
En it ´erant ce proc ´ed ´e, on obtient un flot tel quet∈/U. AlorsUest une coupe s ´eparantsett, et, par construction,
I sie:U→U,f(e) =ce I sie:U→U,f(e) =0.
Donc,V(f) =C(U), le flot est maximal et la coupe est minimale.
Remarques:
I La d ´emonstration d ´ecrit un algorithme permettant de construire un flot maximal `a partir du flot nul.
I La d ´emonstration montre que, si les capacit ´escesont enti `eres, il existe un flot maximal `a valeurs enti `eres.
Le th ´eor `eme de Menger
Th ´eor `eme:[Menger, 1927] Siwest la valeur de la coupe minimale d’un graphe orient ´e dont les ar ˆetes ont pour capacit ´e 1, alors il existewchemins orient ´es des`at, deux `a deux sans ar ˆetes communes.
t s min cut=2
Le th ´eor `eme de Menger
Th ´eor `eme:[Menger, 1927] Siwest la valeur de la coupe minimale d’un graphe orient ´e dont les ar ˆetes ont pour capacit ´e 1, alors il existewchemins orient ´es des`at, deux `a deux sans ar ˆetes communes.
t s
Preuve:
I Si on antels chemins, alors on peut d ´efinir un flot qui vaut 1 sur ces chemins et 0 ailleurs. Sa valeur estndonc par le th ´eor `eme mf-mc, n≤w.
I On en d ´eduit le casw=0, puis on proc `ede par r ´ecurrence surw.
I SoitUl’ensemble des extr ´emit ´es de chemins orient ´es commenc¸ant en s. On aC(U) =0, donct∈Udonc un chemin orient ´e relies`at.
I Par l’algorithme, il existe un flot maximalfmaxqui vaut 1 le long de ce chemin.
I On consid `ere alors le grapheG0obtenu en enlevant les ar ˆetes de ce chemin et le flot obtenu par restriction. Sa valeur est
V(fmax)−1=w−1doncG0a pour valeur de coupe minimalew−1 donc contient par r ´ecurrencew−1 chemins orient ´es disjoints.
Codage de r ´eseau
Informellement:
I G= (V,E)graphe orient ´e acyclique,S={s},T ={t1, . . . ,t`}
I Les ar ˆetes transmettent des ´el ´ements d’un alphabetA.
I A l’instant 0,` X ∈Awest ´emis pars
I A chaque instant` k=1,2, . . . ,K, un ´el ´ement deAest transmis sur une ar ˆetee(k), qui est une fonction des ´el ´ements transmis sur les ar ˆetes entrantes aux temps pr ´ec ´edents.
I Chaque ar ˆete transmet au plus un nombreced’ ´el ´ement deAau cours de la session.
I A la fin, `a chaque` ti, une fonction de d ´ecodageDi appliqu ´ee aux
´el ´ements arriv ´es entiretourne un ´el ´ementYideAw.
Si, pour touti=1, . . . , `,Di retourneX, on dit quele taux de transmission multicast de ce sch ´ema de codage estw.
Codage de r ´eseau
Sans perte de g ´en ´eralit ´e:
I On peut supposerce=1:
3
I On peut supposerIn(s) =∅etOut(ti) =∅:
s0 s
Codage de r ´eseau
Plus formellement:
I Une application: (l’ordre des transmissions) {1, . . . ,K} →E
k7→e(k) telle que, pour toute∈E,e(k) =eau plus une fois.
I Des applications: (fk(X)est transmis sure(k)) Aw →A
X 7→fk(X)
telles que: il existe des applicationsϕk avec
fk(X) =ϕk(fk0(X) :k0<k,e(k0)→e(k))sie(k)∈/Out(s)
I Pouri=1, . . . , `, des applicationsDi :A|In(ti)|→Aw.
Codage de r ´eseau
I Letaux de transmission multicast estwsi, pour toutX∈Aw, Pour touti=1, . . . , `, Di(fk(X) :e(k)∈In(ti)) =X.
On supposera quele grapheGest acycliquecar dans ce cas:
I Il existe un ordre sur les ar ˆetes ’de haut en bas’, i.e. tel que:
Sie0→ealorse0<e.
I On prendra toujours un tel ordre pour les transmissions pour ne pas avoir de probl `eme de ’d ´elai’ (toute l’information est arriv ´ee `a un noeud avantque celui-ci transf `ere).
I Il suffit alors de sp ´ecifier lesfonctions globales xe:=fe(X)ou les fonctions localesϕe(xe0 :e0→e).
Th ´eor `eme:Si le taux de transmission multicast estwalors, pour tout i=1, . . . , `,
w≤min cut(G,s,ti).
Preuve:Facile. SiUest une coupe s ´eparantsetti, les donn ´ees qui arrivent entisont fonction des donn ´ees qui transitent par les ar ˆetese:U→U. Plus un peu de th ´eorie de l’information.
Le routage est optimal avec un unique destinataire
Th ´eor `eme:SiT ={t}, le taux de transmissionw=min cut(G)est atteint par routage.
Preuve:Par le th ´eor `eme de Menger, il existew=min cut(G)chemins orient ´es sans ar ˆete commune des `at. On peut transmettre le long de ces cheminswsymboles distincts.
t s min cut=2
Le routage est optimal avec un unique destinataire
Th ´eor `eme:SiT ={t}, le taux de transmissionw=min cut(G)est atteint par routage.
Preuve:Par le th ´eor `eme de Menger, il existew=min cut(G)chemins orient ´es sans ar ˆete commune des `at. On peut transmettre le long de ces cheminswsymboles distincts.
t s
Le routage est optimal avec un unique destinataire
Th ´eor `eme:SiT ={t}, le taux de transmissionw=min cut(G)est atteint par routage.
Preuve:Par le th ´eor `eme de Menger, il existew=min cut(G)chemins orient ´es sans ar ˆete commune des `at. On peut transmettre le long de ces cheminswsymboles distincts.
t
a b
a a a
b s a b
Le codage lin ´eaire est optimal avec plusieurs destinataires
Th ´eor `eme:[Li, Yeung, Cai, 2003] SiA=Fmq etFqest un corps fini assez grand, le codage lin ´eaire permet d’atteindre le taux de transmission multicast
w= min
i=1,...,`min cut(G,s,ti).
Codage lin ´eaire:les applicationsfk(X)sontFq-lin ´eaires.
Koetter et M ´edard, 2003: preuve alg ´ebrique (q>|T|).
Jaggi, Sanders, 2005: Linear Information Flow Algorithm (q≥ |T|).
Notation:X ∈Aw = (Fmq)west identifi ´e `a la matriceX∈Fwq×mdont les lignes sont les ’paquets’Xi∈Fmq.
Preuve alg ´ebrique
Pour touti=1, . . . , `, la matriceYi rec¸ue enti s’ ´ecrit Yi=TiX, Ti ∈Fw×wq
Ce que l’on veut: pour touti=1, . . . , `,Ti inversible soit det(T1). . .det(T`)6=0.
Soitxe∈Fmq transmis par l’ar ˆeteeau cours de la session. `A chaque paire d’ar ˆetes cons ´ecutives(e0,e)est associ ´e un coefficientλe0,e∈Fqtel que:
xe= X
e0→e
λe0,exe0.
En it ´erant, on voit que les coefficients des matricesTisont des polyn ˆomes en lesλe0,e. DoncQ`
i=1det(Ti)est un polyn ˆome en les variablesλe0,e. Donc, si|Fq|est assez grand, on peut choisir des valeurs pourλe0,ede telle sorte qu’il ne s’annule pas.
L’algorithme de Jaggi-Sanders
On va calculer it ´erativement des vecteursFe∈Fwq tels que xe=FeX.
Ce qu’on veut: pour touti=1, . . . , `,
{Fe : e∈In(ti)}engendreFwq.
Pour chaquei=1, . . . , `, par le Th de Menger, il existewchemins orient ´es disjoints joignants`ati. Notons
Pi ={Ci,1, . . . ,Ci,w}
On va calculer dans un ordre ’de haut en bas’ lesFede sorte que le rang soit maximal le long de chacun desPi.
t1 t2 t3
s
w=3
t1 t2 t3
C1,2
s C1,1 C1,3
t1 t2 t3
C2,3
s C2,1
C2,2
t1 t2 t3
C3,3
s C3,1
C3,2
I On ´elimine toutes les ar ˆetes n’appartenant pas `a l’un desCi,j.
I On rajoutewar ˆetes en amont deset on initialise leursFeavec la base canonique deFwq.
s (1,0,0)
(0,1,0) (0,0,1)
. . . .
I On parcourt les ar ˆetes suivant un ordre ’de haut en bas’ pour choisirFe.
I Soit, sur chaque cheminCi,j,Fi,jle dernier desFecalcul ´e. Soit Wi=Vec(Fi,j : j=1, . . .w).
A l’initialisation, on a dim(W` i) =w. Notre objectif est deconserver le rang w dans tous les Wi.
I Supposonse∈ Ci1,j1, . . . ,Cis,js. Notonserson pr ´ed ´ecesseur dansCir,jr.
e e1 e2 e3
Notons que les indicesir sont deux `a deux distincts doncs≤`.
I Soit
W=Vec(Fe1, . . . ,Fes) (er∈ Cir,jr).
et soit
Wi0r =Vec(Fir,j : j6=jr).
On va choisirFetel que:
Fe∈W(ainsixeest comb lin desxe0,e0→e) Fe∈/Wi0r (ainsi on maintient le rangwdansWir)
I On a : dim(Wi0r +W)≥dim(Wi0r) +1 donc
dim(Wi0r ∩W) =dim(Wi0r) +dim(W)−dim(Wi0r +W)≤dim(W)−1.
I Donc, sim=dim(W),
card“[s
r=1
(Wi0r ∩W)”
≤`(qm−1−1) +1.
I Siq≥`, on aqm> `(qm−1−1) +1 donc
il existeFe∈W\
s
[
r=1
(Wi0r ∩W).
I Si on choisitFeal ´eatoirementdansW,
proba d’ ´echec≤ `(qm−1−1) +1
qm ≤ `
q
donc
proba de succ `es ≥1− ` q.
I Si chaque ar ˆeteechoisitFeal ´eatoirement, on parle decodage lin ´eaire al ´eatoire. La probabilit ´e qu’un tel sch ´ema atteigne le taux de
transmission optimal est donc au moins
“ 1− `
q
”|E|
'1−`|E|
q =1−o(1).
Conclusions
I Avec une source et un destinataire, le routage permet d’atteindre la limite th ´eorique min cut(G)par les chemins pr ´evus par le th de Menger.
I Avec une source et`destinataires, le routage ne permet pas d’atteindre la limite th ´eorique min`i=1min cut(G,s,ti).
I Par contre, d `es que|A| ≥`, le codage lin ´eaire le permet (algo Jaggi-Sanders).
I Si|A| `, le codage lin ´eaire al ´eatoire r ´eussit avec probabilit ´e proche de 1. Avantage: pas de connaissance `a priori du graphe.
I Ces r ´esultats s’ ´etendent aux graphes contenant des cycles. Par contre, le cas des r ´eseaux multi-source estbeaucoupmoins bien compris..