Une introduction au codage de r´eseau al´eatoire

42  Download (0)

Full text

(1)

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

(2)

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.

(3)

Exemple introductif: le r ´eseau papillon

t1 t2

s

Une source, deux destinataires, capacit ´e des ar ˆetes 1.

(4)

Routage versus codage

t1 t2

s

a b

Routage: un noeud peut recopier le message rec¸u avant de le transf ´erer.

(5)

Routage versus codage

t1 t2

a

a

b

b s

a b

Le noeud du milieu rec¸oitaetbmais il doit choisir lequel transf ´erer.

(6)

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.

(7)

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.

(8)

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!

(9)

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.

(10)

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

(11)

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).

(12)

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..).

(13)

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

(14)

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

(15)

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

(16)

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).

(17)

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.

(18)

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.

(19)

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.

(20)

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

(21)

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

(22)

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.

(23)

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.

(24)

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

(25)

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.

(26)

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).

(27)

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.

(28)

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

(29)

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

(30)

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

(31)

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.

(32)

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.

(33)

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.

(34)

t1 t2 t3

s

w=3

(35)

t1 t2 t3

C1,2

s C1,1 C1,3

(36)

t1 t2 t3

C2,3

s C2,1

C2,2

(37)

t1 t2 t3

C3,3

s C3,1

C3,2

(38)

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.

(39)

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)

(40)

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).

(41)

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).

(42)

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..

Figure

Updating...

References

Related subjects :