ETUDE DES DIFFÉRANTES ORBITES DE RM(3,9)/RM(2,9) SOUS L
Transcription
ETUDE DES DIFFÉRANTES ORBITES DE RM(3,9)/RM(2,9) SOUS L
1
ETUDE DES DIFFÉRANTES ORBITES DE
RM(3,9)/RM(2,9) SOUS L’ACTION DE GL(M, 2)
Olivier Anglada
Sous la direction Phililpe Langevin
Laboratoire d’Informatique de Toulon
Résumé
1.
Ce mémoire propose d’étudier les classes d’équivalences de RM (3, 9)/RM (2, 9) sous l’action de GL(9, 2).
Pour cela nous allons définir RM (r, m) et RM (r, m)/RM (r − 1, m) puis nous établirons des résultats dans le
cas général RM (r, m)/RM (r −1, m) enfin nous nous intéresserons plus précisement à RM (3, 9)/RM (2, 9).
La première partie est consacrée aux fonctions booléenes, la deuxième partie a pour but de décrire l’article de
Xiang-dong Hou, ensuite nous définissons ce que nous appelons des invariants. Puis nous en viendrons au
cas RM (3, 9)/RM (2, 9), nous donnerons enfin les résultats obtenues et ainsi que quelques statistiques. Les
résultats complets seront donnés en annexe.
INTRODUCTION
Notre travail se place dans le cadre du CODAGE et plus particulièrement dans l’étude des codes
de REED & MULLER. De nombreux travaux ont déjà été réalisés dans ce secteur, tout d’abord dans
un cadre théorique avec l’étude du rayon de recouvrement et des fonctions hautement non linéaires
de RM (r, m) qui dans le cas m pair sont les fonctions courbes, Rothaus [1] , Dillon [2]. Puis dans
un cadre plus concret, les travaux plus significatifs ont été les articles de James A. Maiorana [3] dans
lequel il classe toute les fonctions affines de 6 variables, i.e. de RM (1, 6) , et de Xiang-dong Hou
[4] dans lequel il va classer les formes cubiques homogènes de 6 , 7 et 8 variables , i.e. classification de RM (3, 6)/RM (2, 6), RM (3, 7)/RM (2, 7) et RM (3, 8)/RM (2, 8). Nous nous sommes plutôt
intéréssé à l’article de Xiang-dong Hou. En effet, dans son article Maiorana donne des résultats intéressants
mais son approche est trop brutale il fait une étude de toutes les fonctions affines de 6 variables, ce qui
est impossible dans le cas de cubiques à 9 variables.
Nous allons à la lumière des travaux de Hou faire une étude plus poussée du cas RM (3, 9)/RM (2, 9).
Dans son article Xiang-dong Hou détermine le nombre de classes d’équivalences dans RM (3, 9)/RM (2, 9)
sous l’action de GL(m, 2) , nous allons essayer de déterminer un représentant de chacune de ces classes.
C’est une question intéressante car le fait de connaı̂tre ces classes peut nous permettre de calculer le
rayon de recouvrement de RM (2, 9).
La première partie du document est consacré aux fonctions Booléenes. Ensuite nous allons reprendre
l’article de Xiang-dong Hou et décrire son travail afin de comprendre dans quel contexte nous nous
plaçons. Nous donnerons aussi les résultats obtenus par Hou qui nous servirons dans notre étude. Dans
un troisième temps, nous décrirons un outil appelé invariant et qui nous sera utile dans le mécanisme de
classification. Puis nous en viendrons au cas RM (3, 9)/RM (2, 9) et enfin nous donnerons les résultats
obtenus, les représentants des différentes classes ainsi que quelques statistiques.
1
2
OLIVIER ANGLADA
2.
GÉNÉRALITÉS SUR LES FONCTIONS BOOLÉENES
2.1
FONCTIONS BOOLÉENES
Soit F2 le corps fini à deux éléments avec l’addition modulo 2.
Une application booléene à m variables est une application de Fm
2 dans F2 , on appelle B(m) l’ensemble
de ces fonctions.
On définit P (m) tel que :
P (m) = F2 [x1 , x2 , . . . , xm ]/(x21 − x1 , x22 − x2 , . . . , x2m − xm )
(1.1)
Alors il existe une unique représentation polynomiale de chaque élément de B(m) dans P (m). On
choisit de quotienter par x2i − xi car comme on se place dans F2 il est clair que quelque soit la valeur xi
dans {0,1} x2i = xi .
Soit x = (x1 , x2 , . . . , xm ) alors f (x) = p(x1 , x2 , . . . , xm ) ou p ∈ P (m). Le degré de chaque variable
est 0 ou 1, le degré de p est au plus k.
Soit p ∈ P (m),
Alors
p(x1 , x2 , . . . , xm ) =
deg
Q
i∈I1 xi
Q
+
p = max
deg
+ ... +
Q
i∈It xi .
(card(Ij)).
j
Ex : p = x1 x2 x4 x5 + x1 x3 + x2 + 1
i∈I2 xi
p = 4.
Le poids de f est défini par :
w(f ) =| {x ∈ F2 m
f (x) = 1} |.
tq
La distance de HAMMING est définie par :
d(f, g) = w(f − g) =| {x ∈ F2 m
2.2
f (x) = g(x)} |.
tq
CODE DE REED & MULLER RM
L’ensembles des fonctions booléenes affines forment un code de longueur 2m que l’on appelle le code
de REED & MULLER affine, ou du premier ordre, noté RM (1, m). On étend cette définition à d’autres
codes que l’on appèlera les codes de REED & MULLER d’ordre k notés RM (k, m) et définis par :
RM (r, m) = {F ∈ P (m) tq
Avec dim RM (r, m) =
(m
0 )
+
(m
1 )+
... +
(m
r ).
F ≤ r} ⊂ P (m)
deg
Où
(m
p )
représente le coefficient binomial.
C’est un espace trop grand pour attaquer une étude exhaustive, Hou propose donc d’étudier RM (r, m)/RM (r−
1, m) , qui est l’espace des fonctions booléenes homogènes de degré r. De plus on fait agir sur cet ensemble le groupe des applications linéaires inversibles GL(m, 2), ceci afin de faire apparaitre des classes
d’équivalences.
2.3
RAYON DE RECOUVREMENT
Les fonctions booléenes sont utilisés dans de nombreux secteurs, en codage, ou en cryptographie dans
les méthodes de chiffrement au ” fil de l’eau ”, ou l’on utilise une fonction booléene pour masquer la clef
de l’utilisateur. La sécurité repose sur les propriétés de distributions et de non linéarité. La distance de
Hamming d’une fonction à l’espace des fonctions affines mesure le degré de non linéarité.
δ(f ) =
inf
Φaf f ines
d(f, Φ)
Les fonctions non linéaires maximales, dites hautement non linéaires, ont un degré de non linéarité égal
au rayon de recouvrement ρ(m) du code de REED & MULLER du premier ordre.
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
3
On définit ρ(m) par :
ρ(m) = sup δ(f )
f
Dans notre cas ayant déterminé les classes d’équivalences des fonctions de RM (r, m) et comme toutes
les fonctions d’une même classe possédent les mêmes propriétés de codage (distribution de poids,
non linéarité, etc..), pour déterminer le rayon de recouvrement on se restreint à l’étude des classes
d’équivalences et non pas de toutes les fonctions.
3.
ARTICLE DE XIANG-DONG HOU
3.1
ACTION DE GL(M, 2)
Soit RM (r, m) le code de REED & MULLER de longueur 2m et d’ordre r , que l’on représente sous
forme de polynômes. Soit GA(m, 2) le groupe des automorphismes sur RM (r, m) et RM (r, m)/RM (r−
1, m) l’espace quotient.
On dit que f et g ∈ RM (r, m) , sont dans la même GA(m, 2) − orbite
si ∃ σ ∈ GA(m, 2) tel que σ.f = g + γ, avec γ ∈ RM (r − 1, m).
Le groupe GA(m, 2) agit de manière naturelle sur RM (r, m)/RM (r − 1, m) et σ ∈ GA(m, 2) se
représente sous la forme σ = A + b , avec A ∈ GL(m, 2) et b ∈ Fm
2 , donc
σ(f (X)) = f (X.A) + b.X où b.X représente le produit scalaire de b par X. Comme nous ne nous
intéressons qu’aux fonctions homogènes de degré 3 , on ne s’occupe pas de b.X.
Donc dans notre cas l’action de GA(m, 2) se réduit à l’action de GL(m, 2) groupe des applications
linéaires inversibles.
On aura donc
f ∼ g si ∃A ∈ GL(m, 2) tq A.f ≡ g mod RM (r − 1, m) ou encore f (X.A) = g(X) + λ(X) avec
X = (x1 , x2 , . . . , xm ) et λ(X) ∈ RM (r − 1, m). De même que précédemment on néglige le terme
résidu λ(X) , dans la suite de l’article nous n’en tiendrons plus compte.
Exemple d’action de GL(m, 2) sur RM (3, 9)/RM (2, 9) :
Soit f (X) = x1 x2 x3
et soit g(X) = xm x1 x2
alors en prenant A ∈ GL(m, 2) tel que
xi → x(i+1)mod m .
0 1 0 ··· 0
.
.
.
..
. 0 . . . . ..
A a pour matrice .. ..
. . ··· 1 0
0 0 ··· 0 1
1 0 ···
0
0
f ((x1 , x2 , . . . , xm ).A) = f (xm , x1 , . . . , xm−1 ) = xm x1 x2 = g(x1 , x2 , . . . , xm ) (A ∈ GL(m, 2) car
le déterminant de la matrice associé à A n’est pas nul.)
Donc g(X) = f (X.A) ainsi f et g sont dans la même GL(m, 2) − orbite.
Le but de l’article de Hou est de déterminer le nombre des GL(m, 2)−orbites de RM (r, m)/RM (r−
1, m) en fonction de r et m. On appelera ce nombre n(r,m).
Tout d’abord Hou détermine dans deux cas simples la valeur de n(r,m).
P our r = 0, 1 on a
P our r = 2 on a
n(r, m) = 2
n(r, m) = bm/2c + 1
(1.2)
(1.3)
4
OLIVIER ANGLADA
Par la suite il propose d’établir une formule générale donnant la valeur de n(r,m) ceci quelque soit r
et m. Pour cela il va avoir besoin des centralisateurs des matrices de GL(m, 2) ainsi que des Compound
matrices.
3.2
CENTRALISATEUR
Soir Mm×m l’ensemble des matrices m × m sur F2 .
Pour tout A ∈ Mm×m on a :
CentMm×m (A) = {B ∈ Mm×m tq BA = AB}
et
CentGL(m,2) (A) = {P ∈ GL(m, 2) tq P AP −1 = A} = CentMm×m (A) ∩ GL(m, 2).
Si les facteurs invariants de A sont de degrés m1 ≥ m2 ≥ · · · ≥ ms ≥ 1 , le Théorème de Frobenius
[5] nous dit que :
s
X
dim(CentMm×m (A)) =
(2i − 1)mi .
i=1
Soit A ∈ Mm×m , on prend A sous la forme rationnelle canonique ayant pour facteurs invariants di
tels que ds | ds−1 | · · · | d1 avec deg(di )=mi on a alors :
M (d1 )
A=
..
.
M (ds )
où ds ∈ F2 [X] donc ds = xn + an−1 xn−1 + · · · + a1 x + a0 et
M (ds ) =
−an−1 1 0
−an−2 0 1
..
.. ..
.
. .
−a1 0 0
−a0 0 0
··· 0
··· 0
. . ..
. .
··· 1
··· 0
Il utilise cette caractérisation pour déterminer le cardinal de CentGL(m,2) (A), Hou a besoin de la taille
du centralisateur pour le calcul de n(r,m).
Il obtient le résultat suivant :
Théorème
(1)
(1)
ms
m
(k)
m
(k)
ms
Soit A ∈ Mm×m avec comme diviseurs élémentaires p1 1 , . . . , p1 1 , . . . , pk 1 , . . . , pk k où p1 , p2 , . . . , pk
(i)
sont des polynômes irréductibles distincts dans F2 [X] avec deg pi = αi (1 ≤ i ≤ k)), et m1 ≥ · · · ≥
(i)
msi ≥ 1 (1 ≤ i ≤ k). Alors
| CentGL(m,2) (A) | =
si
k Y
Y
(i)
αi jmj
2
(i)
(i)
αi (mj+1 +···+msi )
2
−2
i=1 j=1
3.3
(i)
(i)
(i)
(i)
αi [−1+min(mj+1 ,mj −1)+···+min(msi ,mj −1)]
COMPOUND MATRICE
Hou définit dans son article un objet appelé Compound matrice.
Soit Crm l’ensemble de tout les sous-ensembles de taille r de {1,. . .,m}.
5
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
(
Alors
Ba(r, m) =
Y
)
Xi + RM (r − 1, m) tq S ∈
Crm
(1.4)
i∈S
est une base de RM (r, m)/(RM (r − 1, m).
On veut maintenant déterminer la matrice de A ∈ GL(m, 2) suivant la base Ba(r, m). Soit A = (ai,j )
et S = {i1 , i2 , . . . , ir } ∈ Crm alors
!
m
Y
Y X
A
Xi + RM (r − 1, m) =
Xj aji + RM (r − 1, m) =
i∈S
X
T ∈Crm
Y
Xj
j=1
i∈S
X
aj1 i1 · · · ajr ir + RM (r − 1, m)
j1 ,...,jr
j∈T
P où j1 , . . . , jr de la dernière somme décrit toute les permutations possibles sur T et
aj1 i1 . . . ajr ir = detA(T, S) où A(T, S) est la sous matrice de A composé des lignes d’indices dans T
et des colonnes d’indices dans S. La matrice de A suivant la base Ba(r, m) de RM (r, m)/RM (r −1, m)
est :
Cr (A) = (det A(T, S)T,S∈Crm
Ex :
1.2 1.3 1.4 2.3 2.4 3.4
A
1 2 3 4
1.2
1
0
0
1
0
0
1 1 1 1 0
1.3
1
0
1
1
0
1
1.4
1
1
1
0
1
0
3 1 0 1 1
2.3
1
0
0
1
1
0
4 1 0 0 1
2.4
1
0
0
0
1
0
3.4
0
1
0
0
0
1
2 0 1 0 0
donne C2 (A)
2 4
Où C2 (A)((1.3),(2.4)) = Det 1 1 0
3 0 1
Cr (A) est la r ieme compound matrice de A. Nous connaissons quelques propriétés classiques sur les
compound matrices [6].
Cr (Im ) = I(m
(Ik est la matrice identité de taille k)
r )
(1.5)
Cr (AB) = Cr (A)Cr (B) pour A, B ∈ Mm×m
(1.6)
−1
Cr (A)
−1
= Cr (A
) pour A ∈ GL(m, 2)
Cr (A)T = Cr (AT ) pour A ∈ Mm×m
(1.7)
(1.8)
Il existe aussi une notion de compound matrice complémentaire. Soit T ⊂ {1, . . . , m}, T c =
m
{1, . . . , m}\T . On les note C r (A) = ((−1)Σi∈T i+Σj∈S det A(T c , S c ))T,S∈Cm−r
. C r (A) est une matrice
m
m
(m
m−r ) × (m−r ) dont les lignes et les colonnes sont indicés par les éléments de Cm−r et dont l’élément
(T, S) est le cofacteur de la sous-matrice A(T, S) de A. Comme on travaille sur F2 on peut laisser de
côté (−1)(Σi∈T i+σj∈S ) . C m−r (A) satisfait les propriétés (5),(6),(7) et (8).
6
OLIVIER ANGLADA
Et de plus on a
Cr (A)C (m−r) (AT ) = (det A)I(m
r )
et
C m−r (A) = Cr ((AT )−1 )
A ∈ GL(m, 2)
P
Q
Soit f = S∈Crm aS ( i∈S Xi ) + RM (r − 1, m) ∈ RM (r, m)/RM (r − 1, m) , dont les coordonnés
P
Q
(aS )S∈Crm sont dans la base Ba(r, m) de RM (r, m)/RM (r−1, m) , et soit f c = S∈Crm aS ( i∈S c Xi )+
RM (m − r − 1, m) ∈ RM (m − r, m)/RM (m − r − 1, m) dont les coordonnés (aS )S∈Crm sont dans la
base Ba(m − r, m) de RM (m − r, m)/RM (m − r − 1, m). Alors pour A ∈ GL(m, 2), les coordonnés
de A(f ) ∈ RM (r, m)/RM (r − 1, m) dans la base Ba(r, m) sont Cr (A).(aS )S∈Crm et les coordonnés
de A(f c ) dans la base Ba(m − r, m) sont C m−r (A).(aS )S∈Crm = Cr ((AT )−1 ).(aS )S∈Crm .
On en déduit le diagramme commutatif suivant :
A
-
RM (r, m)/RM (r − 1, m)
RM (r, m)/RM (r − 1, m)
( )c
( )c
?
?
RM (m − r, m)/RM (m − r − 1, m)
(AT )−1
-
RM (m − r, m)/RM (m − r − 1, m)
Ainsi f, g ∈ RM (r, m)/RM (r − 1, m) sont dans la même GL(m, 2) − orbite ssi f c , gc ∈ RM (m −
r, m)/RM (m − r − 1, m) sont dans la même GL(m, 2) − orbite
Donc classifier RM (r, m)/RM (r − 1, m) sous l’action de GL(m, 2) revient à classifier RM (m −
r, m)/RM (m − r − 1, m) sous l’action de GL(m, 2).
3.4
FORMULE DE N(R,M)
On a n(r,m)=nombre de GL(m, 2) − orbites de RM (r, m)/RM (r − 1, m)
Le lemme de Burnside donne [7] :
n(r, m) =
1
| GL(m, 2) |
X
F(r,m) (A)
A∈Gl(m,2)
ou F(r,m) (A) =| { f ∈ RM (r, m)/RM (r − 1, m) tq A(f ) = f } |
A est une transformation linéaire de RM (r, m)/RM (r −1, m) dont la matrice est Cr (A) D’où F(r,m) =
m
)
r )
2(r )−rang(Cr (A)−I(m
Soit A1 , A2 , . . . , At un ensemble représentatif des classes conjuguées de GL(m, 2) , i.e. B ∈ [Ai ] ssi ∃G ∈
GL(m, 2) tq B = GAi G−1
Comme F(r,m) (A) est indépendant des classes conjuguées de A on a :
X
1
n(r, m) =
| [Ai ] | F(r,m) (Ai )
| GL(m, 2) |
t
i=1
=
t
X
i=1
| [Ai ] |
(Ai )
F
| GM (m, 2) | (r,m)
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
=
t
X
i=1
=
7
F(r,m) (Ai )
| CentGL(m,2) (Ai ) |
m
t
)
X
r )
2(r )−rang(Cr (Ai )−I(m
i=1
| CentGL(m,2)(Ai )|
Maintenant pour calculer n(r,m) 0 ≤ m ≤ 11 il faut faire la liste de tout les polynômes irréductibles
de F2 [X] excepté X. Puis à l’aide de ces polynômes on détermine tout les diviseurs élémentaires des
matrices de GL(m, 2) 0 ≤ m ≤ 11. Cette liste de diviseurs élémentaires donne un ensemble de
représentants A1 , A2 , . . . , At des classes conjuguées de GL(m, 2).
On obtient les résultats suivant :
Nombre de GL(m, 2) − orbite dans RM (r, m)/RM (r − 1, m) [8]
n(3, 6)
n(3, 7)
n(3, 8)
n(4, 8)
n(3, 9)
n(3, 10)
3.5
6
12
32
999
349
∼ 107
RM(3,6)/RM(2,6)
Hou s’intéresse à la distribution des poids engendrés par un ensemble de fonctions de P (m). Soit
L ⊂ P (m)(1) et s ≥ 0 on a :
as (L) =| {l ∈ L tq w(l) = s} |
Pour un fi ∈ RM (r, m)/RM (r−1, m) Hou calcule les diffeŕentes valeurs possibles de as (fi +RM (r−
1, m)), et il détermine ainsi 6 fonctions n’ayant pas les mêmes distributions de poids.
f1 = 0,
f2 = X1 X2 X3 ,
f3 = X1 X2 X3 + X2 X4 X5 ,
f4 = X1 X2 X3 + X4 X5 X6 ,
f5 = X1 X2 X3 + X2 X4 X5 + X3 X4 X6 ,
f6 = X1 X2 X3 + X1 X4 X5 + X2 X4 X6 + X3 X5 X6 + X4 X5 X6
On connaı̂t les 6 représentants des classes de RM (3, 6)/RM (2, 6) et on a même déterminé la distribution des poids engendrés par les ensembles fi + RM (2, 6) on peut donc déterminer le rayon de
recouvrement de RM (2, 6) dans RM (3, 6).
En effet, le rayon de recouvrement de RM (2, 6) est : supfi inf φ d(f, φ) (φ ∈ RM (2, 6)) et comme on
a à notre disposition la distribution des poids de toutes les fonctions de fi + RM (2, 6), on connaı̂t bien
inf φ d(fi , φ) pour chaque fi 1 ≤ i ≤ 6, on a plus qu’à prendre le plus grand de ces inf.
On constate que le rayon de recouvrement de RM (2, 6) dans RM (3, 6) vaut 18 et est atteint par
f6 + RM (2, 6).
3.6
RM(3,7)/RM(2,7)
On s’intéresse maintenant à RM (3, 7)/RM (2, 7).
Lemme
Soient f (x1 , . . . , xm ) g(x1 , . . . , xm ) ∈ RM (r, m) ⊂ RM (r, m + 1). Si f + RM (r − 1, m + 1)
et g + RM (r − 1, m + 1) sont GL(m, 2)-équivalents dans RM (r, m + 1)/RM (r − 1, m + 1) , alors
f + RM (r − 1, m) et g + RM (r − 1, m) sont GL(m, 2)-équivalents dans RM (r, m)/RM (r − 1, m).
8
OLIVIER ANGLADA
Donc grâce à ce Lemme on peut dire que si on a un ensemble de représentants des GL(m, 2)−orbites
de RM (r, m)/RM (r − 1, m) , alors cet ensemble reste significatif pour les GL(m, 2) − orbites de
RM (r, m + 1)/RM (r − 1, m + 1). Cela permet de conserver les résultats déjà obtenus.
On a déterminé les 6 représentants des classes de RM (3, 6)/RM (2, 6) et il y a 12 classes dans
RM (3, 7)/RM (2, 7), il nous reste donc plus que 6 représentants de classes à trouver. On ne peut pas
procéder comme précédemment cette fois-ci car il y a trop de fonctions à étudier. On introduit maintenant la notion d’invariant.
Ces applications vont permettre de déterminer les 6 représentants des classes manquants, on obtient :
f7 = (X1 X2 + X3 X4 + X5 X6 )X7,
f8 = X1 X2 X3 + X4 X5 X6 + X1 X4 X7 ,
f9 = X1 X2 X3 + X2 X4 X5 + X3 X4 X6 + X1 X4 X7 ,
f10 = X1 X2 X3 + X4 X5 X6 + X1 X4 X7 + X2 X5 X7 ,
f11 = X1 X2 X3 + X1 X4 X5 + X2 X4 X6 + X3 X5 X6 + X4 X5 X6 + X1 X6 X7 ,
f12 = X1 X2 X3 + X1 X4 X5 + X2 X4 X6 + X3 X5 X6 + X4 X5 X6 + X1 X6 X7 + X2 X4 X7 ,
De même que pour RM (3, 6)/RM (2, 6) on trouve le rayon de recouvrement mais pas de la même
manière, Hou ne s’intéresse plus aux distributions des poids des fonctions de fi + RM (2, 7) a cause
de leur grand nombre, il utilise des outils plus théoriques qui nous permettent de donner le rayon de
recouvrement de RM (2, 7) dans RM (3, 7) qui vaut 40 et qui est atteint pour f11 + RM (2, 8).
Comme on connaı̂t les représentants des 12 orbites, on aurait pu aussi à l’aide d’un ordinateur, calculer
le plus petit poids λi sur chaque ensemble fi + RM (2, 7) et le plus grand de ces λi est le rayon de
recouvrement.
3.7
RM(3,8)/RM(2,8)
On connait les 12 représentants de RM (3, 7)/RM (2, 7), on détermine un nouvel invariant qui nous
permettra de trouver les 20 représentants manquants . En effet, le premier invariant de Hou n’est pas
assez discriminent pour obtenir tous les représentants manquants (résultats voir [9]).
4.
LES INVARIANTS
Ce sont des applications notées Inv : RM (r, m)/RM (r − 1, m) −→ U .
Ces applications sont définies de manière à ce qu’elles respectent le fait que si f et g sont GL(m, 2)équivalents ,i.e. si ∃A ∈ GL(m, 2) tq A.f ≡ g mod RM (r − 1, m), alors Inv(f ) ≡ Inv(g) mod V.
V que l’on déterminera selon l’invariant .
4.1
LES INVARIANTS DE L’ARTICLE
Hou met en avant deux invariants dans son article . Ils sont basés sur la notion de dérivée de fonctions
booléenes .
Soit f une fonction booléene alors la dérivée de f par rapport à u , u ∈ F2 est :
∆u f = f ((x1 , x2 , . . . , xm ) + u) + f (x1 , x2 , . . . , xm ) et ∆u f ∈ RM (r − 1, m) si f ∈ RM (r, m).
Lemme
Soit 1 ≤ r ≤ m et soient f et g GL(m, 2)-équivalents tels que
f (A(x1 , x2 , . . . , xm )) ≡ g(x1 , x2 , . . . , xm ) (mod RM (r − 1, m)), avec A ∈ GL(m, 2)
Alors ∀u ∈ F2 ,
(∆uA f )(A(x1 , x2 , . . . , xm )) ≡ (∆u g)(x1 , x2 , . . . , xm ) ( mod M (r − 2, m)).
9
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
Cela provient du fait que si l’on pose h(X) = f (A(X))+g(X) , alors (∆u h)(X) = (∆uA f )(A(X))+
(∆u g)(X) et comme (∆u h)(X) ∈ RM (r−2, m) car h(X) ∈ RM (r−1, m) on a bien (∆uA f )(A(X)) ≡
(∆u g)(X) mod M (r − 2, m)
Premier invariant. Si l’on pose ΘC (f ) = {u ∈ F2 tq ∆u f + RM (r − 2, m) ∈ C} et θC (f ) =|
ΘC (f ) |, alors si f et g sont GL(m, 2)-équivalents on a θC (f ) = θC (g) avec C GL(m, 2) − orbite de
RM (r − 1, m)/RM (r − 2, m) ,i.e. les fonctions dans C sont GL(m, 2)-́equivalntes.
On définit maintenant l’application ϕ : RM (2, m)/RM (1, m) −→ S, où S est l’ensemble des matrices
m × m sur F2 , par :
0
a1,2
..
.
a1,2
0
..
.
···
···
..
.
a1,m−1
a2,m−1
..
.
a1,m
a2,m
..
.
aijXi Xj →
1≤i≤j≤m
a1,m−1 a2,m−1 · · ·
0
am − 1, m − 1
a1,m
a2,m · · · am−1,m
0
X
On s’intéresse à θCi (f ) où Ci ={F ∈ RM (2, m)/RM (1, m) tq rang(ϕ(F )) = 2i} 0 ≤ i ≤ 3, on
pose θ(f ) = (θC0 (f ), θC1 (f ), θC2 (f ), θC3 (f )),
et θCi (f ) =| {u ∈ F2 tq rang(ϕ(∆u f )) = 2i} |, 0 ≤ i ≤ 3
Si f et g sont GL(m, 2)-équivalents alors θ(f ) = θ(g)
Cet invariant nous permet de déterminer les 12 représentants des GL(7, 2)−orbites dans RM (3, 7)/RM (2, 7).
Deuxième invariant. Pour les orbites de GL(8, 2) dans RM (5, 8)/RM (4, 8) l’invariant proposé
n’est plus assez discriminent pour déterminer les 32 représentants.
On en détermine un nouveau qui, lui, utilisera les compound matrices. On procéde de la manière suivante.
Soit f une fonction booléene, Hou propose de déterminer son complémentaire f c dans RM (5, 8)/RM (4, 8).
Si f = X1 X2 X3 , alors f c = X4 X5 X6 X7 X8 , et une fois que l’on a f c on dérive f c par rapport à u et on
obtient ∆u (f c ) ∈ RM (4, 8)/RM (3, 8) et on peut représenter ∆u (f c )(X) dans la base Ba(4, 8) décrite
en (4).
De cette représentation on peut tirer une compound matrice M (∆u (f c )) de taille 28 × 28 dont
c
les
P éléments
Q a(U,V ) , avec (U, V ) tel que U ∪ V = S , sont les coefficients bS de ∆u (f )(X) =
S∈C 8 bS ( i∈S Xi ).
4
Revenons à notre exemple f = X1 X2 X3 et f c = X4 X5 X6 X7 X8 , alors si l’on dérive par rapport à X4 représenté par le vecteur u = (0, 0, 0, 1, 0, 0, 0, 0), on a ∆u (f c )(X) = X5 X6 X7 X8 donc
bS = 0 ∀ S ∈ C48 6= {5, 6, 7, 8}. Ainsi les seuls coefficients non nuls de M (∆u (f c )) sont :
a((5.6),(7.8)) a((5.7),(6.8)) a((5.8),(6.7))
a((7.8),(5.6)) a((6.8),(5.7)) a((6.7),(5.8))
On calcul le rang de M (∆u (f c )) ceci ∀u ∈ F82 , on obtient un vecteur θ2.2 (f ) = (θ0 , . . . , θ28 ) où
θi =| {u ∈ F82 tq rang(M (∆u (f c )) = i} |, 0 ≤ i ≤ 28. Ce nouveaux vecteurs va nous permettre de
trouver un représentant des différentes orbites de GL(8, 2) dans RM (3, 8)/RM (2, 8).
4.2
NOS INVARIANTS
Dans l’étude de RM (3, 9)/RM (2, 9) nous avons mis en place de nouveaux invariants. Nous nous
sommes toute fois beaucoup inspirés des invariants de Hou.
10
OLIVIER ANGLADA
Notre premier invariant. Ce premier invariant est basé sur les valeurs des rangs des matrices
ϕ(∆u (f )), défini séction (4.1.1), pour u ∈ F92 , soit f ∈ RM (3, 9)/RM (2, 9) on crée une application
Γ(f ) : F92 −→ R défini par :
Γ(f )(u) = (rang(ϕ(∆u (f ))))
Pour un f fixé dans RM (3, 9)/RM (2, 9) on calcule la transformée de Fourier, en chaque u ∈ F92 , de
Γ(f ) (on utilise une méthode appelée transformée de Fourier rapide [10]). On regroupe les valeurs dans
un vecteur de taille 29 , on trie les valeurs obtenues et on regarde la fréquence d’apparition des valeurs
non nulles pour différencier les fonctions.
Une telle technique permet de mieux différencier les fonctions qu’avec le premier invariant de Hou sur
la dérivée. En effet, ce dernier ne permettait pas de trouver les 32 représentants des orbites de GL(8, 2)
dans RM (3, 8)/RM (2, 8), alors qu’avec notre invariant, si on le replace dans le contexte m = 8, on
trouve les 32 représentants.
Gràce à ce seul invariant on arrive à trouver 335 représentants au bout de deux heures de calcul.
notre deuxième invariant. On veut essayer d’obtenir de nouveaux représentants, on met donc au
point un nouvel invariant.
Celui-ci
de compound
P
Q reprend l’idée de complémentaire et de rangP
Q matrice
associée. Soit f = S∈C 9 aS ( i∈S Xi ) ∈ RM (3, 9)RM (2, 9), on prend f c = S∈C 9 aS ( i∈S c Xi ).
3
3
On détermine la compound matrice B(f ) dont les lignes et les colonnes sont indicées par les éléments
de C39 et défini tel que b(U,V ) = aS si U ∪ V = S avec U et V ∈ C39 . Une fois que l’on a B on calcule
son déterminant et la valeur du déterminant sera notre nouvel invariant . Avec ce nouvel invariant nous
atteignons les 342 fonctions au bout de quatre heures et demi de calcul. On décide donc de trouver un
autre invariant pour déterminer les dernières fonctions manquantes.
Troisième invariant. On reprend l’idée de Hou qui est de dériver le complémentaire. On dérive
donc le complémentaire, et on détermine une compound matrice Du (f ) dont les lignes
par
P sont indicés
Q
les éléments de C29 et les colonnes par les éléments de C39 . ∆u (f c ) est de la forme T ∈C 9 aT ( i∈T Xi )
5
, donc du (f )(U,V ) = aT si U ∪ V = T avec U ∈ C29 et V ∈ C39 .
On calcule ensuite le rang de Du (f ) pour chaque u ∈ F92 , on obtient ainsi des distributions de valeurs
qui nous permettent de différencier les fonctions. On obtient malheuresement aucun nouveau résultats
malgré la débauche de moyens. On en reste donc a 342 représentants sur 349, c’est là que nous nous
sommes arrétés. On a tenté d’apporter des améliorations algorithmiques dans les différentes étapes des
calculs, en accélérant les calculs de rang, mais aucun nouveau résultat n’a été obtenu .
5.
RM(3,9)/RM(2,9)
On veut déterminer les 349 représentants des classes de RM (3, 9)/RM (2, 9) sous l’action de GL(9, 2).
On s’est donné de nouveaux invariants plus discriminants que ceux proposés par Hou , il est nécessaire
de définir une strategie d’exploration. L’espace RM (3, 9)/RM (2, 9) est bien trop gros pour pouvoir
étudier toutes les fonctions.
5.1
ALGORITHME
On décide donc de tirer au hasard f une fonction booléene homogène de degré 3 ,i.e. f∈ RM (3, 9)/RM (2, 9),
et on regarde les différentes valeurs des invariants. Si une des valeurs est différentes , c’est que cette fonction représente une nouvelle classe , on stocke donc la fonction dans une liste et a chaque fonction on lui
associe les valeurs des invariants afin de pouvoir les différencier.
Ceci jusqu’a ce que l’on ait obtenu les 349 représentants.
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
11
Algorithme
début
compteur ← n(3,9)
Liste ← vide
tant que (compteur > 0)
f ← cubique tirée au hasard
i ← inv(f)
parcourir Liste
si i nouveau alors
compteur ← compteur-1
insérer f et i dans Liste
fin si
fin tant que
fin
5.2
RÉPARTITION DES GL(9, 2) − ORBIT ES DE
RM (3, 9)/RM (2, 9)
La réussite de notre approche repose sur le fait que l’on suppose l’équirépartition des représentants des
GL(m, 2) − orbites dans l’espace RM (3, 9)/RM (2, 9) , soit l’équiprobabilité de tirer une fonction au
hasard dans une classe , ou encore l’égalité de la taille de chaque classe. La probabilité pour que f, tiree
au hasard, appartienne à la classe ci est donc de 1/349. Ainsi la probabilité pour que l’on tire au hasard
une fonction n’appartennant pas à une certaine classe cj est de 1-(1/349) soit 348/349. Et la probabilité
de tirer au hasard n fonctions n’appartenant pas à la classe cj est de (348/349)n , donc si cette probabilité
tombe en dessous de 10−12 on pourra mettre on doute l’équiprobabilité ainsi que l’équirépartition des
fonctions dans l’espace RM (3, 9)/RM (2, 9).
Déterminons n tel que :
(348/349)n ≤ 10−12
en ln(348/349) ≤ e−12 ln(10)
n ln(348/349) ≤ −12 ln(10)
or ln(348/349) < 0 car (348/349) < 1 donc
n ≥ −12 ln(10)/ln(348/349)
Soit pour n supérieur à 9630 on pourra mettre en doute l’équiprobabilité. Or dans notre étude nous
faisons beaucoup plus de 9630 tirages aléatoires sans trouver les 349 représentants. Donc on peut mettre
en doute l’équiprobabilité et supposer la non équirépartition, je dis supposer car on peut s’interroger sur
le mécanisme de tirage aléatoire de la machine.
Nous atteignons en fait les 1 000 000 tirages ce qui donne même une probabilité de 10−1246 de rater une
classe.
12
6.
OLIVIER ANGLADA
APPLICATION NUMÉRIQUE
Les 342 fonctions trouvé ainsi que le nombre de fois qu’elles apparaissent sont donnés en annexe.
Prendre 123+235 pour X1 X2 X3 +X2 X3 X5 . Nous noterons quant même que certaines classes reviennent
très souvent, il y a classes qui reviennent plus de 20000 fois :
classe du polynôme n◦ 18 : 27251
classe du polynôme n◦ 59 : 25746
classe du polynôme n◦ 29 : 23554
classe du polynôme n◦ 41 : 22723
et classe du polynôme n◦ 20 : 28064
125+127+129+156+157+158+159+235+237+247+256+258+345+346
+347+348+356+359+457+459+467+678+789+
La classe la plus difficile a obtenir est celle du polynôme suivant :
127+136+145+146+148+249+256+345+467
Celui-ci n’a pourtant pas l’air trés compliqué, mais il a fallut 1 000 000 tirage pour l’obtenir. Il y a encore
11 polynoômes qui n’ont pas été tiré plus de 10 fois . Ex : le polynôme n◦ 320 :1 2 4 + 1 2 7 + 1 2 8 + 1
3 4 + 1 5 7 + 1 6 8 + 2 3 4 + 2 3 6 + 2 7 9 + 3 4 8 + 5 7 9, n’a été tiré que 3 fois.
Les probabilités sont changées par exemple pour la classe apparaissant le plus de fois (28064 fois), celle
du polynôme n◦ 20, aura donc une probabilité de 2,8% de le tirer. Cette statistique est conforté par le
fait que la probabilité d’appariton du polynôme n◦ 20 est de 2,8% pour trois expériences différentes.
Une avec un total de 190 000 tirages aléatoires, une autre avec 240 000 tirages et enfin la dernière nous
permettant d’obtenir les 342 fonctions avec 1 000 000 tirages. Alors que les polynômes tirés moins de
10 fois ont une probabilité de tirage de l’ordre de 5.10−3 %.
7.
CONCLUSION
Nous avons pû déterminer 342 sur les 349 représentants souhaités, avec une étude spécifique de
ces 342 fonctions on pourrait donner une évaluation du rayon de recouvrement de RM (2, 9) dans
RM (3, 9). Nous avons aussi rassemblé des informations sur la répartition des classes d’équivalance
de RM (3, 9)/RM (2, 9) par rapport a GL(9, 2), on a pû constater une grande différence au niveau de la
fréquence d’ apparition de certaines classes d’équivalence. On peut imaginer que les classes apparaissant
le plus fréquemment et celles apparaissant le moins fréquemment ont des propriétés particulières, peut
être que les fonctions apparaissant peu de fois s’approche des fonctions hautement non linéaires.
Notre travail a consisté en majeur partie a bien assimiler les résultats apportés par Hou, déterminer des
invariants pertinants, implanter ces invariants dans le programme et optimiser toutes sortes de calculs
(calcul de rang , de dérivée etc..) de manière à ce que le programme soit le plus rapide possible.
Enfin en étudiant et en comparant les poids de ces 342 fonctions on peut avoir des candidats pour les
fonctions permettant le masquage des clefs utilisateur dans les techniques de chiffrement ”au fil de l’eau”.
Ceci en prenant les fonctions ayant un poids minimun le plus grand possible , i.e. s’éloignant le plus possible du code de REED & MULLER .
Références
[1] O.S. Rothaus On bent functions. Journal of Combinatorial Theory (A),20 :300-305, 1976.
[2] J.F. Dillon Elementary Hadamard Difference Sets .PhD Thesis, Univesity of Maryland, 1974.
[3] James A. Maiorana , A classification of the cosets of the Reed-Muller code mathcalR(1, 6) ,Mathematics of computation , 57(195) , July 1991.
[4] Xiang-dong Hou , GL(m, 2) Acting on RM (r, m)/RM (r − 1, m) , Discrete Mathematics 149 p
99-122 , 1996
[5] J.H.M. Wedderburn , Lecture on Matrices, p. 105 AMS Colloquium Publications VOL.XVII , 1934
[6] J.H.M. Wedderburn , Lecture on Matrices,chapitre V AMS Colloquium Publications VOL.XVII ,
1934
Etude des différantes orbites de RM(3,9)/RM(2,9) sous l’action de GL(m, 2)
13
[7] N.L. Biggs and A.T. White, Permutation Groups and Combinatorial Structures Théorème 1 .2.5
(Cambridge Univ. Press, 1979)
[8] Xiang-dong Hou , GL(m, 2) Acting on RM (r, m)/RM (r − 1, m), Table 1 p.112, Discrete Mathematics , 1996
[9] Xiang-dong Hou , GL(m, 2) Acting on RM (r, m)/RM (r − 1, m), Table 3 p.121, Discrete Mathematics , 1996
[10] Philippe Langevin , Habilitation à diriger des recherches, p.12 I.13, Université de Toulon , 01/1999
2
ÉTUDE ET ÉVALUATION DE
MODÈLES DE DIFFUSION
Sébastien Aperghis-Tramoni
Sous la direction de Traian Muntean, Léon Mugwaneza, Stéphane Rivas
Laboratoire d’Informatique de Marseille
Résumé
Les communications collectives dans les réseaux généraux prennent une importance croissante avec le développement
accéléré des technologies liées aux réseaux à très grande échelle comme l’Internet, et liées aux systèmes embarquées. Dans ce contexte, ce mémoire examine les critères d’évaluation des méthodes de diffusion d’information.
Dans la première partie de ce mémoire, nous proposons un bilan des différentes sémantiques de communications globales existantes sous la forme d’une typologie. Nous classons ainsi les différentes opérations
sémantiques en fonction de leur schéma de communication collective. Dans la deuxième partie, nous présentons
les techniques de diffusion par multicast, ainsi que différents critères d’évaluation des algorithmes de diffusion,
tels que le délai de communication, le diamètre de routage ou la complexité.
Mots-clefs : critères d’évaluation, multicast, techniques de diffusion
Remerciements
Je tiens à remercier toutes les personnes qui ont contribué au bon
déroulement de mon mémoire de DEA. Je remercie mon directeur de recherche Traian Muntean pour la confiance qu’il m’a accordée, ainsi que les autres membres de l’équipe de recherche pour
l’aide qu’ils m’ont donnée, Léon Mugwaneza, Stéphane Rivas, Javier Garmendia.
1.
INTRODUCTION
Pour répondre à la demande sans cesse croissante en performances des applications informatiques,
la recherche en la matière se fait simultanément sur deux fronts : d’un côté le matériel est poussé vers
une miniaturisation et une vitesse toujours plus accrues, de l’autre on améliore les algorithmes, les compilateurs, les systèmes d’exploitation afin qu’ils optimisent l’utilisation des possibilités offertes par le
matériel. Les techniques de distribution des calculs, tant sur des réseaux d’ordinateurs que dans des machines parallèles, résultent de la conjonction des travaux menés depuis quelques dizaines d’années sur
les problèmes de parallélisation.
Un important axe de recherche est le domaine des communications mettant en jeu des groupes de
processus. Cette problématique est apparue dans les applicatifs tournant sur des machines parallèles, en
particulier les calculs scientifiques lourds, tels que les calculs en matière de météorologie, mécanique des
fluides ou mécanique quantique ; ce type d’applications nécessitent que les différentes unités de calculs
15
16
SÉBASTIEN APERGHIS-TRAMONI
soient en mesure de s’échanger entre elles les données et les résultats. Ce problème de communication
collective se retrouve à l’identique pour les applications qui s’exécutent sur des clusters distribués, la
principale différence étant simplement le temps d’accès au médium physique. La communication en
groupe apparaı̂t donc comme une question cruciale, l’unique moyen de coopérer pour des processus
s’exécutant sur des processeurs physiquement séparés étant de s’échanger des informations.
Différentes sémantiques existent, répondant aux besoins des logiciels applicatifs en matière de communications collectives. Ces dernières années, le développement accéléré des technologies liées aux
réseaux et aux systèmes embarqués a renforcé ce besoin de communications en groupes, et plus particulièrement celles offrant une sémantique de communication de type ¡¡ un vers plusieurs ¿¿, que l’on
qualifie de techniques de diffusion. Les protocoles de communication répondant à ce type de besoins
portent le nom générique de multicast.
Aux phases de conception et de validation des modèles de communication succède l’implantation
de ces modèles dans le noyau de communication du système distribué. Des tests et des évaluations
expérimentales autorisent alors des comparaisons entre différents modèles de communication ou entre
différentes implantations d’un même modèle. Le développement de tels travaux se poursuit dans dans
notre équipe de recherche depuis quelques années, que ce soit au niveau de la communication point à
point [M UGWANEZA 1993, AUSSAGUES 1995, ] ou de la diffusion [R IVAS 1999b, G ARMENDIA 2000,
]. Nous proposons dans ce mémoire d’étudier l’évaluation de modèles de communications globales, et
plus particulièrement de certains protocoles mis au point au sein de notre équipe de recherche.
La suite de ce mémoire est organisée comme suit : dans la section 2., nous décrivons une classification
possible des sémantiques de communications collectives. Nous présentons ensuite différentes techniques
de diffusion dans la section 3., puis différents critères d’évaluation en section 4.. Enfin nous concluons
et présentons des perspectives de recherches.
2.
SCHÉMAS DE COMMUNICATION COLLECTIVE
Les besoins des logiciels applicatifs en matière de communications globales étant assez variés, différentes
sémantiques existent afin d’offrir des solutions adaptées.
Bien que les besoins puissent grandement varier suivant les applications, on constate qu’on peut
répondre à une grande partie d’entre eux avec une dizaine de sémantiques différentes. Nous allons
présenter quelques unes d’entre elles dans la suite.
2.1
SÉMANTIQUES USUELLES
Unicast . L’unicast est l’opération sémantique élémentaire : elle correspond à une communication
directe entre un processus émetteur et un processus récepteur. Cette communication peut se réaliser de
manière synchrone ou asynchrone. Dans le premier cas, cela se traduit par l’établissement d’un canal
de communication entre les deux processus, dans le second cas, par l’envoi du message vers son unique
destination.
Broadcast . Le broadcast est l’opération de diffusion la plus simple : elle consiste à envoyer le même
message à tous les processus accessible sur le réseau (voir figure 2.1). Cette diffusion peut s’effectuer
de manière synchrone comme dans BSP [G EHANI 1984, ] ou de manière asynchrone comme dans CSP
[H OARE 1978, ]. Cette opération est aussi considérée comme une barrière de synchronisation dans le
broadcast de la bibliothèque CCL [BALA 1994, ].
Multicast . L’opération multicast peut être vue comme un broadcast avec un granularité plus fine :
le message n’est envoyé qu’à un ensemble de destinataires, ceux-ci pouvant être connus à l’avance ou
non. Cette opération peut s’effectuer de manière synchrone ou asynchrone, mais c’est cette dernière
sémantique qui est le plus souvent utilisée. On peut noter qu’un multicast dont l’ensemble des destinataires est égal à l’ensemble des nœuds du réseau est équivalent à un broadcast.
17
Étude et évaluation demodèles de diffusion
1
1
2
2
...
...
N
N
Figure 2.1 – Opération broadcast : diffusion d’une même information à l’ensemble des processus du réseau.
Scatter . L’opération scatter est une opération où un processus découpe une information en plusieurs
parties, et les distribue de manière non-uniforme à un ensemble de destinataires, c’est-à-dire que chaque
processus destinataire reçoit une donnée différente (voir figure 2.2). Cette sémantique est typiquement
utilisée pour répartir sur plusieurs machines un calcul qui autrement serait trop long à effectuer sur une
seule machine à cause de la taille des données à traiter.
1
1
...
2
2
...
...
N
N
Figure 2.2 – Opération scatter : répartition non-uniforme d’une information sur plusieurs processus.
Gather . L’opération gather permet à un processus de rassembler des données provenant d’un ensemble de processus émetteurs vers un unique processus destination (voir figure 2.3) : chacun envoie une
donnée au processus destinataire qui peut ainsi reconstituer l’information complète.
Reduction M/N . L’opération de réduction correspond à une sémantique très générique où des
données, dispersées sur un ensemble de M processus, sont rassemblés en un point où on leur applique
un calcul. Le résultat de ce calcul est ensuite redistribué de manière uniforme ou non-uniforme suivant
la sémantique précise désirée (voir figure 2.4). Cette sémantique impose par définition une barrière de
synchronisation : le calcul ne peut avoir lieu qu’un fois que tous les processus ont envoyé leur donnée, et
ces derniers ne peuvent continuer leur exécution sans avoir leur résultat.
18
SÉBASTIEN APERGHIS-TRAMONI
1
1
...
2
2
...
...
N
N
Figure 2.3 – Opération gather : compilation des données provenant
d’un ensemble de processus.
1
1
Opération
calculatoire
globale
2
...
...
N
2
N
Figure 2.4 – Opération de réduction : application d’un calcul à un
ensemble de données répartie sur le réseau, et redistribution du
résultat.
Prefix . L’opération prefix est une opération assez complexe où on applique en parallèle un même
calcul à des données provenant d’un ensemble croissant de processus. Chaque opération de calcul peut
être vue comme une réduction M/N où N = 1, le résultat n’étant envoyé qu’à un seul destinataire (voir
figure 2.5). Pour les mêmes raisons que la réduction, cette sémantique impose aux processus une barrière
de synchronisation.
All-to-All Broadcast . L’opération all-to-all broadcast peut être vue comme un broadcast généralisé :
il n’y a plus un seul émetteur, mais un ensemble de processus, chacun envoyant sa donnée de manière
uniforme aux autres processus (voir figure 2.6). Cette sémantique impose une certaine synchronisation,
dans la mesure où les processus doivent tous en être au même point de leur exécution pour permettre à
la fois la transmission de leur donnée et la réception les données des autres processus.
Complete Exchange . L’opération complete exchange ressemble partiellement à l’opération allto-all broadcast (voir figure 2.7), mais elle en diffère en ceci que les données ne sont pas envoyées à tous
les destinataires de manière uniforme. On peut voir cette sémantique comme la composition d’un scatter
et d’un gather appliqués à tous les processus.
19
Étude et évaluation demodèles de diffusion
1
1
2
2
...
...
Opérations
calculatoires
globales
N
N
Figure 2.5 – Opération prefix : calculs s’exécutant en parallèle sur
des parties d’un même ensemble de données.
1
1
...
2
2
...
...
...
N
N
...
Figure 2.6 – Opération all-to-all broadcast : envoi et réception simultanés de données depuis et vers des ensembles de processus.
2.2
TYPOLOGIE
Malgré leurs différences intrinsèques, on peut établir une typologie de ces sémantiques en fonction de
leur schéma de communication collective.
On définit un schéma de communication collective comme une opération de communication entre un
nombre M de processus initiateurs et un nombre N de processus destinataires distribués sur un réseau de
machines. On entend ici par ¡¡ réseau de machines ¿¿ aussi bien un réseau d’ordinateurs interconnectés
qu’un réseau de processeurs dans une machine parallèle.
À partir de cette définition, nous pouvons naturellement établir notre typologie en fonction du nombre
de processus entrant en œuvre à l’émission et à la réception des messages.
– 1 −→ 1 : communication directe entre un unique processus émetteur et un unique processus
récepteur
– 1 −→ N : un unique processus émetteur envoie des données à un ensemble de processus destinataires
– M −→ 1 : un ensemble de processus émetteurs envoie des données à un unique processus récepteur
– M −→ N : un ensemble de processus émetteurs envoie des données à un ensemble de processus
récepteurs
20
SÉBASTIEN APERGHIS-TRAMONI
1
1
...
...
2
2
...
...
...
...
N
N
...
...
Figure 2.7 – Opération complete exchange : envoi et réception
simultanés et non-uniformes de données depuis et vers des ensembles de processus.
Cette typologie est comme on le voit très générique, mais elle n’a pas pour objectif d’établir un classement strict et cloisonné. Son rôle est pluôt d’offrir des points de repères ; ainsi nous pouvons regrouper
les différentes sémantiques que nous avons exposés en fonction de leur schéma de communication collective, comme on le voit sur la figure 2.8.
Schémas de communications collectives
1 −→ 1
1 −→ N
M −→ 1
M −→ N
Unicast
Broadcast
Multicast
Scatter
Gather
Reduction
Prefix
All-to-All Broadcast
Complete Exchange
Opération de communication globale
portant une sémantique
Figure 2.8 – Schémas et sémantiques de communications collectives
Nous obtenons ainsi une vision générale des différentes sémantiques de communications globales qui
existent. Cette étude nous permet aussi de constater des relations hiérarchiques de complexité entre ces
différentes opérations : on a ainsi vu que l’opération complete exchange peut être vue comme la composition des sémantiques scatter et gather appliquée à l’ensemble des processus participants. Cette observation est intéressante, car cela offre la perspective de pouvoir réaliser les implantations des sémantiques
les plus complexes en composant les implantations des sémantiques plus simples. Bien sûr, cela n’est
rentable, en terme de complexité d’implantation et d’efficacité, que si les implantations sur lesquelles on
se base sont très efficaces.
2.3
ALGORITHMES DE ROUTAGE
L’implantation pratique des sémantiques de communication collective passe par des algorithmes de
routage, qui ont pour rôle de déterminer la manière la plus appropriée pour acheminer le ou les messages
considérés jusqu’à leur(s) destination(s). Suivant la sémantique, il peut s’agir du même message qu’il
faut envoyer à plusieurs destinataires ou de plusieurs messages différents, chacun destiné à un nœud en
particulier.
Étude et évaluation demodèles de diffusion
21
Suivant leur nature, ces algorithmes de routages s’appuient sur des fonctions de routages point-àpoint correctes, ou au contraire ils sont directement capables de router les messages à travers le réseau
d’interconnexion.
3.
LE SCHÉMA 1 −→ N : LA DIFFUSION MULTICAST
Nous allons maintenant étudier de manière plus détaillée les techniques de diffusion dont la sémantique
s’inscrit dans le cadre du schéma 1 −→ N , que nous nommerons de manière générique multicast.
L’opération de broadcast est alors considérée comme un cas particulier de multicast où l’ensemble des
destinataires est égal à tous les nœuds du réseau.
La principale raison pour laquelle nous faisons le choix d’approfondir plus particulièrement l’étude
sur les techniques de multicast est que beaucoup d’applications actuelles sont basées sur des modèles
de communication de type multicast, et elles sont appelées à être de plus en plus nombreuses. En effet,
avec le développement de l’Internet et des technologies embarquées se profile un besoin croissant de
techniques de communications collectives, et plus particulièrement de diffusion de l’information.
La diffusion est ici comprise comme une technique permettant de faire se propager une information
introduite dans le réseau vers le plus de destinataires possibles. Plus précisément, on veut aussi disposer
d’une méthode de contrôle de cette diffusion afin de spécifier quels sont les destinataires qui doivent
réellement être atteints, et ainsi de limiter l’encombrement du réseau.
3.1
TAXONOMIE DES TECHNIQUES MULTICAST
Nous pouvons établir une taxonomie des techniques de diffusion multicast en fonction de divers
critères :
– la dépendance à la topologie ; certaines techniques de diffusion ne s’appliquent que sur des topologies particulières, généralement régulières, comme la grille, le tore ou l’hypercube. C’est le cas
par exemple des algorithmes U-Mesh [M C K INLEY 1995, ] ou EDN [M C K INLEY 1994, ] qui sont
spécifiques à la topologie en grille. D’autres par contre sont générales et ne dépendent pas a priori
de la topologie du réseau sous-jacent. C’est par exemple le cas des techniques d’inondation.
– la tolérance aux pannes, aux malfonctionnements de nœuds, aux encombrements ou à la saturation
de liens. Assez typiquement, les techniques de diffusion qui dépendent d’une topologie donnée sont
assez sensibles aux pannes.
– la caractéristique déterministe ou adaptative de la technique de diffusion, c’est-à-dire savoir si
elle est intrinsèquement limitée à ne calculer qu’une seule route ou si elle fournit naturellement
plusieurs routes possibles. Là encore on constate une corrélation assez forte avec la dépendance à
la topologie, les techniques de diffusion ne s’appuyant pas sur un a priori topologique sont plus
naturellement adaptatives.
– la qualification des destinataires, c’est-à-dire savoir si tous les destinataires doivent être explicitement nommés ou si au contraire ils peuvent être désignés de manière anonyme, sans même qu’on
connaisse leur nombre exact. Ce dernier cas correspond aux algorithmes de Multicast utilisés sur
l’Internet [G ONCALVES 1999, ].
– l’homogénéité de l’algorithme : les nœuds se comportent-ils tous de manière identique ou au
contraire certains nœuds ont-ils des rôles particuliers ?
3.2
EXEMPLES D’ALGORITHMES DE MULTICAST
Le principe général des techniques de multicast est de construire un arbre de diffusion sur lequel on
peut ensuite faire circuler les messages. Nous présentons ici les deux principaux algorithmes de multicast
tels qu’ils sont utilisés dans les réseaux généraux, et plus particulièrement sur l’Internet. Nous présentons
aussi un algorithme qui, s’il n’est pas à proprement parler un mécanisme de communication de diffusion,
utilise par contre une technique de diffusion d’information pour la mise à jour de ses tables de routage.
Inondation . Les techniques d’inondation sont les plus simples algorithmes de routage, et cela
constitue donc la manière la plus facile d’implanter un algorithme de multicast. L’arbre de diffusion
est dans ce cas le réseau tout entier.
22
SÉBASTIEN APERGHIS-TRAMONI
Voici un exemple d’algorithme d’inondation :
1. un nœud reçoit un message possédant une adresse de multicast ;
2. il détermine si c’est la première fois qu’il a reçu ce message ;
3. si c’est la première fois qu’il a reçu ce message, il l’émet sur
tous ses liens de sortie sauf le lien depuis lequel il l’a reçu ;
4. sinon, il jette le message.
Si elles sont simples à implémenter, les techniques de diffusion par inondation présentent par contre
plusieurs inconvénients : elles ne se comportent pas bien à plus grande échelle, utilisent tous les liens
d’interconnexion disponibles et génèrent un très grand nombre de messages inutiles. En particulier, le
nombre de messages en double augmente avec la taille du réseau. Enfin, elles nécessitent de maintenair
un table des paquets récemment reçus, ce qui utilise de manière peu efficace la mémoire des routeurs.
Arbres de recouvrement . L’objectif des techniques basées sur la construction d’un arbre de recouvrement est de minimiser le nombre de liens d’interconnexion utilisés pour transmettre les messages.
Le principe est qu’un message qui doit être reçu par les membres d’un groupe multicast va simplement
être émit à la racine de l’arbre et qu’il est ensuite transmis jusqu’aux feuilles ; on réalise une simple
inondation sur la topologie virtuelle de l’arbre de diffusion. Cela garantit que le message est envoyé à
tous les destinataires, tout en utilisant un nombre réduit de liens d’interconnexion.
La méthode générale de construction de l’arbre consiste donc à déterminer un nœud racine et à calculer
les coûts des chemins depuis cette racine.
Plusieurs algorithmes existent, suivant le manière qu’on décide d’adopter pour la création et l’utilisation de l’arbre de diffusion.
Reverse-Path Multicasting.. RPM est un algorithme qui construit un arbre de diffusion pour
chaque paire émetteur-groupe multicast, cet arbre étant tronqué des sous-réseaux ne comprenant pas de
membre du groupe multicast. L’arbre de diffusion est régulièrement rafraı̂chi en réalisant de temps en
temps une inondation complète. Les sous-réseaux ne possédant pas de membre du groupe multicast le
signalent et sont à nouveau retiré de l’arbre de diffusion.
Cette dernière caractéristique peut présenter des problèmes pour des réseaux de grande échelle. Par
ailleurs, cette technique nécessite que chaque routeur conserve en mémoire les informations de routage
pour chaque émetteur et chaque groupe, ce qui peut poser des problèmes si leur nombre devient trop
grand.
Core-Based Trees.. L’algorithme CBT construit un unique arbre de diffusion qui est partagé par
tous les émetteurs et récepteurs. La diffusion d’un message se fait donc en envoyant ce message vers la
racine de l’arbre de diffusion, qui initie l’inondation de la topologie virtuelle de l’arbre.
Le principal avantage de cet algorithme est de n’utiliser qu’un seul arbre de diffusion, ce qui limite la
quantité d’informations que les routeurs doivent retenir. Par ailleurs, cette technique présente un comportement plus favorable que les autres à grande échelle. Par contre on observe une importante concentration
du trafic autour de la racine étant donné que les messages empruntent tous le même ensemble de liens
d’interconnexion pour accéder à la racine. Cette augmentation du trafic peut engendrer des congestions
du réseau, ce qui implique que l’algorithme CBT peut ne pas applicable pour des applications tempscritique, les temps de transmission pouvant augmenter considérablement.
Π-routage . L’algorithme du Π-routage est un algorithme permettant l’acheminement des communications entre processus mobiles [G ARMENDIA 2000, ]. Il n’est pas en lui-même un algorithme de diffusion, mais il utilise pour mettre à jour les tables de routage un algorithme de diffusion par inondation
contrôlée. Cet algorithme de diffusion se comporte comme une technique d’inondation classique, mais
en se limitant à un zone limitée. Chaque nœud, lors de la réception d’un message, compare la donnée
reçue avec ses données locales :
– si les données sont identique, le message est ignoré et n’est pas diffusé ;
Étude et évaluation demodèles de diffusion
23
– si les données sont complètement différentes, le nœud enregistre la donnée reçue en local et la
diffuse à tous ses voisins ;
– si les données ne sont que partiellement différentes, le nœud met à jour ses propres données lcoales
en fonction de la donnée reçue, puis il diffuse le message à certains de ses voisin.
Cette dernière condition correspond à la frontière de la diffusion, et c’est donc elle qui permet d’éviter
que la diffusion s’étende sur tout le réseau.
4.
LES CRITÈRES D’ÉVALUATION
Pour comparer les différents algorithmes de routage que nous avons exposé, nous présentons ici plusieurs critères d’évaluation. Tous ces critères ne poursuivent pas les mêmes buts, mais ils permettent
d’évaluer, ou du moins d’estimer, le comportement des algorithmes de routage en fonction de la topologie du réseau d’interconnexion ou du type d’opération que l’on compte implanter.
Notation : Soit un réseau de graphe G = (V, E), V représente l’ensemble des nœuds et E l’ensemble
des liens point-à-point du réseau. la distance entre deux nœuds x et y est la plus petite longueur des
chemins entre x et y, et on la note d(x, y).
On associe à ce graphe une fonction de routage R, qui permet de définir une distance de routage,
notée dR (x, y), que l’on défini comme le minimum des longueurs des chemins de routage entre x et y
4.1
LE DÉLAI DE COMMUNICATION.
Le délai de communication d’un message dans un réseau est le temps que met ce message pour aller
d’un nœud source jusqu’à un nœud destination. On peut décomposer ce délai comme dans [N I 1993, ]
pour avoir une meilleure granularité :
Tcom = Tstart−up + Tnetwork + Tblock
– Tstart−up est le temps passé à l’injection du paquet dans le réseau et à sa délivrance à destination ;
– Tnetwork est le temps que le paquet passe dans le réseau entre le moment où son en-tête entre dans
celui-ci et où ses données finales en sortent ;
– Tblock est le temps dû aux congestions, en particulier dû aux conflits d’accès aux ressources.
En pratique, Tstart−up dépend principalement de la connectique physique, ce qui diminue son intérêt ici.
Tnetwork et Tblock permettent quant à eux d’étudier le réseau sous un double aspect : Tnetwork représente
la caractéristique statique du réseau, dépendant de sa topologie et de la fonction employée, alors que
Tblock représente sa caractéristique dynamique.
En réalité, il est clair que ce critère constitue l’information la plus pertinente que l’on désire obtenir sur
un algorithme de routage. Mais évaluer directement ce critère est très complexe à cause de sa dépendance
de l’architecture matérielle, mais aussi de conditions dynamiques comme le trafic réel ou les congestions.
On tente donc d’obtenir des estimations de cette donnée en utilisant d’autres critères que nous allons
présenter.
4.2
LE DIAMÈTRE DE ROUTAGE.
On définit le diamètre de routage comme le maximum de la longueur des chemins acceptés par la
fonction de routage entre des nœuds quelconques du réseau.
Ce critère peut être mis en rapport avec le diamètre de routage du réseau (qui est la distance maximale entre deux nœuds quelconques) afin de voir l’incidence d’une topologie donnée sur la fonction de
routage, notamment sur les chemins les plus longs.
4.3
LA DISTANCE MOYENNE INTER-NœUDS.
Par opposition au diamètre de routage qui permet d’étudier les chemins de routage dans les cas
extrêmes, la distance moyenne inter-nœuds permet d’étudier les cas moyens, normalement plus courants. L’idée sous-jacente de ce critère est de calculer le nombre moyen de nœuds intermédiaires par
24
SÉBASTIEN APERGHIS-TRAMONI
lesquels un message devra passer pour atteindre sa destination.
X
DR,G
DistM oy =
d.φ(d)
d=1
où φ(d) est la probabilité qu’un message traverse d liens. Le choix de la fonction de probabilité φ dépend
du modèle de distribution des messages dans lequel on se place [R EED 1992, ].
La distance moyenne inter-nœuds apparaı̂t comme équivalente à la longueur moyenne des chemins de
routage dans le réseau, et permet donc d’estimer de manière approchée le délai moyen nécessaire pour
la transmission de bout-en-bout d’un message dans le réseau.
4.4
LE NOMBRE DE NœUDS IMPLIQUÉS.
Le nombre de nœuds impliqués est une donnée assez importante qui donne une indication de l’occupation effective du réseau ; plus précisément, cela permet d’obtenir une estimation des ressources du réseau
qui ont été utilisées pour effectuer la diffusion.
On peut introduire une granularité supplémentaire en distinguant les nœuds qui participent à l’initialisation de la diffusion et les nœuds qui participent à la diffusion proprement dite. Cette distinction est
important car les algorithmes de diffusion par arbre de recouvrement par exemple passent d’abord par
une phase d’initialisation où tous les nœuds du réseau sont impliqués ; mais à la fin de cette phase d’initialisation, l’algorithme a pu construire son arbre de diffusion, et pour la suite, les seuls nœuds impliqués
sont les branches et les feuilles de l’arbres de diffusion.
4.5
LA PROFONDEUR DE L’ARBRE DE DIFFUSION.
L’arbre de diffusion décrit l’enchaı̂nement des communications qui se sont effectuées. L’intérêt d’un
tel arbre est de modéliser le déroulement des communications lors d’une opération de diffusion, et surtout
d’évaluer le nombre d’étapes nécessaires pour atteindre toutes les destinations. La profondeur de l’arbre
de diffusion permet donc d’obtenir une bonne estimation du temps total d’exécution de l’opération de
diffusion.
4.6
LE NOMBRE DE MESSAGES CRÉÉS
Le nombre de messages créés permet l’efficacité de l’algorithme de routage par rapport à la topologie
du réseau d’interconnexion. Grâce à ce critère, on peut en particulier déterminer le nombre de doublons
créés inutilement par l’algorithme de routage, mais qui ont tout de même été transmis et ont ainsi inutilement occupé les ressources du réseau.
4.7
LA COMPLEXITÉ.
La complexité de calcul, tant en temps de calcul qu’en taille des informations nécessaires, est un critère
dont l’importance devrait devenir de plus en plus grande dans les années à venir avec les technologies
embarquées. En effet, les algorithmes destinés à être utilisés sur des systèmes embarquées (par exemple
les JavaCards) doivent tenir compte des faibles capacités en terme de puissance de calcul et de mémoire
typiques de ce type de systèmes.
5.
CONCLUSION
Ce mémoire abordait l’étude et l’évaluation de modèles de diffusions. Après avoir présenté quelques
unes des opérations de communications collectives les plus courantes, nous avons proposé un classement
de ces opérations en fonction de leur schéma de communication globale. Nous nous sommes ensuite plus
particulièrement intéréssés aux opérations portant une sémantique de diffusion, et plus spécifiquement
les algorithmes de multicast. Nous avons enfin présenté différents critères d’évaluation du comportement
des algorithmes de diffusion.
Étude et évaluation demodèles de diffusion
25
Nous avions prévu à l’origine de réaliser en pratique ces évaluations sur quelques algorithmes de
diffusion, comme l’inondation et le protocole de mise à jour du Π-routage, en utilisant un double projet développé par des élèves de l’ESIL. Ce projet, réalisé en Java et utilisant la technologie des agents
mobiles mise au point par IBM, a pour but de fournir un plate-forme expérimentale de simulation de
réseaux généraux. Néanmoins, des problèmes techniques nous ont empêchés de mener à bien ce travail
d’évaluation en grandeur nature de protocoles de diffusion.
Comme perspective, nous souhaiterions terminer la plate-forme de simulation car il existe actuellement très peu d’outils de ce type, et beaucoup possèdent des limitations contraignantes. Un tel outil
nous permettrait de pouvoir réaliser des simulations grandeur nature du fonctionnement des algorithmes
de diffusion, et ainsi observer leur comportement en fonction de la topologie et de la taille du réseau
d’interconnexion. Il faudrait aussi ajouter une gestion de temps afin de pouvoir évaluer de manière plus
directe le temps de transmission d’un message de bout en bout.
Par ailleurs, cette plate-forme de simulation offre la possibilité de tester le comportement dynamique
du protocole de communication en présence de processus mobiles, c’est-à-dire de processus qui peuvent
se déplacer d’un nœud du réseau à un autre. Cette fonctionalité originale pour une plate-forme de simulation rend cet outil extrêmement utile pour la mise au point de protocoles de communications collectives
pour processus mobiles.
Références
[AUSSAGUES 1995]
[BALA 1994]
[B ONONI 1998]
[D ESPONS 1996]
[G ARMENDIA 2000]
[G EHANI 1984]
[G ONCALVES 1999]
[H OARE 1978]
[J OHNSON 1997]
[M C K INLEY 1994]
[M C K INLEY 1995]
Christophe AUSSAGU ÈS. Evaluation de Mécanismes de Communication dans
les Machines Massivement Parallèles. Mémoire de DEA, Université de la
Méditerranée, juin 1995
Vasanth BALA, Alex H O, Jehoshua B RUCK, Ching-Tien H O, Robert C YPHER,
Shlomo K IPNIS, Pablo E LUSTONDO et Marc S NIR. CCL : A Portable and
Tunable Collective Communication Library for Scalable Parallel Computers.
IEEE Computer, 1994
Alberto B ONONI et Paul R. P RUCNAL. Analytical Evaluation of Improved Access Techniques in Deflection Routing networks. IEEE/ACM Transactions on
Networking, vol. 4 (no 5), octobre 1998
Robert D ESPONS. Conception d’une Machine Virtuelle pour les Systèmes Parallèles à Diffusion. PhD thesis, Institut national polytechnique de Grenoble,
Grenoble, décembre 1996
Javier G ARMENDIA, Stéphane R IVAS, Léon M UGWANEZA et Traian M UN TEAN . Π-routage : une technique d’acheminement des communications pour
processus mobiles. 12es Rencontres Francophones du Parallélisme, Besançon,
19 – 22 juin 2000
Narain H. G EHANI. Broadcasting Sequential Processes (BSP). IEEE Transactions on Software Engineering, vol. SE-10, No 4, pp. 343–351, juillet 1984
Marcus G ONCALVES et Kitty N ILES. IP Multicasting. McGraw Hill, 1999
C. Antony R. H OARE. Communicating Sequential Processes. Communications
of the ACM, vol. 21, No 8, août 1978
Vicki J OHNSON et Marjory J OHNSON. Introduction to IP Multicast Routing. IP Multicast Initiative White Paper, 1997, http ://www.ipmulticast.com/community/whitepapers/introrouting.html
Philip K. M C K INLEY et Yih-Jia T SAI. An Extended Dominating Node Approach to Collective Communication in All-Port Wormhole-Routed 2D Meshes.
IEEE Computer, 1994
Philip K. M C K INLEY, Yih-Jia T SAI et David F. ROBINSON. Collective Communication in Wormhole-Routed Massively Parallel Computers. IEEE Computer No 28 (12), pp. 39–50, décembre 1995
26
[M UGWANEZA 1993]
[N I 1993]
[R EED 1992]
[RFC 2501]
[RFC 2357]
[R IVAS 1999a]
[R IVAS 1999b]
[R IVAS 2000]
[S EMERIA 1997]
[T SENG 1993]
[Z UNZER 1998]
SÉBASTIEN APERGHIS-TRAMONI
Léon M UGWANEZA. Contrôle des Communications dans les Machines Parallèles à Mémoire Distribuée. PhD thesis, Institut national polytechnique de
Grenoble, novembre 1993
Lionel M. N I et Philip K. M C K INLEY. A survey of wormhole routing techniques
in direct networks. IEEE Computer, vol. 26 (no 2), 1993
Daniel A. R EED et Richard M. F UJIMOTO. Multicomputer Networks Messagebased Parallel processing, chapter 2 : Analytic Models of Interconnection networks. Scientific Computation, The MIT Press (Scientific Computation Series),
1992
M. Scott C ORSON et Joseph P. M ACKER. Mobile Ad hoc Networking (MANET) : Routing Protocol Performance and Evaluation Considerations. Request
for Comments 2501, janvier 1999
Allison M ANKIN, A. ROMANOV, S. B RADNER et Vern PAXSON. IETF Criteria for Evaluating Reliable Multicast Transport and Application Protocols.
Request for Comments 2357, juin 1998
Stéphane R IVAS, Léon M UGWANEZA et Traian M UNTEAN. Une application
optimisée d’un routage adaptatif pour réseaux généraux. 11es Rencontres Francophones du Parallélisme, Rennes, 8 – 11 juin 1999
Stéphane R IVAS. Communication adaptative dans les réseaux généraux. PhD
thesis, Laboratoire d’Informatique de Marseille, novembre 1999
Stéphane R IVAS, Javier G ARMENDIA, Léon M UGWANEZA et Traian M UN TEAN . Compact and Correct Adaptative Routing for General Networks. CNDS
2000, San Diego (USA), janvier 2000
Chuck S EMERIA et Tom M AUFER. Introduction to IP Multicast Routing. 3Com
Networking Solutions, 1996
http ://www.3com.com/nsc/501303.html
Yu-Chee T SENG et Dhabaleswar K. PANDA. A Trip-Based Multicasting Model
for Wormhole-routed Networks with Virtual Channels. Seventh International Parallel Processing Symposium, Newport Beach, California, 13 – 16 avril 1993
Andreas Z UNZER. Multicast Routing Protocols. Juin 1998
http ://www.cosy.sbg.ac.at/˜azunzer/multicast/referat.html
3
CONNECTIVITÉ DANS LES GRAPHES DE BASES DE
MATROÏDES
Jean-Marc BATTY
Sous la direction de Victor CHEPOI
Laboratoire d’Informatique de Marseille – site Nord
Résumé
1.
Après un rappel des concepts utiles, la notion de graphe des bases d’un matroı̈de est présentée en privilégiant
l’étude des géodésiques qui relient deux quelconques de ses points. Il est ensuite montré comment la notion
de matroı̈de balancé, introduite par T. FEDER et M. MIHAIL, induit des propriétés globales de connectivité
qui permettent de justifier la recherche de cheminements aléatoires, garantissant l’équiprobabilité de toutes les
bases et présentant un temps de mixage borné. Il deviendrait alors possible de définir une méthode d’estimation
du nombre des bases d’un matroı̈de.
INTRODUCTION
Depuis son introduction par WHITNEY [1] en 1935, la notion de matroı̈de a vu son importance croı̂tre
dans le domaine de l’Informatique Algorithmique. Elle intervient dans bien des problèmes d’optimisation
et joue un rôle unificateur de nombreuses théories (matrices, graphes, combinatoire, ...). Considérée
comme structure combinatoire discrète, elle a été l’objet de maints travaux et recherches et soulève
toujours de nombreuses questions.
La nature même des problèmes nécessitant l’exploitation des propriétés de cette structure, en a suggéré
plusieurs approches (circuits, rang, bases, clôture, dualité, mineurs, ...) dont l’équivalence a été prouvée.
Cependant, lorsqu’on sait identifier un matroı̈de, l’évaluation de sa taille (nombre de ses bases par
exemple) est souvent complexe et peut nécessiter une estimation basée sur un processus aléatoire.
Pour y parvenir , il a paru indispensable de se pencher sur l’étude du graphe des bases dont l’intérêt
a été souligné par J.EDMONDS [2] et de privilégier des hypothèses globales quant à ses propriétés de
connectivité par rapport aux propriétés locales, trop dépendantes de la nature même du matroı̈de étudié
(graphique, vectoriel, ...).
L’articulation du graphe des bases a particulièrement bien été décrite par S.MAURER [5][4] qui a relevé un certain nombre de propriétés caractéristiques tandis que d’autres auteurs, en particulier M. MIHAIL, M. SUDAN, T. FEDER [5] [6] ont développé des hypothèses globales de connectivité visant à
caractériser de grandes classes de matroı̈des.
En particulier, le lien qui a pu être établi entre l’observance d’une ”condition de ratio” (Toute fraction
α des bases contenant un élément e est adjacente à, au moins, la même fraction α des bases ne contenant
pas e) et la propriété d’expansion (Pour toute bipartition de l’ensemble des sommets, le nombre d’arêtes
incidentes aux deux parties est au moins aussi grand que le cardinal de la plus petite partie) a renforcé
l’intérêt porté au graphe des bases d’un matroı̈de, d’autant que l’introduction de la notion de ”balanced
matroid” que nous nommerons, faute de mieux, ”matroı̈de balancé”, a mis en évidence une grande classe
de matroı̈des, observant cette condition de ratio.
L’objet de ce mémoire est de faire le point sur ces travaux : l’exposé s’appuie sur un rappel des
principales approches de la notion de matroı̈de, suivi d’une description de son graphe des bases. Il reprend ensuite l’examen du lien entre ”conditions de ratio” et ”propriété d’expansion”, se poursuit avec
27
28
JEAN-MARC BATTY
la définition de la classe des ”matroı̈des balancés” et se termine avec quelques notions relatives aux
processus de Markov qui permettraient d’aboutir à des estimations quantitatives.
2.
MATROÏDES - NOTIONS GÉNÉRALES
2.1
DÉFINITIONS
d’après [7]
Définition 1 (Matroı̈de) Étant donné un ensemble fini non vide E et une famille I de sous-ensembles
de E, on dit que le couple M = (E, I) est un matroı̈de si :
(I1 ) φ ∈ I;
(I2 ) J1 ∈ I ∧ J2 ⊆ J1
⇒
J2 ∈ I
(I3 ) ∀J1 , J1 ∈ I, |J1 | < |J2 | ⇒ ∃e ∈ J2 − J1 , J1 ∪ {e} ∈ I
(axiome d’hérédité);
(axiome d’échange).
Définition 2 (Rang) Soit E un ensemble fini et r une application de 2E dans N telle que :
(R1 ) X ⊂ E
=⇒ 0 ≤ r(X) ≤ |X|;
(R2 ) X ⊂ Y ⊂ E =⇒ r(X) ≤ r(Y );
(R3 ) ∀X, Y ⊂ E, r(X ∪ Y ) + r(X ∩ Y ) ≤ r(X) + r(Y ) (Propriété de sous-modularité).
I étant la famille des sous-ensembles de E telle que I = {X, X ⊂ E ∧ r(X) = |X|}, on montre que
(E, I) est un matroı̈de et on dit que ”r” est sa ”fonction de rang”.
Définition 3 (Libres - Bases - Rang) On appelle ”libres” ou ”sous-ensembles indépendants” de E, les
éléments de I et ”bases”, les libres maximaux (qui ne sont contenus dans aucun autre). On montre que
toutes les bases ont la même cardinalité appelée ”rang” du matroı̈de. Un sous-ensemble de E qui n’est
pas libre est dit ”dépendant”.
Un matroı̈de peut tout aussi bien être défini directement par ses bases :
Définition 4 (Matroı̈de défini par ses bases ) Un matroı̈de est un couple M = (E, B) où E est un
ensemble fini et B une famille de sous-ensembles de E telle que :
(B1 ) B 6= φ;
(B2 ) ∀B1 , B1 ∈ B, ∀x ∈ B1 − B2 , ∃y ∈ B2 − B1 , B1 − {x} + {y} ∈ B (axiome d’échange).
Cette définition est équivalente aux précédentes, I étant la famille de tous les sous-ensembles des
éléments de B.
Étant données deux bases (B1 , B2 ) de B, l’axiome d’échange peut s’appliquer à l’une comme à l’autre
et on démontre qu’il existe toujours un couple (x, y) de (B1 − B2 ) × (B2 − B1 ) dont l’un des éléments
est arbitraire, qui réalise un échange symétrique :
[Dualité ] Si (B1 , B2 ) sont deux bases :
∀x ∈ B1 − B2 , ∃y ∈ B2 − B1 , B1 − {x} + {y} et B2 − {y} + {x} sont des bases.
Remarque 1 Si B1 ∆B2 = {x, y, a, b}, avec x, y ∈ B1 et a, b ∈ B2 , il y a au moins 2 bases
intermédiaires formées à partir de B1 − {x} et de B1 − {y} qui, en admettant que a s’échange avec x et
b avec y, sont : B10 = B1 − {x} + {a} = B2 − {b} + {y} et B20 = B1 − {y} + {b} = B2 − {a} + {x}.
Si à {x} peut être associé à n’importe lequel des éléments de {a, b}, on obtient trois ou quatre bases
intermédiaires selon le nombre des éléments de {a, b} associés à {y}.
Définition 5 (Circuits) On appelle circuit d’un matroı̈de M = (E, I), un sous-ensemble de E dépendant,
minimal par inclusion.
Propriété caractéristique Soit C une famille de sous-ensembles de E. Cette famille est la famille des
circuits d’un matroı̈de si, et seulement si :
(C1) φ ∈
/ C;
(C2) ∀C1 , C2 ∈ C, C1 ⊂ C2
(C3) ∀C1 , C2 ∈ C, e ∈ C1 ∩ C2
=⇒ C1 = C2 ;
=⇒ ∃C3 ∈ C, C3 ⊂ (C1 ∪ C1 ) − {e}.
29
B1
(y
B1
,
(y
(x
,
a)
B10
)
,b
(x,
b)
(x
,
a)
a)
B”1
b)
x)
B2
(y, a)
(x
,
B2
(y
B1
,
(y
B10
b)
(y
,
)
,b
B20
)
,b
(x,
b)
(y, a)
(x
,
a)
B20
(y, a)
B”1
(a, b)
a)
(y
,
(y
(x
,
(a, b)
B20
x)
Connectivité dans les graphes de bases de matroı̈des
B”2
(x,
(x
,
a)
B2
b)
,
(y
b)
B10
Figure 3.1 – Les trois possibilités de connexion de 2 bases séparées par 2 pivots.
Les libres de ce matroı̈de forment la famille I des sous-ensembles de E qui ne contiennent aucun
élément de C.
Définition 6 (Hyperplan - Coupe ) Une base B privée de l’un de ses éléments est nommée ”hyperplan”. Si H = B − {e} est un hyperplan, on appelle ”coupe associée”, le sous-ensemble D de E − H
tel que ∀f ∈ D, H + {f } ∈ B·
Définition 7 (Matroı̈de dual) Si M = (E, B) est un matroı̈de, on montre que M∗ = (E, B ∗ ) défini par
B ∗ = {B 0 = E − B, ∀ B ∈ B}, est un matroı̈de qu’on appelle ”dual” de M.
Les bases de M∗ sont appelées co-bases de M et vice-versa. On vérifie aisément que (M∗ )∗ = M.
Il peut enfin être intéressant d’aborder la notion de ”sous-matroı̈de”. L’une des approches, particulièrement
adaptée aux possibilités de mouvance de l’ensemble de base E,est la notion de mineur.
Définition 8 (Suppression d’un élément de E ) Soit M = (E, I) un matroı̈de et soit x un élément de
son ensemble de base E. La famille I − x obtenue en supprimant x de E et de tous les éléments de I
conduit à un nouveau matroı̈de noté M\x.
Cela se vérifie aisément au moyen des axiomes (I1 ) − (I3 ). On peut, en supprimant l’un après l’autre
tous ses éléments, supprimer un sous-ensemble X de E et on notera M\X le nouveau matroı̈de.
Définition 9 (Contraction d’un élément de E ) On peut, de la même manière, supprimer un élément
y ∈ E du dual M∗ . Le dual (M∗ \y)∗ du matroı̈de obtenu sera noté M/y et, plus généralement, M/Y
pour un sous-ensemble Y de E.
Définition 10 (Mineur d’un matroı̈de ) Si M est un matroı̈de construit à partir de l’ensemble E, on
appelera ”mineur de M”, le nouveau matroı̈de obtenu en supprimant ou contractant certains éléments
de E. Peut importe l’ordre : M/Y \X=M\X/Y .
A noter qu’un mineur voit son rang diminué par rapport au matroı̈de de départ.
2.2
EXEMPLES DE MATROı̈DES
Les quatre exemples donnés ci-dessous illustrent les deux définitions équivalentes d’un matroı̈de (matroı̈de dédini par ses libres ou par ses bases) et serviront surtout de référence pour comprendre les
problèmes liés à l’étude de la connectivité dans les ”graphes des bases d’un matroı̈de” M.
Exemple 1 : Matroı̈de vectoriel de rang 3 : M1 . Considérons l’ensemble E formé des 6
vecteurs suivants :
a1 = (1, 0, 0) b1 = (0, 1, 0) c1 = (0, 0, 1)
a2 = (2, 0, 0) b2 = (0, 2, 0) c2 = (0, 0, 2)
Les 8 sous-ensembles de E définis par (ijk) = {ai , bj , ck } avec i, j, k ∈ {1, 2} forment l’ensemble B
des bases d’un matroı̈de M = (E, B) de rang 3.
Exemple 2 : Matroı̈de uniforme M2 . Soit E un ensemble de n éléments : le couple (E, B)
formé avec B, ensemble des parties de E, de cardinalité p, est un matroı̈de qualifié d’uniforme ou de
30
JEAN-MARC BATTY
3
4
5
1
2
Figure 3.2 – Exemple de graphe, support d’un matroı̈de graphique de rang 3.
4
3
4
3
5
5
M00
1
2
1
M0
2
6
6
7
7
8
8
M4
Figure 3.3 – Illustration de la somme directe de deux matroı̈des graphiques : M4 = M0 + M00 .
complet, dont le rang est p, ayant B pour ensemble des bases. Il y en a
n!
n
|B| =
=
p
p!(n − p)!
Les libres sont tous les sous-ensembles de E de cardinalité inférieure ou égale à p.
Exemple 3 : Matroı̈de graphique de rang 3 M3 . Soit E un graphe non orienté formé des 5
arêtes (1, 2, 3, 4, 5) comme le montre la figure. Considérons l’ensemble I des arbres (arêtes ne formant
aucun cycle). M3 = (E, I) est un matroı̈de de rang 3 dont l’ensemble des 8 bases est
B = {(1, 2, 4), (1, 2, 3), (1, 3, 4), (2, 3, 4), (1, 5, 3), (2, 5, 4), (1, 4, 5), (2, 3, 5)}.
Les ensembles (1, 2, 5) et (3, 4, 5) ne sont pas des bases car ils sont des cycles.
Exemple 4 : Matroı̈de graphique de rang 5 (M4 ). Reprenons le graphe qui précède et
ajoutons lui un nouveau graphe adjacent formé de 3 nouvelles arêtes (6, 7, 8). Le matroı̈de obtenu M4
a des bases qui sont la réunion des bases de deux matroı̈des partiels M0 et M”. On dira qu’il en est la
”somme directe”.
3.
GRAPHE DES BASES D’UN MATROÏDE
Dans toute la suite, sauf spécification contraire, on utilisera la définition d’un matroı̈de à partir de ses
bases.
Définition 11 (Graphe des bases) Le graphe G des bases d’un matroı̈de M = (E, B) est le graphe dont
les sommets sont les éléments de B et les arêtes les couples (A, B) de B tels que |A ∆ B| = 2.
Toutes les bases de B ayant la même cardinalité r, la différence symétrique ∆ de deux éléments de B est
nécessairement un nombre pair.
On désignera par la suite, de la même manière, les éléments de B et les sommets de G puisque ces deux
ensembles sont en bijection.
Pivot d’échange : Une arête (A, B) de G est caractérisée par l’équivalence
|A∆B| = 2 ⇔ ∃a ∈ (A − B) et ∃b ∈ (B − A), A∆B = {a, b}.
Connectivité dans les graphes de bases de matroı̈des
31
Les bases (A, B) s’échangent alors grace au pivot (a, b) puisque A = B − {a} + {b}
et B = A − {b} + {a}. La symétrie de traitement de A et B se voit mieux en écrivant :
∃ (a, b) ∈ A × B, A − {a} = B − {b}.
Pour exprimer l’existence de ce pivot permettant l’échange, on écrira aussi :
(A, B) ∼ (a, b) ou (B, A) ∼ (b, a) (attention à l’ordre).
Définition 12 (Distance dans G) Soit G le graphe des bases d’un matroı̈de M = (E, B). On appelle
distance l’application d de G 2 dans N définie par : ∀(A, B) ∈ G 2 , d(A, B) = 12 |A∆B|. On vérifie
que :
- d est symétrique
d(A, B) = d(B, A) ;
- d est positive non nulle
d(A, B) ≥ 0 et d(A, B) = 0 ⇒ A = B ;
- d satisfait à l’inégalité triangulaire d(A, B) + d(B, C) ≥ d(A, C).
Les deux premières propriétés sont évidentes. L’inégalité triangulaire résulte des remarques qui suivent :
(D1)
|A ∪ B| + |A ∩ B| = |A| + |B| = 2r
Donc : |A∆B| = |A ∪ B| − |A ∩ B| = 2(|A ∪ B| − r) = 2(r − |A ∩ B|)
Et : d(A, B) = |A ∪ B| − r = r − |A ∩ B| (r est le rang)
(D2)
0 ≤ |A ∩ B| ≤ r et r ≤ |A ∪ B| ≤ n avec n = |E|
⇒
0 ≤ d(A, B) ≤ min{r, n − r}.
(D3) Preuve de l’inégalité triangulaire : Soient 3 points ( bases) A, B, C.
Posons D = d(A, B) + d(B, C) − d(A, C) = (r − |A ∩ B|) + (r − |B ∩ C|) − (r − |A ∩ C|)·
Alors D = r + |A ∩ C| − |A ∩ B| − |B ∩ C|,
D = |B| + |A ∩ C| − |A ∩ B| − |B ∩ C| car |B| = r ,
D = |B − (A ∪ C)| + |A ∩ C| − |A ∩ B ∩ C| car |B| = |B − (A ∪ C)| + |A ∩ B| + |B ∩ C| − |A ∩ B ∩ C|,
D≥0
car (A ∩ C) ⊃ (A ∩ B ∩ C). ♦
[Chemins de G : ] Si A et B sont deux points de G, l’axiome d’échange (B2 ) appliqué à A et à l’un
quelconque des éléments x de (A − B), permet de trouver un nouveau point A1 tel que
∃a ∈ B − A, A1 = A − {x} + {a} ∈ G
On remarque alors que A∆B = A1 ∆B + {x, a} et donc que d(A1 , B) = d(A, B) − 1.
Il est ainsi possible, de proche en proche, de trouver un ensemble {(AA1 ), (A1 A2 ), ...(Aδ−1 B)} d’arêtes
de G joignant A à B pour construire un chemin allant de A à B et dont la longueur, en raison de l’algorithme de construction choisi, est justement la distance δ = d(A, B).
On peut donc toujours trouver un chemin de longueur 12 |A∆B| entre deux points quelconques A, B de
G.
Définition 13 (Géodésiques de G) Une géodésique joignant deux points est le plus court chemin entre
ces deux points.
Propriété caractéristique : Un chemin joignant deux points A et B est une géodésique, si, et seulement
si, sa longueur est égale à la distance δ = d(A, B) entre ces deux points.
On a déjà vu qu’il est toujours possible, et cela de plusieurs manières, de trouver entre A et B un chemin de longueur δ = d(A, B). Il ne peut pas y avoir de chemin plus court, passant par un point C par
exemple, en raison de l’inégalité triangulaire.
Si on pose A0 = A − B = {x1 , x2 , ..., xδ } et B 0 = B − A = {a1 , a2 , ..., aδ }, une géodésique joignant A et B va être caractérisée par une succession de pivots {(xi1 , ai1 ), (xi2 , ai2 ), ..., (xiδ , aiδ )}, donc
par une permutation de A0 = A − B = {x1 , x2 , ..., xδ } (il y en a δ!) associée à une permutation de
B 0 = B − A = {a1 , a2 , ..., aδ } (il y a au moins 1 possibilité et au plus δ!, lorsque que chaque xi peut
être associé à tout aj )
Le nombre N[A,B] de géodésiques reliant A à B est donc compris dans [δ!, (δ!)2 ].
Deux géodésiques distinctes ont au moins un sommet intermédiaire distinct, donc au moins deux arêtes
32
JEAN-MARC BATTY
distinctes.
Définition 14 ( Communs Voisins ) Si deux points (B1 , B2 ) sont à la distance 2 l’un de l’autre, on
appelle ”Communs Voisins” l’ensemble des points intermédiaires M tels que d(B1 , M ) = d(B2 , M ) =
1.
On a vu qu’il en existait 2, 3 ou 4 et S. MAURER [5] a montré qu’un tel système de Communs Voisins,
dans le cas d’un matroı̈de, est toujours un carré, une pyramide ou un octahédron (cf Fig 1) et qu’il s’agissait là, si elle est vraie pour tout couple de points, d’une propriété caractéristique du graphe des bases
d’un matroı̈de.
Définition 15 (Segments ) Soient deux points (A, B) de G. On appelle segment [A, B], l’ensemble des
points (extrémités comprises) qui composent les géodésiques reliant A à B. On dira que δ = d(A, B)
est sa longueur.
Définition 16 (Point entre A et B ) On dira qu’un point M est ”entre A et B” si
d(A, M ) + d(M, B) = d(A, B).
Il est bien évident qu’un tel point, pour lequel l’inégalité triangulaire est une égalité, se trouve sur une
géodésique reliant A à B.
Caractérisation de l’intérieur de [A, B] En termes ensemblistes, vu la bijection entre bases et points
du graphe des bases, un segment de longueur δ peut être défini par :
[A, B] = {M ∈ B, M = A ∩ B + A0 + B 0 , A0 ⊂ (A − B), B 0 ⊂ (B − A), |A0 | + |B 0 | = δ}.
Propriétés
1 - Un segment [A, B], considéré comme l’ensemble des bases associées aux points qui le composent,
est un matroı̈de.
En effet, l’axiome d’échange du matroı̈de M = (E, B) dont sont extraits A et B, appliqué à deux
points de [A, B]
M1 = {A ∩ B + A01 + B10 , A01 ⊂ (A − B), B10 ⊂ (B − A)} et
M2 = {A ∩ B + A02 + B20 , A02 ⊂ (A − B), B20 ⊂ (B − A)},
va échanger un élément de M1 − M2 = (A01 − A02 ) + (B10 − B20 ) contre un élément de M2 − M1 =
(A02 − A01 ) + (B20 − B10 ). Cet échange se fait donc bien entre (A − B) et (B − A), ce qui garantit
la fermeture de [A, B] pour cet axiome d’échange.
2 - Longueur maximum : Si |E| = n et si le rang de M est r, la longueur maximum d’un segment
[A, B] est min{r, (n − r)}.
Cette longueur est δ = d(A, B) = 12 × |A∆B| = 12 × [|A ∪ B| − |A ∩ B|],
On a vu (D1) que δ = |A ∪ B| − r = r − |A ∩ B|.
Si r ≤ n2 , il est possible d’avoir A ∩ B = φ, alors δ = r,
Si r > n2 , A ∩ B 6= φ et |A ∪ B| ≤ n < 2r, alors δ prend la valeur maximum (n − r). ♦
3 - Convexité : Un segment [A, B] est un ensemble convexe.
Rappel - Convexité : On dit qu’un ensemble C est convexe si, étant donnés deux points quelconques M1 , M2 de cet ensemble, tout point entre M1 et M2 est dans l’ensemble C.
La convexité d’un segment [A, B] se déduit de (1) et de la définition de son intérieur : les points
entre M1 et M2 sont aussi dans [A, B].
33
Connectivité dans les graphes de bases de matroı̈des
B
M
U
M2
U
N
M1
G
A
Figure 3.4 – Rapport de coupe d’un segment de G
Il en résulte que l’intersection de deux segments (qui n’est en général pas un segment) est un ensemble convexe. Les ensembles, Be formé des bases contenant un élément particulier e ∈ E, et
Be , formd́es bases ne le contenant pas, sont aussi des ensembles convexes.
4 - Expansion de coupe : Soit G = (V, E) un graphe quelconque, ayant V pour sommets et E pour
arêtes. Soit (U, U = V − U ) une bipartition quelconque de l’ensemble de ses sommets et soit
C(U ) = {(u, v) ∈ E, u ∈ U, v ∈ U } la coupe associée, l’expansion de coupe de G est définie
par :
min
U ⊂V
|C(U )|
.
min(|U |, |U |)
Vis à vis du sous-ensemble U de G, le rapport
|C(U )|
min(|U |,|U|)
est son rapport de coupe.
[Rapport de coupe d’un convexe de G ] Un sous-ensemble propre convexe U du graphe G(M)
des bases d’un matroı̈de a un rapport de coupe minimum de 1.
Preuve : Soit U sous-ensemble propre convexe de G et U = G − U son complémentaire (U 6= φ
car U
G). Tous les points de U peuvent être reliés, par une géodésique, à au moins un point
de U . En appelant d(M, U ) = min{d(M, N ), N ∈ U }, on remarque que, de tous les points de
U situés à une distance 1 de U , part au moins une arête de la coupe. Si un point M de U est à
la distance 2 de U , soit N ∈ U tel que d(M, N ) = 2. Les communs voisins de M et N forment
au moins un carré et il existe au moins 2 points intermédiaires M1 et M2 qui sont dans U . Mais
alors [M1 , M2 ] est un segment qui est un sous-ensemble convexe de U et N , qui fait partie de ce
segment, ne peut pas être hors de U , ce qui est une contradiction. Donc U ne possède aucun point
à distance 2 de U et ne peut donc pas en possèder à une distance supérieure. On a donc bien au
moins autant d’arêtes distinctes qui partent de U que de points dans U . ♦
En particulier, un segment de G a un rapport de coupe minimum de 1, ainsi que Be et Be ·
Remarque 2 Tous les points d’un segment sont en quelque sorte à sa surface puisque toujours à la
distance 1 de l’extérieur.
Il peut être intéressant de classer les points intérieurs de [A, B] en sous-ensembles rassemblant les points
situés à une distance déterminée des extrêmités. Par exemple les points M tel que d(A, M ) = k. D’où
l’idée d’une stratification de [A, B] en ”niveaux” ou ”strates” Uk .
Définition 17 (Stratification) Soit [A, B] un segment de longueur δ, on définit les (δ+1) sous-ensembles
suivants, appelés ”strates de niveau k” :
∀k ∈ {0, 1, ..., δ}, Uk = {M, M ∈ [A, B] ∧ d(A, M ) = k}.
34
JEAN-MARC BATTY
Bien évidemment, on constate que U0 = {A} et Uδ = {B} et, si on note :
A = A ∩ B + A0 avec A0 = A − B et |A0 | = δ,
B = A ∩ B + B0 avec B0 = B − A et |B0 | = δ,
tout point M de Uk s’écrit :
M = A ∧ B + A0 + B 0 avec A0 ⊂ A0 , B 0 ⊂ B0 , |A0 | = k et |A0 | + |B 0 | = δ.
On notera (a, b, c, a1 , ...) les éléments de B0 et (x, y, z, x1 , ...) ceux de A0 en remarquant, pour la bonne
compréhension de la suite, qu’un déplacement de A vers B correspond à la perte d’un x et au gain d’un a .
Propriétés de la stratification
1 - Nombre d’éléments dans une strate
δ
k
≤ |Uk | ≤
δ
k
2
δ
Il y a en effet
manières de choisir un sous-ensemble A0 de A0 de cardinalité k et au plus
k
δ
δ
=
de lui associer un sous-ensemble B 0 de B0 de cardinalité (δ − k).
δ−k
k
2 - Voisinage Pour tout point M de Uk , on peut trouver un point N de Uk tel que d(M, N ) ≤ 2.
En effet, si M 0 est un successeur de M dans Uk+1 , on a une relation du type
M 0 = M − {x} + {a}. Un chemin de M 0 vers A qui conserve a va traverser Uk en N tel que
N = M 0 + {b} − {y} avec b 6= a. Donc M ∆N ⊃ {a, b, x, y} et d(M, N ) = 2 si x 6= y ou
d(M, N ) = 1 si x = y.
3 - Éloignement Si k ≥ 2, pour tout point M de Uk , on peut trouver un point N de Uk tel que
d(M, N ) ≥ 2.
En effet k ≥ 2 implique que ∃(a, b) ∈ A0 − A0 . Un chemin partant de A conservant (a, b) perce
Uk en N tel que N − M ⊃ {a, b} donc d(M, N ) ≥ 2.
Remarque : Non-convexité - Une strate n’est, en général, pas convexe.
Soient M et N deux points de Uk tels que d(M, N ) = 2, on a deux possibilités :
- ou bien M et N diffèrent par des éléments de même nature, soit de A0 soit de B0 : M ∆N =
{a1 , a2 , b1 , b2 } avec a1 , a2 ∈ B0 ∩ M et b1 , b2 ∈ B0 ∩ N par exemple. L’axiome d’échange
appliqué à M, N va associer un élément de {b1 , b2 } à un élément de {a1 , a2 } et conduire à un
point intermédiaire obligatoirement dans Uk ,
- ou bien M et N diffèrent par des éléments mixtes de A0 et B0 : M ∆N = {a1 , x1 , b1 , y1 } avec
a1 ∈ B0 ∩ M , x1 ∈ A0 ∩ M , b1 ∈ B0 ∩ N et y1 ∈ A0 ∩ N . L’axiome d’échange appliqué à
M, N échange un élément de {a1 , x1 } contre un élément de {b1 , y1 }. Si le point intermédiaire est
M − a1 + y1 , il n’est pas dans Uk . ♦
Conséquence : Jonction de deux points d’une même strate A - Si deux points de Uk sont distants de 1 ou de 2, on peut, pour les relier, soit trouver un chemin
dans Uk , soit trouver un chemin de longueur 2 passant, au choix, par Uk−1 ou par Uk+1 .
B - Soient M et N deux points quelconques de Uk dont la distance est δ0 . Si ces points ne
diffèrent que par des éléments de A0 seul ou de B0 seul, toutes les géodésiques qui les
relient échangent entre eux les éléments de M − N et de N − M qui sont tous dans un seul
des deux ensembles A0 ou B0 : les trajets restent donc tous dans Uk . Si ces éléments sont
mixtes, les uns dans A0 , les autres dans B0 , on peut, pour se rapprocher de N , selon le choix
de l’élément de M à éliminer (soit dans M ∩ A0 soit dans M ∩ B0 ), rester dans Uk , ou, si
on se retrouve dans Uk+1 , revenir à Uk . Deux points de Uk peuvent donc toujours être reliés
par une géodésique qui ne sort pas de Uk ∪Uk+1 , l’un des deux derniers points étant dans Uk .
35
Connectivité dans les graphes de bases de matroı̈des
B
(a −
b)
(b − a)
Uδ−1
Uk+1
M0
P
Uk
M
Uk−1
M” Q
N0
N
N”
A
Figure 3.5 – Les successeurs ou prédécesseurs de 2 points voisins
4 - Bipartition d’une strate : Soit S un sous-ensemble de Uk , et {S, S 0 = Uk − S} la bipartition
associée de Uk . Il existe un point M de S et un point M 0 de S 0 tels que d(M, M 0 ) ≤ 2.
En effet Uk étant un ensemble fini, il en est de même de S, S 0 et S × S 0 . L’application d (distance),
de S × S 0 dans N conduit à un sous-ensemble fini d(S × S 0 ) de N qui est minoré par 1. Il admet
donc une borne inférieure δ0 qu’il prend effectivement :
∃(M, N ) ∈ S × S 0 , d(M, N ) = δ0 .
Si δ0 ≤ 2, la propriété est bien vérifiée.
Si δ0 > 2, il existe une géodésique reliant M à N , toute entière dans Uk ∪ Uk+1 , telle que l’un des
points de rang (δ-2) ou (δ-1) est dans Uk . ♦
5 - Distance entre strates La distance minimum entre deux points, l’un de Uk et l’autre de Uk0 , est
|k − k0 |. Cette distance minimum entre points de Uk et Uk0 est appelée distance entre strates et
notée d(Uk , Uk0 ).
Preuve En supposant k0 ≥ k, on peut remarque que, pour tout point M2 de Uk0 , une géodésique
(M2 , A) coupe Uk en un point M1 tel que k0 = d(M2 , A) = d(M2 , M1 )+d(M1 , A) = d(M2 , M1 )+
k et que s’il existait un point M10 de Uk plus proche de M2 que M1 , la distance de A à M2 serait
plus courte que k0 . ♦
6 - ”Largeur” d’une strate La distance entre deux points d(M1 , M2 ) d’une même strate Uk est comprise dans [1, min{2k, 2(δ − k)}].
Preuve
- On a déjà observé que la distance minimum entre deux points de Uk est 1 ou 2.
- Deux points de Uk s’écrivent :
M1 = A ∩ B + A01 + B10 avec |A01 | = k et |B10 | = δ − k, A01 , A02 ⊂ A00 ,
M2 = A ∩ B + A02 + B20 avec |A02 | = k et |B20 | = δ − k, B10 , B20 ⊂ B00 .
Alors d(M1 , M2 ) = 12 |M1 ∆M2 | = 12 [|A01 ∆A02 | + |B10 ∆B20 |].
La distance est maximum si chaque terme de cette somme l’est :
- Si k ≤ 2δ , A01 et A02 peuvent être disjoints et |A01 ∆A02 | = 2k, tandis que B10 et B20 de cardinal
(δ − k) ont, au moins, (δ − 2k) éléments communs, donc, au mieux, |B10 ∆B20 | = 2k et alors le
maximum de d(M1 , M2 ) est 2k.
- Si k ≥ 2δ , les mêmes conclusions s’obtiennent en inversant les rôles de k et (δ − k). La distance
maximum est alors 2(δ − k). ♦
7 - Successeurs et Prédécesseurs de deux points voisins Si 2 ≤ k ≤ δ2 , deux points voisins d’un
même niveau Uk admettent, sur le niveau suivant Uk+1 et sur le précédant Uk−1 , à la fois, deux
successeurs distincts et un successeur commun.
Preuve : Supposons que M − {a} = N − {b} avec a, b ∈ B0 .
Remarquons d’abord qu’une géodésique reliant M à A et abandonnant a perce Uk−1 en un point
Q = M − {a} + {x} et que ce point Q est aussi voisin de N puisqu’alors Q = N − {b} + {x}.
36
JEAN-MARC BATTY
(e, e)
(e, e)
A
Be
Γe (A)
A
Γe (A)
Be
Be
Be
Figure 3.6 – Connexions dans Ge
• Si δ − k ≥ 2, les géodésiques joignant B à M et N peuvent être classées en trois catégories :
- celles qui joignent B à M , qui conservent a et qui abandonnent b dès le niveau Uδ−1 : elles
percent Uk+1 en au moins un point M 0 qui contient a mais non b (on peut avoir Uδ−1 = Uk+1 ).
- celles qui joignent B à N , qui conservent b et qui abandonnent a dès le niveau Uδ−1 : elles
percent Uk+1 en au moins un point N 0 qui contient b mais non a.
- celles qui joignent B à M , qui conservent {a, b} jusqu’au niveau Uk−1 en abandonnant les
(k − 1) éléments de B ∩ (M − {a}) : elles percent Uk−1 en au moins un point P qui contient
{a, b} et dont la distance à M est 1. On peut alors écrire P = M + {b} − {x} puisque M doit
conserver b. Mais alors ce point P vérifie aussi P = N + {a} − {x} puisque la seule différence
entre M et N porte sur {a,b}.
On a ainsi trouvé sur Uk+1 , donc du côté de B les trois successeurs recherchés.
• Si k ≥ 2, les géodésiques partant de M conservant a et celles partant de N conservant b, percent
Uk−1 en des points M” et N” qui différent par {a, b} au moins. On a vu par ailleurs qu’il existe un
point Q de Uk−1 ne contenant pas d’élément de {a, b}.
On procèderait à l’identique en inversant les rôles joués par A et B, k et δ−k si M −{x} = N −{y}
avec {x, y} ⊂ A On remarque enfin que si M ∆M 0 = {z, x}, x, z, a ∈
/ N , donc d(N, M 0 ) ≥ 2
(idem pour d(M, N 0 ) ≥ 2). ♦
Dans le cas particulier où k = 1 ou bien δ − k = 1, les trois points recherchés se confondent
puisque Uk−1 = U0 = {A} ou Uk+1 = Uδ = {B}.
4.
RATIO DE CONNECTIVITÉ
Soit M = (E, B) un matroı̈de défini par ses bases. Soit e ∈ E, un élément particulier de E. Les bases
(éléments de B donc points de G) peuvent être classées en deux catégories : l’ensemble Be de celles
qui contiennent e et l’ensemble Be de celles qui ne contiennent pas e. Considérons le sous-graphe bipartite Ge (M)=G(Be , Be , E) du graphe G(M) des bases de M, obtenu en ne conservant que les arêtes
correspondant à un pivot qui contient e : toutes ses arêtes joignent un point de Be à un point de Be . Ce
graphe contient, par ailleurs, tous les sommets de G, chacun étant point de départ d’au moins une arête,
car, ∀M ∈ Be , ∀N ∈ Be , ∃(géodésique) ∈ [M, N ]. Il suffit de considérer un chemin qui quitte M en
abandonnant e, reliant ainsi M à un point de Be et son dual qui quitte N en prenant e, reliant ainsi N à
un point de Be , pour constater que M et N sont bien des sommets de Ge (M) .
Notons alors que tout point M ∈ Be a ses voisins dans Be et vice-versa. Cela reste vrai pour tout sousensemble A de Be qui a ses voisins (ensemble noté Γe (A) ) dans Be .
Définition 18 (Ratio de connectivité ) On dit qu’un matroı̈de M(E, B) satisfait à ses ratios de connectivité si :
∀e ∈ E, ∀A ⊂ Be ,
|Γe (A)|
|A|
≥
|Be |
|Be |
∀e ∈ E, ∀A ⊂ Be ,
|Γe (A)|
|A|
≥
|Be |
|Be |
37
Connectivité dans les graphes de bases de matroı̈des
|A|
|Be | des
Ce qui signifie que Toute fraction
|Γ(Ae )|
|Be |
5.
5.1
bases contenant e est adjacente à au moins la même fraction
ne contenant pas e.
MATROÏDES BALANCÉS
DÉFINITIONS
d’après [6]. Considérons un tirage aléatoire dans lequel une base A de B est choisie avec une proba1
bilité uniforme |B|
. Soit e ∈ E un élément de l’ensemble de référence : la probabilité de l’évènement
(e ∈ A) est donnée par : p(e) =
|Be |
B .
De même, la probabilité de la conjonction [(e ∈ A) ∧ (f ∈ A)] est donnée par : p(e, f ) =
Be,f = Be ∩ Bf ·
L’intervention des probabilités conditionnelles s’impose alors à l’évidence car :
|Be,f |
|B|
⇒
=
|Be,f |
|Be |
×
|Be,f |
|B|
avec
|Be |
|B|
p(e, f ) = p(f |e) × p(e) = p(e|f ) × p(f )·
Le langage des probabilités est, dans le cas d’une équiprobabilité des points de G, une manière commode
de traiter de relations entre sous-ensembles de B, de Be ou de Be .
Définition 19 (Propriété de corrélation négative ) Un matroı̈de (E, B) est dit ”satisfaire à la propriété
de corrélation négative” si, lors d’un tirage aléatoire de l’une de ses bases avec la probabilité uniforme
1
|B| , quel que soit le couple (e, f ) d’éléments distincts de E, on a
p(e, f ) ≤ p(e) × p(f ).
Remarquons, d’après ce qui vient d’être vu, que cette propriété est équivalente à :
p(f |e) ≤ p(f ) et p(e|f ) ≤ p(e)
et à |Be,f | × |B|
≤
|Be | × |Bf |.
Intuitivement, cela correspond à l’idée que la présence d’un élément quelconque e rend moins probable
la présence d’un autre f .
Définition 20 (Matroı̈de balancé ) Un matroı̈de M = (E, B) est dit balancé si lui-même et tous ses
mineurs satisfont à la propriété de corrélation négative.
L’intérêt de cette notion, introduite par T.FEDER et M.MIHAIL, est que tous les matroı̈des graphiques
et leurs mineurs sont balancés car satisfaisant à la propriété de corrélation négative[6]. D’une manière
générale, tous les matroı̈des réguliers[6] qui ont été caractérisés, dans ce sens, par S.MAURER [4] et par
T.FEDER/M.MIHAIL [6] le sont.
5.2
PROPRIÉTÉS
1 - Soit A un sous-ensemble de Be , Γe (A) l’ensemble de ses voisins dans Be . Soit m l’évènement ”La
base tirée avec la probabilité uniforme est dans A ∪ Γe (A). Si M = (E, B) est balancé, alors cet
évènement vérifie la propriété de corrélation négative :
p(m, e) ≤ p(m) × p(e).
Preuve : Il faut démontrer, si M est balancé, que ∀e ∈ E, p(m, e) ≤ p(m) × p(e) ou, ce qui
revient au même que p(m/e) ≤ p(m). Procédons, par induction sur le rang r .
- La propriété est vraie si r = 1 car alors |Be | = 1 et A = Be , Γe (A) = Be .
- Admettons-là pour le rang (r − 1) donc pour tous les mineurs d’au plus cet ordre de M.
- En remarquant que p(f /e) = 1 − p(f /e) et que p(f ) = 1 − p(f ), il vient :
p(m/e) = p(m/ef )p(f /e) + p(m/ef )p(f /e) = p(m/ef )p(f /e) + [1 − p(f /e)]p(m/ef ),
p(m) = p(m/f )p(f ) + p(m/f )p(f ) = p(m/f )p(f ) + [1 − p(f )]p(m/f )·
38
JEAN-MARC BATTY
On note que
p(m/e)
moyenne pondérée de p(m/ef ) et p(m/ef ), est compris entre ces nombres ,
p(f /e) ≤ p(f ) ce qui équivaut à p(f /e) ≥ p(f ) ( car M est balancé) ,
p(m/ef ) ≤ p(m/f ) (hypothèse d’induction appliquée à Bf ),
p(m/ef ) ≤ p(m/f ) (hypothèse d’induction appliquée à Bf ).
Remarquons que l’écriture d’une base quelconque emploie (r − 1) éléments de E − {e}, donc que
les bases de A nécessitent (r − 1) × |A| tels emplois et celles de Be en nécessitent (r − 1) × |Be |.
En comptabilisant ces emplois selon l’ordre d’énumération des éléments de E − {e}, on constate
que : (r − 1) × |A| = |A ∩ Ba | + |A ∩ Bb | + · · · + |A ∩ Bx | et que (r − 1) × |Be | = |Be ∩ Ba | +
|Be ∩ Bb | + · · · + |Be ∩ Bx | d’où il résulte que :
X
X
p(f /me) = r − 1 =
p(f /e)
f 6=e
f 6=e
On a deux sommes égales : celle qui contient le moins de termes non nuls contient au moins un
terme plus grand p(f /me) que son correspondant p(f /e) :
∃f ∈ E, p(f /me) ≥ p(f /e) > 0.
Ce f particulier vérifie alors p(m/ef ) ≥ p(m/e) donc p(m/ef ) ≥ p(m/ef ). Choisissons-le.
En examinant les expressions qui précèdent, on voit que les quantités qui nous intéressent s’écrivent :
p(m/e)
=
p(m)
=
Posons
m0
On constate que m0 − p(m/e)
et que
p(m) − m0
αx + (1 − α)y avec x ≥ y, α = p(f /e),
α0 x0 + (1 − α0 )y 0 avec x0 ≥ x, y 0 ≥ y, α0 ≥ α.
= α0 x + (1 − α0 )y.
= (α0 − α)(x − y) donc positif,
= (1 − α0 )(y 0 − y) donc positif. ♦
2 - Pour tout matroı̈de balancé, le graphe des bases G(M) satisfait aux ratios de connectivité.
Preuve : En écrivant p(m, e) =
|A|
|B|
et p(m) × p(e) =
|A|+|Γe (A)|
|B|
il vient : p(m) × p(e) =
|A|
|B|
×
|A|
|B|
≤
|A|
|B|
|Be |
|Be |
·
Et puisque p(m, e) ≤ p(m) × p(e), on déduit que
|Γe (A)|
|A|
≥
(A)|
1+ |Γe|A|
|B |
e
1+ |Be |
×
×
|Be |
|B| ,
·
|Γe (A)|
|A|
|B |
1+ |Be |
e
1+
, d’où :
♦
3 - Pour tout matroı̈de balancé M(E, B) et pour tout élément e ∈ E, le graphe bipartite Ge (M) =
G(Be , Be , E) admet un couplage fractionnaire.
Définition 21 (Couplage fractionnaire ) On dit qu’un graphe bipartite G(U, V, E) admet un couplage fractionnaire (fractional matching) s’il existe un système de poids non négatifs assignés aux
arêtes de E tel que, pour tout sommet de U , la somme des poids des arêtes incidentes soit |V |, et,
pour tout sommet de V , la somme des poids des arêtes incidentes soit |U |.
À partir du graphe Ge (Be , Be , E), on peut obtenir un nouveau graphe G ∗ en faisant |Be | copies de
chaque base de Be et |Be | copies de chaque base de Be et en copiant les arêtes existantes. En raison
de la propriété de ”respect des ratios” dans Ge , la condition de Hall se trouve être vérifiée dans
G ∗ dont chaque partie possède |Be | × |Be | éléments. Il existe alors un couplage parfait (P ) entre
les deux parties de G ∗ et il suffit, dans G, d’assigner, pour poids, à chaque arête, le nombre de ses
copies dans (P ). ♦
39
Connectivité dans les graphes de bases de matroı̈des
1
2
Xt+1 = Xt
1−
Xt = Bi
2
1
Vi
nr
/B
Xt+1 = Xt car Xt − {e} + {f } ∈
V
nr i
Xt+1 = Xt − {e} + {f } ∈ B
Figure 3.7 – Cheminement aléatoire dans le graphe des bases
4 - Pour tout matroı̈de balancé M(E, B), le graphe des bases admet une expansion de coupe au moins
égale à 1.
Soit (A, A) une bipartition de B. Il y a |A| × |A| chemins de A vers A si on admet qu’à tout
couple de points est associé un et un seul chemin (cf 6.2 : chemins canoniques ). Chaque chemin
quitte A en passant par une arête de la coupe C(A) de A. Par chaque arête passe un maximum de
|B|
|B|
2 chemins (cf 6.2.2) donc 2 × |C(A)| ≥ |A| × |A|·
Par conséquence, |C(A)| ≥
|A|×|A|
|B|
2
soit |C(A)| ≥ min{|A|, |A|} · ♦
6.
CHEMINS ALÉATOIRES DANS LE GRAPHE DES BASES
6.1
PROCESSUS DE MARKOV CONSTRUIT À PARTIR
D’UN TIRAGE DANS E
Si N = |B|, n = |E| et si r est le rang de M, numérotons les bases de façon à obtenir un ensemble ordonné B = {B1 , B2 , ..., BN }. Notons pi (t) la probabilité de l’évènement ”la base obtenue à
l’instant t est Bi ”, désignons par X0 l’état initial, Xt l’état à l’instant t (Xt est donc la base obtenue au
temps t) et notons [Xt ] = [p1 (t), p2 (t), ..., pN (t)] le vecteur des probabilités associées, de dimension N .
Considérons le processus suivant :
1
- On choisit comme on le veut l’état X0 , par exemple par tirage dans B (alors pi (0) = |B|
= N1 ),
- Au pas ”t”, on décide de conserver Xt (alors Xt+1 = Xt ) avec la probabilité 12 , ou de tirer uniformément un élément e ∈ Xt (probabilité élémentaire 1r ) et un élément f ∈ E (probabilité élémentaire
1
n ). Si Xt − {e} + {f } ∈ B, on pose Xt+1 = Xt − {e} + {f }, sinon Xt+1 = Xt .
Appelons Vi le nombre de voisins de Bi et (cj,i ) la matrice d’adjacence de G
avec cj,i = ci,j = 1 ⇔ B
i adjacent à Bj .
P
Bien évidemment Vi = j,j6=i ci,j = |ensemble des points Bj connectés à Bi | .
On en déduit que
c
i,j
Si i 6= j p(Bj /Bi ) = 2nr
Si i = j p(Bi /Bi ) = 12 +
1
2
et
Vi
× (1 − nr ) =
p(Xt+1 6= Xt /Xt = Bi ) =
Vi
1 − 2nr
·
Vi
2nr ,
D’où il découle l’expression matricielle du vecteur [Xt+1 ] :
[Xt+1 ] =
p1 (t + 1)
p2 (t + 1)
..
.
=
pi (t + 1)
..
.
pN (t + 1)
1−
V1
2nr
c2,1
2nr
..
.
1
c1,2
2nr
V2
− 2nr
..
.
ci,1
2nr
ci,2
2nr
... 1 −
cN,1
2nr
...
...
..
.
c1,N
2nr
c2,N
2nr
...
Vi
2nr
..
.
1−
VN
2nr
×
p1 (t)
p2 (t)
..
.
= [A]×[Xt ],
pj (t)
..
.
pN (t)
40
JEAN-MARC BATTY
qui se résume à : [Xt+1 ] = [A]t+1 × [X0 ].
La matrice [A] du processus est symétrique, tous ses termes sont positifs et compris dans [0, 1] et, de
plus, la somme de chaque ligne et de chaque colonne est 1.
Ses éléments s’interprêtent ainsi :
X
pi (1) =
p(Bi /Bj )pj (0) fournit la ligne i.
j=1..N
Mais
X
p(Bi /Bj ) = 1 fournit la colonne j.
i=1,..N
(C’est l’expression de la probabilité totale ”sachant Bj ” ).
Il en est de même pour l’interprétation et les propriétés des termes de [A]t : la ligne i est l’expression de
X
pi (t) =
p(Bit /Bj0 ) × pj (0) avec Bit étant ”Bi tirée au temps t”
j=1...N
et la colonne j de [A]t représente les termes de la probabilité totale :
X
p(Bit /Bj0 ) = 1.
i=1,N
[A]t est donc une matrice symétrique (produit de matrices symétriques) dont toutes les lignes et colonnes
sont formées de N éléments de [0, 1] dont la somme est 1 et dont tous les termes, à partir de t = r (rang)
sont strictement positifs (puisque r est la longueur maximale d’un segment de G).
Or, si on prend deux suites de nombres non tous égaux, de même longueur {x1 , x2 , ..xN } et {y1 , y2 , ..yN }
encadrées dans un intervalle [α, β] tel que 0 ≤ α ≤ β ≤ 1, avec une somme constante S = 1, on doit
avoir N × α ≤ 1 ≤ N × β donc N1 ∈ [α, β]. Cette propriété reste vraie quelle que soitPl’évolution
de ces suites, pourvu que les conditions de somme et d’encadrement restent vraies. Or i=1,N xi yi
est la moyenne pondérée des xi par les yi et vice-versa, donc, (propriété de convexité de Q ), ces
moyennes sont dans les intervalles ouverts ]α, β[ qui, toujours contiennent N1 . Dans le produit matriciel [A]t+1 = [A]t × [A], c’est exactement ce qui se passe pour l’obtention d’un terme
X
at+1
ati,k × a1k,j
i,j =
k=1...N
1
Les a1k,j sont les éléments de [A] : il y a pour chaque colonne j, vj termes égaux à 2nr
qui est très petit,
v
j
1
et un terme aj,j = (1 − 2nr ) qui est très proche de 1. Désignons par {αt , βt } et {αt+1 , βt+1 } les bornes
respectives de la ligne ”i” de respectivement [A]t et de [A]t+1 . On sait qu’à partir de l’étape t > r :
0 < αt < αt+1 ≤
1
N
≤ βt+1 ≤ βt < 1
Dans le produit matriciel, αt+1 est supérieur ou égal au résultat obtenu en combinant le plus grand
vj
élément a1j,j = (1 − 2nr
) de la colonne j de [A] au plus petit de la ligne i de [A]t .(On donne le poids le
plus fort au plus petit). Donc
P
P
t
t
vj
j∈vj ai,j
j∈vj ai,j − vj αt
αt+1 ≥ (1 −
) × αt +
= αt +
·
2nr
2nr
2nr
P
P
De même, βt+1 est obtenu en donnant le poids le fort au plus grand élément de la ligne i de [A]t , c’est
vj
βt et alors : βt+1 ≤ (1 − 2nr
) × βt +
On constate que on a bien αt ≤ αt+1 et
βt+1 − αt+1
≤ (1 −
j∈vj
2nr
ati,j
βt+1
vj βt −
j∈vj
= βt −
2nr
≤ βt , mais surtout que
vj
) × (βt − αt ) avec
2nr
ati,j
0 < (1 −
vj
)<1
2nr
Connectivité dans les graphes de bases de matroı̈des
41
Il en résulte que
(βt+1 − αt+1 ) ≤ (1 −
vj t
) × (β1 − α1 ) et donc que lim (βt − αt ) = 0
t→∞
2nr
En rappelant la remarque faite que ∀t, αt ≤
1
N
≤ βt , on déduit que :
Théorême 1 Lorsqu’on chemine dans le graphe des bases G(M) d’un matroı̈de, le processus de Markov
consistant, à partir d’une base donnée B, à y rester avec la probabilité 12 , sinon, à tirer au hasard, un
élement (e ∈ A) et un élement (f ∈ E) et à passer à une nouvelle base B 0 si B 0 = B − {e} + {f } est
1
une base (∈ B), converge vers la distribution uniforme |B|
, quel que soit le choix de la base de départ.
On qualifie ce processus de Markov d’ergodique car il converge asymptotiquement vers la distribution
1
stationnaire (qui n’est autre que la distribution uniforme |B|
).
Temps de mixage : Le temps de mixage τ () est défini comme étant le nombre minimum de simulations
du processus permettant de rendre l’écart entre la distribution du résultat et la distribution stationnaire
plus petit que (nombre positif donné).
Dans la mesure où le processus est ergodique et où il a été possible de définir un ensemble canonique γ
de chemins dans G (un et un seul chemin pour tout couple de points), M. JERRUM et A. SINCLAIR [8]
démontrent que :
τ () ≤ ρ(ln π(x)−1 + ln −1 )
où x est l’état initial et π(x) sa probabilité, ρ est défini par :
ρ = max
e
1 X
π(x)π(y)|xy|
Q(e) e∈γ
qui mesure en quelque sorte l’engorgement des arêtes e, de poids Q(e), le long d’un chemin xy où π(x)
est la probabilité de l’état initial x et π(y) celle de l’état final y.
Si on peut chercher à améliorer ce temps de mixage, notamment, en forçant l’échange des bases dans
le processus qui précède, par exemple, en le modifiant légèrement, il paraı̂t indispensable de s’assurer de
l’existence de chemins différenciés limitant le poids des arêtes traversées.
6.2
CONSTRUCTION D’UN ENSEMBLE CANONIQUE DE
CHEMINS
Par une approche différente de la précédante, il faut montrer qu’il est possible de définir un ensemble
de chemins dits canoniques, tel qu’à tout couple de bases (B, B 0 ) soit associé un et un seul chemin. Cet
ensemble doit donc contenir |B|2 = N 2 chemins.
Une permutation {e1 , e2 , .., ei , ., en } des n éléments de E étant fixée, (il y a n! telles permutations), on
peut définir toute base B de B par l’état {e˙1 , e˙2 , ..e˙i , ..e˙n } que prennent (présents ou non représentés
dans B) les n éléments de E. On sait qu’il y en a toujours r (rang) qui sont représentés.
On connait B, B 0 , E, B et on veut choisir le chemin qui conduit de B à B 0 . Soit Bi l’ensemble des
bases conformes à l’état de B 0 pour {e˙1 , .., e˙i }. Bi peut être, à l’étape (i + 1), partitionnée en deux :
0
Bi+1 = Bi ∩ Be˙i et Bi+1
= Bi − Bi+1 = Bi ∩ Be˙i en notant Be˙i l’ensemble des bases conformes à e˙i
et Be˙i celles qui ne le sont pas. Si un chemin aboutit à un point M de Bi+1 , ce point et ce chemin sont
0 , ce chemin est allongé de 1 en passant à un voisin
conservés, si un chemin aboutit à un point M’ de Bi+1
M dans Bi+1 (c’est toujours possible puisque l’axiome d’échange s’applique à l’élément ei dont diffèrent
alors M 0 et B 0 ). L’échange va porter sur e˙i : il faut gagner ou perdre ei en perdant ou gagnant un ej avec
j > i. Cet échange n’est pas forcément optimisé car on ignore l’état de A0 quant à ej . On chemine donc
dans un segment [A, A0 ], en allant de A vers A0 , sans jamais s’éloigner de A0 mais avec la possibilité de
42
JEAN-MARC BATTY
1
A2
ej
ej
A0
A1
e j2
ej
ei ej
M
Figure 3.8 – Séparation de chemins
trajets stationnaires sur une strate. L’assurance d’un couplage fractionnaire toujours possible permet, à
chaque étape, de contrôler le poids des arêtes traversées.
Supposons que deux chemins issus de A1 et de A2 , allant vers B 0 , se croisent en M et soient stationnaires
jusqu’à l’étape (i − 1) puis, à l’étape i, parce que A1 et A2 ne sont pas conformes à A0 quant à e˙i perdent
tous deux ei pour gagner le même ej : ces deux chemins vont s’allonger de 1 à l’étape i. À une étape
ultérieure j1 pour A1 , j2 pour A2 avec (i < j1 < j) et (i < j2 < j), ils peuvent tous deux se séparer
parce que l’un doit échanger ej pour ej1 à l’étape j1 , l’autre doit échanger ej pour ej2 à l’étape j2 . On
voit que des chemins distincts, parce qu’ils concernent des couples (A1 A0 ) et (A2 A0 ) distincts, peuvent
se croiser, s’accompagner et se séparer... pour quand même aboutir en A0 .
Si la base de départ est fixée en A, on part alors de A avec N = |B| chemins et il n’y en a plus qu’un
seul à l’arrivée en A0 . À chaque étape i, on abandonne une fraction αi de N = |B| telle que :
|B| − α1 |B| − α2 |B| − . . . αi |B| − . . . αn |B| = 1
et, en raison de l’équiprobabilité voulue de chaque chemin, on pose que
αi = p(e˙i /e˙1 , ..ei−1
˙ )=
|Be˙
˙ ,e˙i |
1 ,..,ei−1
|Be˙1 ,..ei−1
˙ ,ei−1
˙ |
Il en résulte que :
1 - Le nombre attendu de chemins quittant une base à l’étape ”i” est αi |B| = |B| × p(e˙i /e˙1 , ..ei−1
˙ ).
En effet, les chemins qui quittent une base sont ceux qui doivent avancer de 1, parce que non
conformes quant à e˙i . Et on part du principe de respect des ratios pour assurer la proportionalité à
|B|.
2 - Le nombre attendu de chemins passant par une arête donnée (Â, Â0 ) est, au plus, |B|
2 .
Lors d’un échange (ei , ej ) avec (i < j) à l’étape i, le nombre de chemins empruntant cet échange,
est, selon que ce chemin conserve ou non ei , borné par
|B| × min{p(ei /e˙1 , ...ei−1
˙ ), p(ei /e˙1 , ...ei−1
˙ )}, ces deux nombres de somme 1 ayant le plus petit
d’entre eux majoré par 12 .
3 - Étant donnée une base Â, considérons la séquence de bases et d’éléments de E :
A0 , e1 , A1 , e2 , ..An−1 , en , An = Â où Ai est choisie de manière à être conforme à Â en ce qui
concerne l’état des i premiers éléments e1 , e2 , ..ei et où chaque ei est choisi uniformément dans
l’ensemble E − {e1 , ..ei−1 , }. Alors le nombre attendu de ei tels que Ai−1 et  ne diffèrent que
par ei est au plus de 2r.
La différence symétrique de Ai−1 et  est en effet majorée par 2r (r=rang). Ce nombre est atteint
si aucun des e1 , ei−1 ne fait partie de  auquel cas la différence symétrique Ai−1 ∆ conserve sa
valeur initiale A0 ∆Â.
4 - La valeur attendue de la longueur d’un chemin entre n’importe quel A et n’importe quel A0 est au
plus 2r.
Cela résulte du processus lui-même, puisque si une base intermédiaire Ai est conforme à A0 pour
e1 , .., ei , aucun tronçon de longueur 1 n’est ajouté. Cet ajout, d’après ce qui précède ne peut, au
Connectivité dans les graphes de bases de matroı̈des
43
plus, se faire que 2r fois.
5 - La valeur attendue du nombre de chemins passant par une base  = Ae˙1 ,e˙1 ,..em
˙ est au plus 2r|B|.
Un chemin qui passe par une base commence par y entrer avant d’en sortir : il suffit de comptabiliser ce qui sort (le sens de parcours étant fixé par la permutation (e1 , ..em ) or, dans (1), on a
comptabilisé ce qui sort pour une telle permutation donnée tandis que dans (3) on a majoré tout ce
qui pouvait quitter une base. On aboutit alors à Nombre cherché= |B| × E[Σni=1 p(e˙i /e˙1 , ..., e˙i )] où
Σni=1 p(e˙i /e˙1 , ..., e˙i ) ≤ 2r. ♦
7.
CONCLUSION
Ce survol des possibilités d’exploration du graphe des bases d’un matroı̈de montre que des développements
importants et intéressants sont à envisager tant en ce qui concerne l’aspect géométrique du graphe des
bases qu’en ce qui concerne des cheminements aléatoires en son sein. Notamment, comment trouver
un ensemble de chemins canoniques joignant des bases aléatoires satisfaisant à des conditions de longueur ( une géodésique serait l’optimum), en un nombre d’étapes minimum ? Comment en déduire une
estimation de la taille du matroı̈de ? De nombreux auteurs ont déjà posé ce problème pour des classes
particulières de matroı̈des mais il demeure ouvert.
Références
[1] H. WHITNEY. On the abstract properties of linear dependence. Amer.J.Math, 57 :509–533, 1935.
[2] J. EDMONDS. Submodular functions, matroids and certain polyhedra. Combinatrial structures and
their applications, Proceedings Calgary International Conference, 1969.
[3] Stephen B. MAURER. Matroid basis graphs i. Journal of Combinatorial Theory, B(14) :216–240,
1973.
[4] Stephen B. MAURER. Matroid basis graphs ii. Journal of Combinatorial Theory, B(15) :121–145,
1973.
[5] Milena MIHAIL & Madhu SUDAN. Connectivity properties of matroids. TR-89, 1989. U.C.
Berkeley.
[6] Milena MIHAIL & Thomás FEDER. Balanced matroids. Proceedings of the 24th annual ACM
Symposium of Theory of Computing, pages 26–38, 1992.
[7] J.G. OXLEY. Matroid Theory. Oxford Sciences Publications, 1992.
[8] Mark JERRUM & Alistair SINCLAIR. The Markov Chain Monte Carlo method : an approach to
approximate counting and integration. 1996.
4
COMPENSATION DES BRUITS ADDITIFS ET
CONVOLUTIFS POUR LA RECONNAISSANCE
AUTOMATIQUE DU LOCUTEUR
Olivier BELLOT
Sous la direction de Driss Matrouf et de Jean-François Bonastre
Laboratoire d’Informatique d’Avignon
Résumé
1.
Dans ce travail, nous avons concentré nos efforts sur l’augmentation de la robustesse des systèmes de reconnaissance de locuteur aux variabilités acoustiques causées par l’environnement. Nous avons montré que le
système de reconnaissance se trouve sérieusement perturbé lorsque les conditions acoustiques de tests sont très
différentes de celles d’apprentissage. Ceci nous a incité à proposer une approche compensant explicitement les
bruits additifs et convolutifs. Pour valider notre approche de compensation, nous avons réalisé des experiences
sur le corpus Bref en utilisant le système de reconnaissance du locuteur du LIA. Les résultats expérimentaux
ont montré des améliorations très significatives, surtout pour des rapports signal sur bruit faibles. Dans le cas
d’absence de bruits, notre approche ne dégrade pas les performances.
Les nombreux travaux traitant de la compensation des différences entre les conditions d’apprentissage et
de test supposent généralement que les données d’apprentissage sont propres et celles de test bruitées. Dans les
applications réelles, cette supposition est rarement satisfaite. Dans le cadre de ce travail, nous avons étudié et implanté une technique compensant conjointement les bruits d’apprentissage et de test. Les résultats expérimentaux
montrent que la compensation du bruit d’apprentissage apporte un gain significatif par rapport à la compensation
du bruit de test seul.
INTRODUCTION
Le travail réalisé pendant ce stage de DEA s’inscrit dans le cadre de la reconnaissance du locuteur
à l’aide des modèles statistiques. L’approche retenue relève du domaine plus général de la reconnaissance de formes. Le principe est d’apprendre des formes (des statistiques sur ces formes) pour pouvoir
les reconnaı̂tre par la suite, la forme reconnue étant celle parmi toutes les formes apprises qui ressemble
le plus à la forme inconnue. La mesure de ressemblance utilisée est généralement matérialisée par une
mesure de distance. Si les formes de test ne subissent pas de distorsions majeures par rapport aux formes
apprises, le système de reconnaissance de formes donne de bonnes performances. En revanche, si les
formes de test sont modifiées par des événements inconnus a priori, les performances du système de
reconnaissance peuvent chuter considérablement. On dit dans ce cas qu’il y a des différences entre les
conditions d’apprentissage et les conditions de test.
Dans le cas d’un système de reconnaissance du locuteur, ces différences peuvent être notamment
causées par la présence de bruit(s) en phase de test et/ou d’apprentissage, par le changement de microphone, par l’effet Lombard, etc.
L’objectif de ce travail est de réduire les effets des différences entre les conditions d’apprentissage
et de test ; c’est-à-dire d’atteindre les mêmes performances que dans le cas où l’apprentissage et le test
se déroulent dans les mêmes conditions acoustiques. Le Système de Vérification et d’Identification du
Locuteur (SIVL) utilisé est le système AMIRAL développé au LIA. Ce système est fondé sur une approche statistique avec une modélisation de type GMM et une règle de décision issue de la recherche
45
du maximum de vraisemblance. Le signal à modéliser est une représentation discrète du signal temporel
correspondant, obtenue par une analyse de type cepstrale.
Nous présentons ici une méthode de compensation des bruits additifs et convolutifs ayant déjà fait
ses preuves dans le cadre de la reconnaissance de la parole, la méthode de Combinaison Parallèle de
Données (CPD). Cette méthode consiste à travailler directement et sans approximation sur les données
d’apprentissage et de test afin d’adapter celles-ci aux conditions acoustiques rencontrées. Dans un premier temps, nous considérons que les données d’apprentissage sont propres et que les données de test
sont bruitées. Nous adaptons alors les modèles aux conditions de test. Pour cela, il est nécessaire d’estimer correctement les bruits présents lors du test, afin de compenser leurs effets en bruitant les modèles.
Dans une deuxième phase, nous considérons que les données d’apprentissage sont également obtenues
en milieu bruité. Le travail est alors double : 1) estimation et compensation des bruits d’apprentissage
dans le signal de test ; 2) estimation et compensation des bruits de test dans les modèles. L’apport d’une
telle méthode sera evaluée par des expériences réalisées sur le corpus Bref, dans diverses conditions
(bruits de natures et de niveaux divers).
Le document est organisé de la manière suivante : la première partie (section 2) est consacrée à une
description du système AMIRAL. Puis, dans un deuxième temps (section 3), nous étudions les effets des
bruits et les méthodes disponibles permettant une meilleure reconnaissance en présence de ces variabilités. En section 4, la méthode que nous proposons est présentée et évaluée en détail. La section 5 propose
un récapitilatif du travail effectué. Enfin, la section 6 présente quelques conclusions et perspectives.
2.
MÉTHODE POUR LA RECONNAISSANCE DU
LOCUTEUR : LE SYSTÈME AMIRAL
Le système de reconnaissance utilisé pour les tests est le système AMIRAL 1 , mis au point au LIA2 [3].
Ce système est fondé sur une approche statistique. La reconnaissance automatique du locuteur s’effectue
grâce aux informations collectées pendant la phase d’apprentissage. Durant cette phase, le système enregistre la voix d’une personne et construit un modèle statistique modélisant les caractéristiques propres
à cet individu. En situation de test, le système compare le signal enregistré avec les modèles appris
précédemment. Suivant la tâche visée, une décision est prise :
– dans le cas de la vérification du locuteur, le sytème vérifie si le locuteur ayant prononcé le test
est bien le locuteur annoncé. Pour cela, une comparaison est réalisée entre le test et le modèle
du locuteur. Si la distance entre modèle et test est inférieure à un seuil fixé, le système reconnaı̂t
effectivement le locuteur annoncé ; dans le cas contraire, il considère qu’il s’agit d’un imposteur ;
– dans le cas de l’identification en milieu fermé, le système compare le test avec les modèles connus
et choisit le plus vraisemblable. Cette tâche est celle visée dans le cadre de ce travail.
Notons que les méthodes présentées dans le cadre de ce travail peuvent être appliquées à ces deux tâches.
2.1
PARAMÉTRISATION DU SIGNAL ET MODÉLISATION
DU LOCUTEUR
La modélisation du locuteur se fait en deux étapes distinctes : une étape de paramétrisation suivie
d’une étape de modélisation. En effet, le signal numérisé est trop redondant et variable pour être utilisé
directement dans une application de reconnaissance du locuteur. Il doit être traité de manière à extraire
au mieux l’information nécessaire et suffisante à la caractérisation du locuteur. La modélisation sera
effectuée à partir de l’information ainsi extraite.
Paramétrisation du signal. Une représentation traditionnelle pour le traitement et l’interprétation
du signal de parole est la représentation temps-fréquence. Elle montre l’évolution temporelle de l’information fréquentielle du signal de parole. L’adéquation de cette représentation provient du fait que les
propriétés spectrales du signal de parole restent stables durant des intervalles de temps relativement
courts (quelques dizaines de ms). On peut donc voir le signal de parole comme une suite de formes spectrales, chaque forme spectrale représentant un intervalle de temps de 10 à 20 ms. Il est ainsi nécessaire de
mettre en aval du module d’acquisition du signal un module de paramétrisation dont le rôle est de trans-
46
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
47
former le signal temporel en une suite de vecteurs de paramètres. Ce sont ces vecteurs de paramètres qui
vont être utilisés pour l’apprentissage des modèles et les différents tests.
Les coefficients cepstraux statiques : Ces coefficients cepstraux sont extraits du signal par une
analyse de type MFCC (Mel-scaled Frequency Cepstrum Coefficients). Le signal subit tout d’abord une
phase de préaccentuation, puis est decoupé en trames de 320 échantillons (chacune de ces trames correspond à une durée de 20 ms), avec un décalage de 10 ms. Il y a ainsi un recouvrement de 50 % entre deux
trames successives.
Puis, une transformée de Fourier (grâce à l’algorithme FFT Fast Fourier Transform) est appliquée
sur chacune des fenêtres. Un découpage du signal en bandes de fréquences est ainsi obtenu, couvrant
les fréquences de 0 kHz à 8 kHz. Ces fréquences sont réparties suivant l’échelle de Mel, échelle logarithmique respectant les caractéristiques de l’oreille humaine. Un logarithme est ensuite appliqué, suivi
d’une transformée en cosinus discrète pour passer dans le domaine cepstral 3 .
FIG. 1.Calcul des coefficients cepstraux par MFCC (Mel-scaled Frequency Cepstrum Coefficients)
Les coefficients cepstraux dynamiques : Les coefficients cepstraux dynamiques du premier ordre
(ou ∆cepstre) représentent l’approximation de la dérivée première par rapport au temps des paramètres
cepstraux. Leur intégration dans un modèle de locuteur permet une meilleure reconnaissance car ces
coefficients apportent de l’information non négligeable sur l’évolution à court terme du cepstre. Les
coefficients du ∆cepstre peuvent être calculés de plusieurs manières. Ils sont, de façon classique, approximés par :
cp
cp
cp
cp
∆Otcp = −βOt−2
− αOt−1
+ αOt+1
+ βOt+2
avec α < β, ∆Otcp désignant le ∆cepstre à l’instant t et Otcp le cepstre à l’instant t.
On peut également utiliser les coefficients cepstraux dynamiques du second ordre (ou ∆∆cepstre) qui
représentent l’approximation de la dérivée seconde par rapport au temps des paramètres cepstraux.
Construction de modèles de locuteurs : les GMM. Un locuteur est caractérisé par la densité
de probabilité des vecteurs de coefficients cepstraux extraits lors de la paramétrisation. Cette densité peut
être approximée par une somme pondérée de gaussiennes (Gaussian Mixture Model, GMM [11]).
Pour un vecteur de coefficients cepstraux x de dimension D, la densité de probabilité pour le locuteur
l est alors définie par :
M
X
p(x|λl ) =
pli bli (x)
(4.1)
i=1
Avec M le nombre de gaussienne (128 utilisées pour nos expèriences), pli 4 le poids de la distribution bli ,
définie ci-dessous.
Cette densité est une combinaison linéaire pondérée des M densités gaussiennes bli (x), caractérisées
par un vecteur moyen µli et une matrice de covariance Σil (diagonale dans notre cas) :
48
OLIVIER BELLOT
bli (x) =
1
(2π)D/2 |Σil |1/2
1
× exp{− (x − µli )(Σil )−1 (x − µli )}
2
Ainsi, le modèle correspondant au locuteur l est caractérisé par λl = {pli , µli , Σil }, avec i variant de
1 à M .
Le critère généralement utilisé pour estimer les paramètres {pli , µli , Σil } est celui du maximum de
vraisemblance. Ce critère consiste à déterminer les paramètres maximisant la vraisemblance que l’observation xt (donnée d’apprentissage) soit générée par le modèle λl . Ce maximum de vraisemblance
est très difficilement calculable directement. C’est pour cela que nous utilisons l’algorithme itératif EM
(Expectation-Maximization [10]) qui, à partir d’une estimation initiale des paramètres, rapproche ceux-ci
du maximum de vraisemblance (il s’agit d’un maximum local).
2.2
IDENTIFICATION
L’objectif de l’identification est de trouver le locuteur l d’un ensemble de N locuteurs L = {1,2,. . .,N}
qui a la probabilité a posteriori maximale connaissant la séquence de vecteurs acoustiques X = {x1 , x2 , . . . , xT }
et les modèles λ1 , λ2 , . . . , λN . Le locuteur l? choisi est déterminé comme suit :
l? = arg max p(λl |X) = arg max
1≤l≤N
1≤l≤N
p(X|λl )
p(λl )
p(X)
(4.2)
En supposant que le terme p(λl ) est constant 5 et puisque p(X) est constant pour tout les locuteurs, ils
peuvent être ignorés pour la recherche du maximum. En appliquant le logarithme (on obtient ainsi des
log-vraisemblances), et en supposant l’indépendance entre les trames, nous avons :
?
l = arg max
1≤l≤N
T
X
log p(xt |λl )
(4.3)
t=1
p(xi |λl ) étant donné par l’équation (4.1)
Dans le cas où les tests ne se déroulent pas dans les mêmes conditions que l’apprentissage, les données
extraites lors du test ne correspondent plus aux modèles, car de l’information est ajoutée, retirée ou
modifiée par le bruit. Ceci a pour effet de créer un décalage 6 entre apprentissage et test et donc d’entrainer des erreurs lorsque le système prend une décision. Il est donc nécessaire de pouvoir étudier ces
différences acoustiques entre l’apprentissage et le test afin de pouvoir en compenser les effets.
3.
LA COMPENSATION DES VARIABILITÉS
ACOUSTIQUES
Le but de ce travail est de compenser les différences acoustiques entre phase d’apprentissage et phase
de test. Cet objectif peut être atteint de diverses manières, soit en ayant des paramètres plus robustes à
ces changements, soit en compensant les effets de ces variablilités, tout en conservant les caractèristiques
propres à chaque locuteur. Le but de ce chapitre est de présenter la nature et l’influence de ces variabilités
ainsi que certaines méthodes permettant de les compenser.
3.1
VARIABILITÉS ACOUSTIQUES
Nous appelons bruit tout évenement qui modifie de quelque manière que ce soit les informations en
provenance du locuteur. Ce bruit est donc de l’information parasite qui nuit à la précision des paramètres
de la voix que nous voulons modéliser. Il est donc nécessaire d’être capable d’évaluer correctement la
part de l’information intéressante par rapport à celle qui ne l’est pas. La principale difficulté vient du fait
que cette information parasite n’est pas figée : inconnue a priori, elle peut évoluer dans le temps.
Les variablilités acoustiques sont classées en plusieurs catégories :
Le bruit additif : le bruit additif affecte directement le spectre du signal. Ce phénomène se traduit
par la modification de certains pics du signal d’origine, par l’aplatissement de l’enveloppe spectrale, par
la modification de la largeur de bande et de la pente spectrale. Le bruit ambiant est toujours considéré
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
49
comme étant additif. Les sources de ce genre de bruits sont nombreuses : machines, conversations,
réverbérations. Ces bruits peuvent être corrélés (réverbération, écho) ou non corrélés avec le signal de
parole, stationnaires ou non stationnaires. Le bruit étudié ici est non corrélé et plus ou moins stationnaire.
Le bruit convolutif : Le bruit convolutif est celui qui affecte le spectre quand le signal de parole
subit un filtrage linéaire invariant dans le temps. Dans le domaine log-spectral ou cepstral, l’effet de ce
type de bruit est strictement additif. Il en existe plusieurs sources :
- l’équipement d’enregistrement : si on utilise différents microphones, on peut constater des modifications tout au long du spectre. Le changement de microphone peut être modélisé par un filtre linéaire ;
- canal de transmission : le canal de transmission transmet au système de reconnaissance les signaux
captés par le microphone. Il peut lui aussi perturber le signal d’origine. Dans le cas d’une ligne téléphonique,
ces transformations peuvent être importantes.
Autres bruits : il s’agit des variabilités dont nous connaissons les effets, mais pour lesquelles nous
ne disposons pas de modèle mathématique pour les compenser. Parmi celles-ci, nous pouvons citer l’effet
Lombard 7 , l’orientation du locuteur par rapport au microphone, l’état physique (maladie) ou psychique
(colère, tristesse, etc) du locuteur.
3.2
MÉTHODES POUR UN SYSTÈME ROBUSTE AUX
BRUITS
Les solutions apportées au problème de la robustesse des systèmes de reconnaissance du locuteur
peuvent intervenir à plusieurs niveaux : au niveau de l’augmentation de la qualité du signal (débruitage),
au niveau d’une représentation spectrale robuste (paramétrisation), au niveau des modèles acoustiques
représentant les références (adaptation), ou enfin pendant la prise de décision. Il est possible d’intervenir
pendant l’apprentissage, pendant la phase de test, ou dans les deux.
a) Paramétrisation : le but de la paramétrisation acoustique est d’extraire du signal des vecteurs
de paramètres dépendant le moins possible du bruit. Il existe plusieurs méthodes de paramétrisation du
signal, parmi lesquelles : les méthodes MFCC (Mel scaled Frequency Cepstrum Coefficients), LPCC
(Linear Predictive Cepstrum Coefficients) ou PLPCC (Perceptually-based Linear Prediction Cepstrum
Coefficients). Cependant, quel que soit le type de paramètres acoustiques choisis et quel que soit le bruit
affectant les données de test ou d’apprentissage, le système de reconnaissance se trouve sérieusement
perturbé, surtout pour des rapports signal sur bruit faibles. Il est important de noter que nos méthodes
d’adaptation pourront être appliquées à tous ces types de paramétrisation.
b) Soustraction du cepstre moyen : la technique de la soustraction du cepstre moyen à
long terme est couramment utilisée pour éliminer les distortions liées au changement du canal d’enregistrement [1, 4]. Après soustraction du cepstre moyen, on aboutit à des paramètres cepstraux moins
dépendants du matèriel d’enregistrement utilisé. Il est nécessaire soit de disposer d’une séquence assez
longue de vecteurs cepstraux pour avoir une bonne estimation de cette moyenne, soit d’avoir recours à la
méthode RASTA [6] qui consiste à soustraire la moyenne mobile.
c) Débruitage : le but du débruitage est d’atteindre des performances comparables au cas où apprentissage et tests se déroulent dans des conditions calmes . Cette méthode est très difficile à mettre en
œuvre de manière satisfaisante. La méthode la plus souvent utilisée est celle de la soustraction spectrale
[2], méthode entrainant une distortion du signal et considérant le bruit comme stationnaire.
d) Adaptation (bruitage) : l’adaptation consiste à utiliser les paramétres extraits lors de l’apprentissage afin de les rendre plus proches des conditions de test. Supposons que les modèles acoustiques
soient estimés sur des signaux enregistrés dans une ambiance calme et que les signaux de tests soient
bruités. Pour rapprocher les conditions de test et d’apprentissage, le bruit de test peut être ajouté aux
50
OLIVIER BELLOT
modèles estimés en conditions calmes.
Mockbel a montré [9] qu’il est préférable de bruiter les références avec les bruits de test plutôt que
de débruiter le test lui-même. Plusieurs solutions existent alors pour combiner ce bruit aux modèles
existants. Nous allons nous interresser plus particulièrement à deux d’entre elles : la méthode CPM et la
méthode CPD.
d.1) Combinaison Parallèle de Modèles (CPM) : le principe de cette méthode est le suivant : un
modèle est connu pour chaque locuteur, ces modèles ayant été appris dans des conditions calmes, et un
modèle du bruit est estimé sur les trames du signal de test ne correspondant pas à de la parole (détéctée
par leur faible niveau d’énergie). Pour modéliser la parole bruitée, le modèle représentant la parole propre
est combiné avec celui du bruit. La principale difficulté pour l’application de cette méthode réside dans
le fait que plusieurs approximations doivent être effectuées lors des calculs. En effet, les modèles sont
construits dans le domaine cepstral et puisque le bruit additif doit être ajouté dans le domaine spectral,
il est nécessaire d’avoir ces modèles dans le domaine spectral. La grande difficulté de ce travail provient
de ce passage du domaine cepstral au domaine spectral.
1. transformée en cosinus (retour dans le domaine log-spectral)
2. application de la fonction exponentielle
3. combinaison des modèles qui s’effectue en additionnant les densités spectrales
4. application de la fonction logarithme
5. transformée en cosinus inverse (retour dans le cepstre)
Dans le cadre de cette méthode, l’approximation log-normale [5] est souvent utilisée pour passer du
domaine spectral au domaine cepstral. Cette approximation suppose que la somme de deux variables
aléatoires log-normalement distribuées est une variable log-normalement distribuée. Si cette approximation est plutôt bonne dans le cas d’assez petites variances, elle devient par contre inacceptable dans le cas
de variances plus importantes. Une solution pour compenser ce problème est d’augmenter le nombre de
gaussiennes pour avoir des gaussiennes de variances moindres. Ceci entraine alors une augmentation de
la complexité des calculs. De plus, cette complexité de calcul et le nombre d’approximations augmentent
rapidement pour pouvoir effectuer les mêmes opérations sur le ∆ cepstre et le ∆∆ cepstre.
d.2) Combinaison Parallèle de Données (CPD) : cette méthode consiste à adapter les modèles
grâce à la compensation directe des données d’apprentissage aux conditions de test. Cette adaptation
s’effectue en compensant les données d’apprentissage avec le bruit estimé sur les données de test, puis
en réestimant le modèle correspondant après combinaison. Cette méthode est détaillée en section 4.
La méthode CPM, de par ses nombreuses approximations, est loin d’être optimale, autant en terme
de précision qu’en complexité. La méthode CPM travaille sur les modèles, contrairement à la méthode
Combinaison Parallèle de Donnée (CPD), qui passe par une adaptation directe des données. Il est beaucoup plus facile d’estimer une gaussienne sur des données transformées que d’estimer à partir de la
gaussienne d’origine une nouvelle gaussienne en connaissant l’expression mathématique de la transformation. En effet, imaginons le cas où une variable x suit une loi gaussienne g1 . Nous désirons connaitre
la loi supposée gaussienne g2 que suivra la variable f (x) 8 . Il est beaucoup plus facile de calculer la loi
g2 à partir des nouvelles valeurs de f (x) qu’à partir de la gaussienne g1 en connaissant la transformation
f, même pour des transformations qui paraı̂ssent simples. Puisqu’il est possible de connaitre les données
d’apprentissage ayant servi à l’estimation du modèle 9 , il est ainsi possible de s’en servir afin de calculer
les nouvelles gaussiennes du nouveau modèle. Nous avons retenu la méthode de Combinaison Parallèle
de Données (CPD), méthode ayant déjà fait ses preuves dans le cadre de la reconnaissance automatique
de la parole [8], et qui est détaillée dans le chapitre suivant.
4.
TRAVAIL EFFECTUÉ : LA COMBINAISON PARALLÈLE
DE DONNÉES (CPD)
Comme nous venons de le voir dans la section précedente, les techniques donnant les meilleurs
résultats consistent au bruitage plutôt qu’au débruitage. La méthode de Combinaison Parallèle de Données
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
51
est celle qui a été choisie pour effectuer cette compensation. Cette méthode n’a jamais été utilisée dans le
cas de la reconnaissance du locuteur, ce qui est la première originalité de ce travail. De plus, les travaux
qui ont été effectués jusqu’à présent dans le cadre de la robustesse des systèmes d’identification et de
vérification du locuteur ne considèrent généralement pas l’apprentissage en milieu bruité. Pourtant, dans
les applications en milieu réel, il est très rare de pouvoir réaliser cette phase d’apprentissage en conditions parfaitement calmes, à moins d’avoir un équipement spécialisé. Cette prise en compte du bruit lors
de l’apprentissage est la seconde originalité de ce projet.
FIG. 2. Stratégie de compensation des bruits de tests et d’apprentissage.
Principe de la Combinaison Parallèle de Données. Nous utilisons pour cette méthode le
modèle appris pour un locuteur et les données qui ont servi à estimer ce modèle. L’adaptation consiste à
stocker pour chaque gaussienne du modèle les vecteurs cepstraux du corpus d’apprentissage qui ont permis son estimation. La combinaison consiste dans ce cas à faire la somme trame à trame dans le domaine
spectral des trames stockées pour la gaussienne en question et des trames représentant le bruit. Puisque
la combinaison consiste en une addition dans le domaine spectral, il est donc nécessaire d’appliquer les
opérations adéquates sur les trames pour se placer dans le domaine spectral et revenir dans le domaine
cepstral après addition (voir FIG. 3.). On obtient ainsi les vecteurs cepstraux qui permettent de réestimer
la moyenne et la matrice de covariance de la gaussienne en question.
Log-Spectre
S cp
Transformée
S lg = C S cp
N cp
en Cosinus
N lg = C N cp
Spectre
Exponentielle
S ln = exp ( S lg )
N ln = exp ( Nlg)
Combinaison
Cepstre
Spectre
R ln = S ln + N ln
Cepstre
-1
R cp = C R lg
Log-Spectre
Logarithme
Transformée
en Cosinus Inverse
R lg = log ( Rln)
FIG. 3. Combinaison d’une trame de parole et d’une trame de bruit.
Dans ce travail, nous avons supposé que le bruit n’affecte pas la distribution des trames entre les gaussiennes d’un modèle donné. Il est évident qu’il s’agit d’une hypothèse dont la validité depend du type
de bruit affectant les données de test. Pour surmonter ce problème, il est possible d’adopter le même
raisonnement au niveau du modèle (mélange de gaussienne) et non au niveau de la gaussienne. Cela implique une reclassification des trames en utilisant l’algorithme EM avec, comme initialisation, l’ancienne
classification.
52
OLIVIER BELLOT
Pour une trame donnée du corpus d’apprentissage d’un modèle donné, l’appartenance à une gaussienne est determinée en choisissant la gaussienne qui donne la plus grande probabilité a posteriori (voir
FIG. 4.). Cette association entre les trames d’apprentissage et les gaussiennes est determinée une fois
pour toute avant le processus de compensation. Il est éventuellement possible de prendre en compte la
participation d’une trame à l’estimation des paramètres d’un ensemble de gaussiennes et non pas exclusivement à une gaussienne. Nous avons vérifié expérimentalement que, dans le cas de signaux propres,
aucune dégradation n’est générée par cette approximation.
FIG. 4. Association entre trame d’apprentissage et gaussienne du modèle.
Caractéristiques de la CPD.
Calcul du ∆ceptsre et du ∆∆cepstre. En travaillant directement sur les données d’apprentissage
et de test, l’information temporelle est conservée puisque la combinaison est réalisée phrase par phrase.
Les nouveaux coefficients dérivatifs peuvent être obtenus directement après compensation, sans aucune
approximation et quelle que soit la formule utilisée pour les calculer. Cette facilité des calculs présente
un avantage considérable par rapport à la méthode de combinaison des modèles.
Prise en compte de la variance du bruit. Afin de prendre en compte le variance du bruit, nous
combinons, d’une manière circulaire, toutes les trames de bruit disponibles avec les trames correspondant aux phrases d’apprentissage.
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
53
FIG. 5. Technique de bruitage circulaire de l’apprentissage.
Rapidité d’exécution. La part la plus coûteuse de l’apprentissage des modèles est le calcul des
distributions par l’algorithme EM. Dans la technique retenue, il n’est pas utile de recommencer cette
classification à chaque utilisation. L’adaptation est ainsi constituée uniquement de calcul de moyennes et
de variances, calculs très peu coûteux en temps.
Indépendante de la méthode de paramétrisation. Contrairement à la combinaison parallèle de
modèles, la CPD peut être appliquée quelle que soit la technique de paramétrisation utilisée, pour peu
que nous disposions d’une transformation nous permettant de passer du domaine spectral au domaine
cepstral (et réciproquement).
4.1
BRUIT EN PHASE DE TEST UNIQUEMENT
Considérons maintenant que les données de test et les données d’apprentissage sont enregistrées avec
des microphones différents. De plus, le test est réalisé avec du bruit ambiant. Nous avons ainsi :
y1 = s ∗ h1 , pour l’apprentissage
y2 = (s + n) ∗ h2 , pour le test
avec y1 désignant les signaux d’apprentissage, y2 les signaux de test, s étant le signal propre, n le bruit
additif et h1 et h2 représentent les composantes convolutives.
Dans le cas où h1 = h2 = h, il est possible de combiner directement les trames de h∗n avec les trames
d’apprentissage pour obtenir y10 = (s + n)∗h. Dans le cas où h1 6= h2 , pour pouvoir faire la combinaison
avec y1 , nous avons besoin de connaitre n ∗ h1 . Pour cela, il faut estimer le filtre H = h1 ∗ h−1
2 qui
est ensuite appliqué à h2 ∗ n pour obtenir une estimation de n ∗ h1 . Pour pouvoir estimer ce filtre H,
l’algorithme suivant peut être utilisé.
Algorithme :
La combinaison se fait dans le domaine spectral
Tous les autres calculs sont dans le domaine cepstral
1. ñ= n ∗ h2 , 1ere estimation de n ∗ h1
2. calcul de Mtest , la moyenne de y2 = (s + n) ∗ h2
3. combiner y1 avec ñ pour obtenir une estimation de (s+n)∗
h1 et calculer sa moyenne cepstrale Mappr
4. estimer h1 ∗ h−1
2 dans le domaine cepstral par
H̃ := Mappr - Mtest
5. utiliser le filtre H̃ pour obtenir une nouvelle estimation de
n ∗ h1 :
e
ñ = n ∗ h2 ∗ H
6. reprendre en 3 jusqu’à la convergence de l’estimation du
filtre H̃
e −1 = h1 ∗ h−1 est appliqué à y1 = (s + n) ∗ h1 afin d’obtenir
Une fois cette estimation réalisée, le filtre H
2
une estimation de y10 = (s + n) ∗ h2 .
Cette estimation de la composante convolutive a été utilisée avec succès dans le cadre de la reconnaissance de la parole. Néanmoins, un problème peut se poser pour la reconnaissance du locuteur, celui de prendre en compte dans cette estimation du bruit convolutif une partie de l’information en provenance du locuteur. En effet, d’après Zaho [12], la parole d’un locuteur l peut être approchée par :
xl = xuniversel ∗ hl , c’est-à-dire que la composante convolutive serait la seule composante caractérisant
54
OLIVIER BELLOT
un locuteur. Puisque cet algorithme tend à normaliser la composante convolutive du test par rapport à
celle de l’apprentissage, il est possible que cette normalisation masque les caractéristiques propres au
locuteur, faisant ainsi un rapprochement indistinct de tout les modèles. La reconnaissance peut être alors
perturbée, car les modèles auraient perdu une part des caractères discriminants d’un locuteur.
4.2
PROTOCOLE EXPÉRIMENTAL
Nous avons utilisé deux types de bruit pour bruiter les phrases de test et d’apprentissage :
– bruit blanc (bruit couvrant de manière égale toutes les bandes de fréquence et étant relativement
stationnaire) ;
– bruit “brouhaha” : enregistrement d’une foule.
Deux scores servent à évaluer le système :
– le pourcentage d’identification : donne le taux de bonnes réponses (locuteur effectivement reconnu)
par rapport au nombre total de tests ;
– le taux d’émergence : représente la confiance que nous pouvons avoir dans les décisions prises par
le système. Ce taux d’émergence est calculé comme suit (avec N locuteurs) :
1 X
v(locj /x)
∗
N
M ax(v(loc(i6=j/x )))
N
i=1
où : v(locj /x) est la vraisemblance du locuteur ayant effectivement prononcé la phrase x et Max(v(loc(i6=j/x ))
la vraisemblance maximale parmi les autres locuteurs.
Puisque nos tests ont été réalisés en calculant des - log vraisemblance, il faudra donc viser le taux
d’émergence le plus petit possible.
Les données sur lesquelles les tests ont été effectués ont été extraites du corpus Bref 10 , corpus comprenant des phrases tirées d’articles du journal “Le Monde” et lues par 120 locuteurs, masculins et féminins,
d’âges compris entre 18 et 73 ans. Ces phrases contiennent environ 15 mots, et ont été choisies pour
contenir le plus de phonèmes possible. Nous avons utilisé 40 locuteurs de ce corpus avec, pour chaque
locuteur, deux phrases pour l’apprentissage et trois pour les tests. Les phrases de test et d’apprentissage
ont été enregistrées avec un microphone de type Shure.
Nous avons, dans un premier temps, considéré que l’apprentissage se déroulait dans des conditions silencieuses et que le test était effectué en condition quelconque (calme ou bruitée). Puis, cette même méthode
a été testée en ayant également un apprentissage quelconque. Il est à noter également que l’estimation
du bruit est précise car nous nous sommes servi des bruits ajoutés artificiellement. Néanmoins, il existe
des outils permettant de faire cette estimation d’une manière satisfaisante. Cette estimation du bruit devra être effectuée prochainement de manière à ce que le système proposé puisse être autonome. Puisque
dans nos expèriences nous avons une estimation parfaite du bruit présent, les augmentations constatées
peuvent être considérées comme étant une limite à atteindre pour les applications en milieux réels.
Résultats expérimentaux. Dans cette partie, les modèles des locuteurs ont été appris en conditions propres (RSB de 35 dB). Les bruits présents lors des tests ont été rajouté artificiellement, en faisant
varier le RSB. Les divers tableaux présentent les résultats obtenus avec et sans compensation.
Compensation
RSB : 35dB
Tests
RSB : 15dB
Sans
98,3% -2,1
38,3% 0,19
7,50% 1,06
Avec (h1 = h2 )
98,3% -2,1
97,5% -1,1
95,0% -0,4
Avec (h1 6= h2 )
97,5% -1,8
95,0% -0,7
88,3% -0,2
RSB : 8dB
Tableau 2 :Taux d’identification et taux d’émergence sans compensation, avec compensation du bruit
additif uniquement et avec compensation du bruit additif et convolutif, différents niveaux de rapport signal sur bruit (RSB) pour le test bruité avec le bruit ”brouhaha”, apprentissage réalisé à 35 dB, 120
phrases de test prononcées par 40 locuteurs.
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
55
En conditions calmes, le système sans compensation est proche de la perfection. Néanmoins, lorsque
le RSB devient plus faible, les performances chutent rapidement. Les résultats sont en dessous de 50%
lorsque le test a un RSB de 15 dB (38,3%), et deviennent proches du hasard dans le cas où le test est
réalisé avec un RSB de 8 dB (7,5%). Dans le cas où l’on considère que la composante convolutive est
identique dans l’apprentissage et le test, nous obtenons une hausse très importante du taux d’identification. En effet, ce taux passe de 38,8% à 97,7% dans le cas où le test est enregistré avec un RSB de 15
dB et passe de 7,5% à 95% avec un RSB de 8 dB. Si l’on prend en compte la différence de la composante convolutive, on peut se rendre compte que la hausse est moins importante : 95% au lieu de 97,5%
précedemment pour le cas RSB de 15 dB, 88,3% au lieu de 95%. Les taux d’emergence sont également
en baisse : -0,7 au lieu de -1,1 pour le cas RSB de 15 dB et -0,4 au lieu de -0,2 pour le cas RSB de 8
dB. Ces baisses se retrouvent également pour le cas où le test est propre. Cette baisse constatée montre
que la compensation de la composante convolutive avec cette méthode enlève de l’information propre au
locuteur. La perte de cette information entraine une perte de 8 tests sur 120 avec un RSB de 8 dB, ce qui
n’est pas négligeable.
4.3
BRUIT EN PHASE DE TEST ET D’APPRENTISSAGE
Les travaux réalisés dans le domaine de la reconnaissance en milieu bruité supposent généralement
que les données d’apprentissage sont enregistrées dans un milieu calme, ce qui se vérifie rarement dans
la réalité. La technique de compensation de bruit précédente est ici généralisée au cas où l’apprentissage
est également effectué en milieu bruité.
Nous considérons maintenant que les données de test et les données d’apprentissage sont enregistrées
avec des microphones identiques et que, de plus, l’apprentissage peut être également effectué en milieu
bruité.
Nous avons ainsi :
y1 = (s + n1 ) ∗ h, pour l’apprentissage
y2 = (s + n2 ) ∗ h, pour le test
avec y1 désignant les signaux d’apprentissage, y2 les signaux de test, s le signal propre, n1 (resp. n2 ) le
bruit additif présent lors de l’apprenstissage (resp. lors du test) et h le bruit convolutif de l’apprentissage
et du test.
Après estimation de la moyenne du bruit d’apprentissage n1 ¯∗ h, ces trames sont combinées avec les
trames y2 = (s + n2 ) ∗ h pour obtenir une estimation de y20 = (s + n1 + n2 ) ∗ h et les trames du
bruit de test n2 ∗ h sont combinées avec les trame de y1 = (s + n1 ) ∗ h pour obtenir une estimation de
y 0 1 = (s + n1 + n2 )∗h. Nous prenons en compte ici la moyenne du bruit d’apprentissage car, si l’on veut
˜ (t) = s(t) + ntest(t) + napp (t),
avoir une estimation du test avec le bruit d’apprentissage à l’instant t ytest
la meilleure estimation dont on dispose de napp (t) sera la moyenne du bruit d’apprentissage, c’est-à-dire
celle qui a la probabilité maximale.
Résultats expérimentaux.
Compensation
RSB : 35dB
Tests
RSB : 15dB
Sans
40,8% 0,71
30,0% 1,07
16,6% 2,13
Avec (T)
40,0% 0,69
35,8% 0,81
30,7% 0,23
Avec (T+A)
97,5% -1,6
94,2% -0,9
91,6% -0,5
RSB : 8dB
Tableau 3 :Taux d’identification et taux d’émergence sans compensation, avec compensation du test
(bruit brouhaha), avec compensation du test (bruit brouhaha) et de l’apprentissage (bruit blanc), avec
différents niveaux de rapport signal sur bruit (RSB) pour le test, apprentissage réalisé à 15dB, 120
phrases de test prononcées par 40 locuteurs.
La méthode de combinaison parallèle de données permet d’obtenir un gain important du taux d’identi-
56
OLIVIER BELLOT
fication. En effet, en compensant les bruits de test et d’apprentissage, les taux d’identification passent
de 30,0% à 94,2% avec un RSB de 15 dB dans le test et de 16,6% à 91,6% avec un RSB de 8 dB. Par
contre, dans le cas où uniquement le bruit de test est compensé, la hausse est beaucoup moins importante.
Compenser uniquement le bruit de test peut être vu comme le cas où le test est propre et l’apprentissage
bruité avec un RSB de 15 dB. Sans compensation, le taux d’identification est de 40,8% dans ce cas-là.
La compensation du bruit de test uniquement permet effectivement de se rapprocher de cette valeur, sans
toutefois l’atteindre.
5.
RÉCAPITULATIF DU TRAVAIL EFFÉCTUÉ
Dans le cadre de ce projet, nous sommes intervenus plus particulièrement :
– au niveau du traitement du signal : étude approfondie de la technique de paramétrisation afin de
permettre la combinaison
– au niveau de la modélisation statistique des locuteurs : étude approfondie des techniques d’estimation des modèles afin de rendre le processus d’adaptation plus rapide
implémentation de la méthode CPD
– mise en place d’un protocole expérimental rigoureux permettant de valider les étapes nécessaires
une à une : corpus, rapport signal sur bruit de niveaux variés.
6.
CONCLUSIONS ET PERSPECTIVES
Dans ce travail, nous avons vu qu’il était possible de rendre les SIVL plus robustes aux changements
de conditions d’utilisation. La technique de combinaison paralèlle de données semble ainsi une technique
interessante pour adapter les modèles aux conditions de test. Dans notre cas, la compensation des bruits
additifs de test et d’apprentissage semble être réalisable d’une manière satisfaisante.
Néanmoins, la compensation des composantes convolutives pose quelques problèmes dans le cas de la
reconnaissance du locuteur en levant une partie des caractéristiques propres au locuteur testé. Il est donc
important d’étudier ceci afin de trouver une autre méthode efficace pour l’estimation du bruit convolutif
qui peut être une cause importante de distortion entre l’apprentissage et le test, surtout dans le cas de
rapport signal sur bruit élevés.
De plus, ces travaux doivent être accompagnés d’un module d’estimation du bruit en temps réel afin de
rendre ce système autonome et utilisable en conditions rèelles. Ces tests seront effectués prochainement
sur la base d’évaluation internationnale Nist.
Notes
1. Architecture Multi-utilisateur pour l’Indexation et la Reconnaissance Automatique du Locuteur
2. Laboratoire Informatique d’Avignon
3. Les fréquences deviennent des quéfrences, l’espace dans lequel nous sommes maintenant étant le domaine quéfrentiel, un filtrage y est
appelé liftrage.
4. Les poids pli sont proportionnels au nombre de trames de coefficients cepstraux appartenant à la gaussienne i et leur somme doit être
égale à 1.
5. Dans une application réelle, il peut être interessant de tenir compte de la différence de probabilité entre locuteurs. Néanmoins, pour nos
experiences, nous avons préféré ne pas en tenir compte, afin de rester dans un cas plus général, celui où nous n’avons aucune connaissance a
priori de la fréquence d’utilisation du système par les différents locuteurs.
6. Ce décalage n’est évidemment pas identique pour tout les locuteurs, car le bruit évolue
7. Si une personne parle dans un environnement où le rapport signal sur bruit est faible, celle-ci va généralement augmenter la puissance
de sa voix, entrainant ainsi certaines modifications non linéaires du spectre du signal de parole résultant. Ces modifications portent le nom
d’effet Lombard.
8. Dans le cadre de ce travail, cette transformation f consiste au passage du domaine cepstral au domaine spectral, suivi de la combinaison
et ensuite du retour au domaine cepstral.
9. ces données d’apprentissage doivent bien-sûr être sauvegardées !
10. réalisé par le LIMSI en 1993
Références
[1] B. Atal, ”Effectiveness of Linear Prediction Characteristics of Speech Wave for Automatic Speaker
Identification and Verification” Journal of the Acoustic Society of America, 55, pp. 1304-1312, June
Compensation des bruits additifs et convolutifs pour la reconnaissance automatique du locuteur
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
57
1974.
S.F Boll ”Suppression of Acoustic Noise in Speech Using Spectral Substraction” IEEE pp. 113120, 1979.
Corinne Fredouille, Jean-François Bonastre, Teva Merlin, ”AMIRAL : A Block-Segmental Multirecognizer Architecture for Automattic Speaker Recognition” Digital Signal Processing, 2000.
S. Furui, ”Cepstral Analysis Technique for Automatic Speaker Verification” IEEE Trans. Acoustic,
Speech and Signal Processing ASSP-29(2) :254-272, April 1981.
M.J.F. Gales, S.J. Young, ”Robust Continuous Speech Recognition using Parallel Model Combination”, Computer Speech & Language, 9(4), oct. 1995.
H. Hermansky, N. Morgan, A. Bayya, P.Kohn, ”Compensation for the Effect of Communication
Channel in Auditory-like Analysis of Speech (RASTA-PLP)” European Conference on Speech
Technology, pp. 91-94, 1991.
D. Matrouf, J.L. Gauvain, ”Model Compensation for noises in test and training data”, ICASSP-97..
D. Matrouf, ”Adaptation des Modèles Acoustiques pour la Reconnaissance de la Parole Bruitée”
Thèse de doctorat en sciences, Unviversité Paris XI-Orsay, décembre 1997.
C. Mokbel, ”Reconnaissance de la parole dans le bruit : bruitage/débruitage”, Thèse TELECOM
Paris 92 E 008, ,juin 1992.
R.A. Redner, H.F. Walker, ”Mixture densities, Maximum Likelihood and the EM Algorithm”, Society for Industrial and Apllied Mathematics, Vol. 26, No. 2, April 1984.
Douglas A. Reynolds, ”Speaker identification and verification using Gaussian mixture speaker models”, Speech Comunication, Mars 1995.
Y. Zaho.