Aller au contenu

Corrigé détaillé · PSI

Classements et cycles cachés

Cette page contient la correction complète du devoir. Pour profiter du problème, mieux vaut d’abord chercher l’énoncé puis revenir comparer les méthodes et la rédaction.

Correction en ligne

Solution détaillée et rédaction

Le texte ci-dessous est généré directement depuis le corrigé source de la banque AlgèBrille : la version HTML et le PDF restent ainsi synchronisés avec le même contenu canonique.

Le corrigé construit d’abord la décomposition gradient/cycle, puis le problème de moindres carrés et enfin la décomposition de Hodge discrète.

I — Gradients et circulations

  1. Si ee est orientée de ii vers jj, sa colonne dans BB contient 1-1 en ligne ii et +1+1 en ligne jj. Donc
(Bp)e=pjpi.(B^\top p)_e=p_j-p_i.

Un gradient mesure ainsi une différence de potentiel entre les extrémités de l’arête.

Pour un flot xx, la coordonnée (Bx)i(Bx)_i est la somme des valeurs des arêtes entrant en ii moins la somme des valeurs des arêtes sortant de ii. Avec notre convention de signes, il s’agit du bilan net entrant au sommet ii.

  1. Par définition de la transposée,
Bp,x=(Bp)x=pBx=p,Bx.\langle B^\top p,x\rangle=(B^\top p)^\top x=p^\top Bx=\langle p,Bx\rangle.

Si xkerBx\in\ker B, alors Bx=0Bx=0, donc Bp,x=0\langle B^\top p,x\rangle=0 pour tout pp. Ainsi

Im(B)kerB.\operatorname{Im}(B^\top)\perp\ker B.
  1. Chaque colonne de BB contient un 1-1 et un +1+1, donc
B1=0.B^\top\mathbf1=0.

Réciproquement, si Bp=0B^\top p=0, alors pour toute arête iji\to j,

pjpi=0.p_j-p_i=0.

Deux sommets adjacents portent donc la même valeur. Le graphe étant connexe, on peut relier n’importe quels deux sommets par un chemin : toutes les coordonnées de pp sont égales. Ainsi

ker(B)=Vect(1).\ker(B^\top)=\operatorname{Vect}(\mathbf1).

Le théorème du rang donne

rgB=rg(B)=n1,\operatorname{rg}B=\operatorname{rg}(B^\top)=n-1,

puis

dimkerB=mrgB=mn+1.\dim\ker B=m-\operatorname{rg}B=m-n+1.
  1. Les deux sous-espaces sont orthogonaux d’après la question 2. De plus
dimIm(B)+dimkerB=(n1)+(mn+1)=m.\dim\operatorname{Im}(B^\top)+\dim\ker B=(n-1)+(m-n+1)=m.

Ils forment donc une somme directe égale à Rm\mathbb R^m :

Rm=Im(B)kerB.\mathbb R^m=\operatorname{Im}(B^\top)\mathbin{\overset\perp\oplus}\ker B.

Tout flot xx s’écrit de manière unique

x=Bp+c,Bc=0.x=B^\top p+c, \qquad Bc=0.

La composante BpB^\top p est unique, même si le potentiel pp lui-même ne l’est qu’à une constante additive près.

[IDÉE] La dimension mn+1m-n+1 est déjà révélatrice : un arbre connexe a m=n1m=n-1 et ne possède aucun flot cyclique non nul ; chaque arête ajoutée au-delà d’un arbre crée une direction cyclique supplémentaire.

II — Le meilleur score global

  1. Le vecteur BpB^\top p est le projeté orthogonal de yy sur Im(B)\operatorname{Im}(B^\top) si et seulement si
r=yBpIm(B).r=y-B^\top p\in\operatorname{Im}(B^\top)^\perp.

Or, d’après la question 2,

Im(B)=kerB.\operatorname{Im}(B^\top)^\perp=\ker B.

Ainsi la condition équivaut à Br=0Br=0, soit

B(yBp)=0.B(y-B^\top p)=0.

On obtient les équations normales

BBp=By.BB^\top p=By.

L’espace Im(B)\operatorname{Im}(B^\top) est de dimension finie ; le projeté orthogonal de yy sur cet espace existe donc. D’après la première partie de la question, tout potentiel pp représentant ce projeté fournit une solution des équations normales : celles-ci admettent donc au moins une solution.

Si pp et qq sont deux solutions,

BB(qp)=0.BB^\top(q-p)=0.

Alors

0=(qp)BB(qp)=B(qp)2,0=(q-p)^\top BB^\top(q-p)=\|B^\top(q-p)\|^2,

donc B(qp)=0B^\top(q-p)=0 et, par la question 3,

qpVect(1).q-p\in\operatorname{Vect}(\mathbf1).

Parmi tous les représentants p+λ1p+\lambda\mathbf1, une unique valeur de λ\lambda impose p1++pn=0p_1+\cdots+p_n=0. Il existe donc une unique solution normalisée.

  1. Comme L=BBL=BB^\top,
L=(BB)=BB=L.L^\top=(BB^\top)^\top=BB^\top=L.

De plus, pour tout pp,

pLp=pBBp=Bp20.p^\top Lp=p^\top BB^\top p=\|B^\top p\|^2\geqslant0.

Chaque coordonnée de BpB^\top p associée à une arête iji\to j vaut pjpip_j-p_i, d’où

pLp={i,j}E(pjpi)2.p^\top Lp=\sum_{\{i,j\}\in E}(p_j-p_i)^2.

On a Lp=0Lp=0 si et seulement si pLp=0p^\top Lp=0, donc si et seulement si Bp=0B^\top p=0. Ainsi

kerL=Vect(1).\ker L=\operatorname{Vect}(\mathbf1).

Enfin, LiiL_{ii} est la somme des carrés des coefficients de la ligne ii de BB : c’est le nombre d’arêtes incidentes à ii, donc son degré. Pour iji\neq j, le produit scalaire des lignes ii et jj vaut 1-1 si une arête les relie et 00 sinon.

  1. Inverser l’orientation de l’arête ee revient à multiplier la colonne ee de BB par 1-1. Si DD est la matrice diagonale égale à l’identité sauf en position ee, où elle vaut 1-1, la nouvelle incidence est
B=BD.B'=BD.

Les mêmes données physiques sont représentées par y=Dyy'=Dy. Alors

By=BDDy=By,BB=BDDB=BB.B'y'=BDDy=By, \qquad B'B'^\top=BDDB^\top=BB^\top.

Les équations normales sont donc inchangées. Le score normalisé pp est le même. Le résidu change seulement de coordonnées :

yBp=D(yBp),y'-B'^\top p=D(y-B^\top p),

et DD est orthogonale, donc sa norme est inchangée.

III — Un exemple : quatre objets et une préférence cyclique

  1. Dans l’ordre des arêtes 12,13,14,23,24,3412,13,14,23,24,34,
B=(111000100110010101001011).B= \begin{pmatrix} -1&-1&-1&0&0&0\\ 1&0&0&-1&-1&0\\ 0&1&0&1&0&-1\\ 0&0&1&0&1&1 \end{pmatrix}.

Un produit direct donne

BB=(3111131111311113).BB^\top= \begin{pmatrix} 3&-1&-1&-1\\ -1&3&-1&-1\\ -1&-1&3&-1\\ -1&-1&-1&3 \end{pmatrix}.
  1. On calcule
By=(12,4,4,12).By=(-12,-4,4,12)^\top.

Pour K4K_4,

L=4I4J,L=4I_4-J,

JJ est la matrice dont tous les coefficients valent 11. Sur l’hyperplan des vecteurs de somme nulle, Jp=0Jp=0, donc Lp=4pLp=4p. La solution normalisée est ainsi

p=(3,1,1,3).p=(-3,-1,1,3)^\top.

Le gradient associé vaut

Bp=(2,4,6,2,4,2),B^\top p=(2,4,6,2,4,2)^\top,

et le résidu est

c=(1,1,0,1,0,0).c=(1,-1,0,1,0,0)^\top.

Ses trois composantes non nulles concernent les arêtes 1212, 1313 et 2323 : elles forment la circulation

1231.1\to2\to3\to1.

Le classement global est cohérent avec 4>3>2>14>3>2>1, mais les données contiennent en plus une petite préférence cyclique entre 11, 22 et 33.

  1. On vérifie directement que
Bc=0.Bc=0.

De plus

c2=3,y2=9+9+36+9+16+4=83.\|c\|^2=3, \qquad \|y\|^2=9+9+36+9+16+4=83.

Donc

c2y2=3833,6%.\frac{\|c\|^2}{\|y\|^2}=\frac3{83}\approx3,6\%.

Cette proportion mesure ici la part quadratique de l’information qui n’est pas expliquée par un classement global par scores.

IV — Cycles locaux, cycles globaux : une décomposition de Hodge

  1. Considérons une colonne de CC, c’est-à-dire le bord d’un triangle orienté. À chacun de ses trois sommets, une arête du bord entre et une autre sort. Le bilan est donc nul en chaque sommet : BB appliqué à cette colonne vaut 00. Ainsi
BC=0.BC=0.

Par conséquent

ImCkerB.\operatorname{Im}C\subset\ker B.

Enfin, pour tous pp et uu,

Bp,Cu=p,BCu=0,\langle B^\top p,Cu\rangle=\langle p,BCu\rangle=0,

d’où

Im(B)ImC.\operatorname{Im}(B^\top)\perp\operatorname{Im}C.

[IDÉE] L’identité BC=0BC=0 traduit ici un fait très concret : parcourir entièrement un cycle triangulaire ne crée ni source ni puits à ses sommets.

  1. Posons
F=Im(B)+ImC.F=\operatorname{Im}(B^\top)+\operatorname{Im}C.

Les deux termes sont orthogonaux, donc la somme est directe. Un vecteur xx appartient à FF^\perp si et seulement si

xIm(B)etxImC.x\perp\operatorname{Im}(B^\top) \qquad\text{et}\qquad x\perp\operatorname{Im}C.

La première condition équivaut à Bx=0Bx=0, la seconde à Cx=0C^\top x=0. Ainsi

F=kerBkerC=H.F^\perp=\ker B\cap\ker C^\top=H.

Dans l’espace euclidien Rm\mathbb R^m,

Rm=FF.\mathbb R^m=F\mathbin{\overset\perp\oplus}F^\perp.

On obtient donc

Rm=Im(B)ImCH.\mathbb R^m =\operatorname{Im}(B^\top) \mathbin{\overset\perp\oplus}\operatorname{Im}C \mathbin{\overset\perp\oplus}H.
  1. Pour le triangle 123123 orienté 12311\to2\to3\to1, le bord a pour coordonnées, dans l’ordre 12,13,14,23,24,3412,13,14,23,24,34,
(1,1,0,1,0,0).(1,-1,0,1,0,0)^\top.

C’est exactement le résidu cc.

Les bords de 123123, 124124 et 134134 sont linéairement indépendants : dans une combinaison linéaire nulle, les coefficients des arêtes 2323, 2424 et 3434 imposent successivement la nullité des trois coefficients de combinaison. Leur espace engendré est donc de dimension au moins 33.

Or, pour K4K_4, n=4n=4 et m=6m=6, donc

dimkerB=mn+1=3.\dim\ker B=m-n+1=3.

Comme ImCkerB\operatorname{Im}C\subset\ker B, on a nécessairement

ImC=kerB.\operatorname{Im}C=\ker B.

Ainsi

H={0}.H=\{0\}.

Tous les cycles sont ici engendrés par des cycles triangulaires locaux.

  1. Pour le carré, n=4n=4 et m=4m=4, donc
dimkerB=mn+1=1.\dim\ker B=m-n+1=1.

Un flot constant égal à 11 lorsqu’on suit le cycle 123411\to2\to3\to4\to1 a divergence nulle : à chaque sommet, une unité entre et une unité sort. Il est non nul, donc il engendre kerB\ker B.

Aucun triangle n’étant sélectionné, C=0C=0 et donc kerC=Rm\ker C^\top=\mathbb R^m. Ainsi

H=kerB.H=\ker B.

Le cycle est global : il entoure le trou du carré et ne peut pas être écrit comme somme de circulations autour de triangles, puisqu’il n’existe aucune face triangulaire dans le modèle.

Dans la première décomposition, tout résidu était simplement « cyclique ». L’ajout de la matrice CC distingue maintenant les cycles locaux, engendrés par les triangles sélectionnés, des cycles harmoniques qui subsistent à l’échelle globale. Cette distinction est exactement celle qui rend la décomposition utile au-delà d’un simple calcul de projection.

Sources

[SOURCE] L.-H. Lim, Hodge Laplacians on Graphs, SIAM Review 62(3), 2020 : Lien direct.

[SOURCE] X. Jiang, L.-H. Lim, Y. Yao et Y. Ye, Statistical Ranking and Combinatorial Hodge Theory, Mathematical Programming 127, 2011 : Lien direct.