• Aucun résultat trouvé

2.2 Proposition d’une mesure normalisée

2.2.1 Marches aléatoires en temps courts

Nous définissons ici le mécanisme de marches aléatoires dans un graphe. L’idée est de considérer un marcheur passant aléatoirement, à chaque pas de temps, d’un sommet à l’autre du graphe en suivant les arêtes.

2.2.1.1 Matrice de transition

Imaginons donc un marcheur présent sur un sommet du graphe et qui se déplace, à chaque pas de temps, en suivant une arête choisie aléatoirement. Ce processus correspond à la chaîne de Markov, ou au processus de Markov, associé au graphe. Cette chaîne de Markov est caractérisée par la matrice de transition P suivante :

P = (pu,v)u,v∈V, avec pu,v =

( 1

|Γ(u)| si {u, v} ∈ E,

0 sinon. (2.1)

avec Γ(u) l’ensemble des voisins du sommet u. Notons que la définition matricielle suivante est équivalente :

P = D−1A (2.2)

où D est une matrice diagonale contenant sur chaque composante (de la diagonale) le degré du sommet correspondant. Le tableau2.1 (page 44) récapitule les matrices usuelles associé à un graphe.

Remarquons qu’une ligne i de P décrit la probabilité de passer du sommet i vers chacun des autres sommets du graphe. Si le graphe est non dirigé et ne comporte pas de sommet isolé (c’est-à-dire chaque sommet possède au moins un voisin), alors P est une matrice stochastique. En effet il est facile de vérifier que la somme de chaque ligne vaut 1. La probabilité qu’un marcheur passe d’un sommet u à un sommet v en

t pas, que l’on note prxt(u, v), est alors donnée par :

prxt(u, v) = h Pti u,v = δuP t δTv (2.3)

avec δi un vecteur ligne constitué de zéros, sauf pour le ième élément qui vaut 1 et (.)T l’opérateur de transposition. Plus généralement, si P

0 est la distribution de

probabilité initiale du marcheur sur l’ensemble des sommets (vecteur ligne) alors P0.Pt est la distribution de probabilité décrivant la position du marcheur après

t pas. La matrice Pt donne l’ensemble des probabilités de passer d’un des sommets

Il faut bien souligner que les notations utilisées ici (prxt(u, v), P , etc.) ne pré- cisent pas le graphe concerné. Ce choix facilite la lecture, car la plupart du temps il n’y a pas d’ambiguïté quant au graphe utilisé. Aussi nous travaillons avec des vecteurs lignes (prxt(u, v), P0, etc.) plutôt qu’avec des vecteurs colonnes. Ce n’est

pas forcément le choix fait dans la littérature, nous le préférons pourtant car il évite de balader des opérateurs de transposition dans les écritures3.

Proposition 1. Si P est la matrice de transition associée à un graphe G non-dirigé

et ne comportant pas de sommets isolés, on a :

D.Pt= (D.Pt)T (2.4)

ce qui signifie, pour chaque case (u, v) de D.Pt :

|Γ(u)|.prxt(u, v) = |Γ(v)|.prxt(v, u) (2.5) Autrement dit la probabilité pour un marcheur de passer de u vers v multipliée par le degré de u est égale à la probabilité de passer de v vers u multipliée par le degré de v.

Démonstration. Comme D est symétrique, il suffit de remarquer que DPtD−1 =

(Pt)T. En effet on a :

DPtD−1 = D(D−1A)tD−1 = (AD−1)t

De plus, comme le graphe est non-dirigé, A est symétrique, et D−1 l’est aussi car c’est une matrice diagonale. On a alors :

(AD−1)t = (ATD−1T)t= (PT)t = (Pt)T

Graphes pondérés. Il est possible de prendre en compte une fonction de pondé- ration w : E → R+ disponible sur les arêtes du graphe. La matrice de transition P

se définit alors de la manière suivante :

P = (pu,v)u,v∈V, avec pu,v =

   w(u,v) P w∈Γ(u)w(u,w) si {u, v} ∈ E, 0 sinon. (2.6)

Le marcheur passe alors sur un voisin avec une probabilité proportionnelle au poids du lien entre les deux sommets.

3. En effet on trouve souvent dans la littérature exposé que la distribution d’un marcheur après

Complexité. Le calcul de Pt peut être fait récursivement avec P0 = I et Pt =

Pt−1.P . Chaque étape consiste donc en un produit d’une matrice, a priori pleine,

par une matrice creuse. En effet les graphes réels étant peu denses, leurs matrices d’adjacence (et donc de transition) sont creuses. Ce calcul peut être fait en O(nm). Le calcul de Pt est donc effectué en O(tnm).

Si l’on ne souhaite calculer qu’une seule ligne de Pt, alors il faut effectuer t multiplications d’un vecteur par une matrice creuse. La complexité temporelle est donc en O(tm).

2.2.1.2 Convergence

Sur un graphe G = (V, E) connexe, non-dirigé, non-périodique la probabilité qu’un marcheur aléatoire soit en un sommet u après une marche de longueur infinie vaut :

π(u) = P |Γ(u)|

w∈V |Γ(w)|

(2.7) Cette limite ne dépend donc pas du sommet de départ, et est simplement proportion- nelle au degré du sommet d’arrivée. La démonstration se fait à l’aide du théorème de Perron-Frobenius, nous renvoyons pas exemple à [Pons, 2007, section 2.2, page 29] pour une démonstration complète. Lorsqu’une pondération est prise en compte, il est facile de montrer que cette limite π(u) devient :

π(u) = P w∈Γ(u)w(u, w) P v∈V P w∈Γ(q)w(v, w) (2.8)

Graphe connexe. Cette limite est définie sur un graphe connexe, cela peut poser problème en pratique. Une solution simple consiste à considérer chaque composante connexe indépendamment. Notons aussi que la plus grande composante connexe représente souvent une large majorité des sommets ; il est alors possible de se res- treindre uniquement à cette plus grande composante connexe. Une autre solution est de toujours considérer le graphe comme connexe pour le calcul de la limite. Les sommets non-connectés ont alors une limite non nulle, et les sommets appartenant à la même composante connexe une limite un peu sous-estimée. En pratique, cela ne change pas grand chose pour des graphes dont la plus grande composante connexe contient la quasi totalité des arêtes.

Graphe périodique. Un graphe est dit périodique si les longueurs de tous ces cycles sont divisibles par un entier strictement supérieur à 1. Par exemple, les graphes bipartis sont des graphes périodiques de période 2 (ce sont les seuls graphes non-dirigés périodiques). On comprend aisément qu’une marche aléatoire ne peut converger vers une limite unique sur un graphe périodique. Il faut, pour assurer la

convergence, que le graphe soit non-périodique (où apériodique). C’est-à-dire que chaque sommet (de la composante connexe) puisse être atteint depuis n’importe quel autre en un nombre quelconque de pas (à condition que ce nombre soit suffisamment grand). Pour s’assurer de la non périodicité d’un graphe, une astuce simple consiste à ajouter une boucle sur chaque sommet. Le graphe est ainsi forcé réflexif. Souvent sur des données réelles aucune information n’est portée par ces liens de réflexivité, car soit aucun des sommets n’est relié à lui même, soit tous le sont. Aussi pour certaines des mesures basées sur les marches aléatoires courtes, nous transformons initialement le graphe pour ajouter une boucle sur chaque sommet.

2.2.1.3 Graphe bipartis

Les marches aléatoires fonctionnent de la même manière sur un graphe biparti, les définitions données jusque là sont donc toujours valables. Seulement un graphe biparti est un graphe de période 2 : en un temps pair seuls les sommets du même groupe que le sommet de départ sont accessibles, à l’inverse en un temps impair seuls ceux de l’autre type sont accessibles. Utiliser des marches aléatoires sur un graphe biparti va donc consister à effectuer soit des marches en temps pairs soit des marches en temps impairs. Un temps pair permet d’obtenir des probabilités d’atteindre les sommets du même type, alors qu’un temps impair donne des probabilités d’atteindre les sommets de l’autre type. Le fait important est que les marches en temps pairs, et impairs convergent chacune, et chacune vers deux limites différentes.

Proposition 2 (Projection). Une marche aléatoire en temps pair 2t sur un graphe

biparti G = (V = V>∪ V, E) est équivalente à une marche aléatoire en temps t sur

le graphe projeté pondéré Gproj = (V = V>∪ V, Eproj, wproj). Avec {u, v} ∈ Eproj

si et seulement si u et v ont (au moins) un voisin en commun dans G, l’arête les reliant est alors pondérée par :

wproj(u, v) = X w∈ΓG(u)∩ΓG(v) 1 dG(w) (2.9)

Démonstration. Comme G est biparti, sa matrice d’adjacence A est anti-diagonale par bloc. Si l’on range les sommets de V> avant ceux de V, on peut écrire A de la

manière suivante : A = " 0 A0 A0T 0 # (2.10) où A0 est une matrice rectangulaire de taille |V>| × |V|. La matrice de transition P

associée est donc elle aussi anti-diagonale par bloc : P = " 0 P1 P2 0 # (2.11)

P1 donne la probabilité de passer d’un sommet de V> vers un sommet de V, et P2

la probabilité de passer d’un sommet de Vvers un sommet de V>. On remarque

alors que la matrice P2 est diagonale par bloc :

P2 = " P1.P2 0 0 P2.P1 # (2.12) Alors pour tout t ≥ 0, on a :

P2t= (P2)t= " (P1.P2)t 0 0 (P2.P1)t # (2.13) Il est alors trivial de voir qu’une marche en temps pair 2t sur G est équivalente à une marche de temps t sur le graphe dont la matrice de transition est P2. Montrons

que ce graphe est bien Gproj.

Considérons le graphe donné par la matrice d’adjacence pondérée suivante : Aproj = A.D−1.A = " A0.D.A0T 0 0 A0T.D>.A0 # (2.14) Il est facile de vérifier que :

[Aproj]u,v =

X

w∈V>∪V

[A]u,w[A]w,v

P

y∈V>∪V[A]w,y

(2.15)

ou simplement si A est binaire : [Aproj]u,v = X w∈ΓG(u)∩ΓG(v) 1 dG(w) (2.16)

Aproj est donc la matrice d’adjacence du graphe Gproj. De plus on peut vérifier que :

X v∈V>∪V[Aproj]u,v = X w∈V>∪V[A]u,w (2.17)

C’est-à-dire que le degré (ou ici le poids) d’un sommet est le même dans les graphes projetés (les deux composantes connexes de Gproj) que dans le graphe G de départ. Ainsi la matrice de transition de Gproj n’est autre que P2.

Proposition 3 (Convergence). Sur un graphe G biparti et connexe, une marche

aléatoire partant uniquement de sommets de V> converge en temps pair vers 0 pour

les sommets de Vet vers :

π(u) = P d(u)

v∈V>d(v)

pour les sommets de V>. La même marche en temps impair converge vers 0 pour les

sommets de V> et vers :

π(u) = P d(u)

v∈Vd(v)

(2.19)

pour les sommets de V.

Pour démontrer cette proposition il faut utiliser les propositions 1 et2. En effet les deux composantes du graphe Gproj sont connexes si G est connexe, de plus

Gproj comporte par construction des boucles sur chacun de ces sommets, il est donc non-périodique. Enfin il faut remarquer qu’une marche aléatoire en temps impair partant de sommets de V> correspond à une marche aléatoire en temps pair partant

des sommets de V⊥.