Adloun

Théorie des graphes

Cours complet · mathématiques appliquées (ECG 1re année), chapitre 3 · prépa ECG, 1re année

Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre

Un graphe fini est un outil de modélisation simple et redoutablement efficace : il représente des objets et les liens entre eux. Les sciences sociales s'en servent pour les réseaux d'individus, l'économie pour des modèles d'évolution, l'informatique pour le réseau des pages web — celui-ci compte plusieurs dizaines de milliards de sommets, et c'est un calcul de graphe qui décide de l'ordre des résultats d'une recherche.

L'intérêt de ce chapitre, placé juste après le calcul matriciel, tient en une phrase : un graphe se range dans une matrice, et les puissances de cette matrice répondent à des questions qu'on ne saurait pas traiter autrement.

3.1 Vocabulaire

Définition 3.1Graphe

Un graphe est la donnée d'un ensemble fini de sommets et d'un ensemble d'arêtes reliant certains couples de sommets. Deux sommets reliés par une arête sont dits adjacents. Le graphe est orienté lorsque ses arêtes ont un sens (on parle alors d'arcs), non orienté sinon.

Exemple 3.2Deux lectures d'une même situation

Un réseau d'amitiés est naturellement non orienté : si est ami avec , l'est avec . Un réseau d'abonnements ne l'est pas : peut suivre sans réciproque. Le choix d'orienter ou non n'est pas technique, il traduit la nature du lien modélisé.

Définition 3.3Degré d'un sommet

Dans un graphe non orienté, le degré d'un sommet est le nombre d'arêtes qui en partent.

◆Théorème 3.4Formule d'Euler, dite des poignées de main

Dans un graphe non orienté à arêtes, la somme des degrés de tous les sommets vaut :

Démonstration

Comptons les couples (sommet, arête issue de ce sommet). En regroupant par sommet, ce nombre vaut . En regroupant par arête, chaque arête a exactement deux extrémités et fournit donc deux couples : le total vaut . Les deux comptages portent sur le même ensemble.

iRemarqueLe nom

Dans une assemblée, chaque poignée de main engage deux personnes : le nombre total de mains serrées est donc le double du nombre de poignées. Il en découle qu'un graphe a toujours un nombre pair de sommets de degré impair, car une somme d'entiers valant ne peut contenir un nombre impair de termes impairs.

3.2 Matrice d'adjacence

Définition 3.5Matrice d'adjacence

Soit un graphe dont les sommets sont numérotés de à . Sa matrice d'adjacence est la matrice définie par

Proposition 3.6Graphe non orienté et symétrie

Un graphe est non orienté si et seulement si sa matrice d'adjacence est symétrique.

Démonstration

Une arête entre et sans orientation se lit dans les deux sens : elle impose . Réciproquement, si , tout lien de vers s'accompagne du lien de vers .

iRemarqueLa numérotation est un choix

Renuméroter les sommets change la matrice, pas le graphe. Deux matrices différentes peuvent donc décrire le même objet — c'est le prix à payer pour disposer d'un tableau de nombres.

Exemple 3.7Le graphe complet

Le graphe complet à sommets, noté , relie chaque paire de sommets. Sa matrice d'adjacence a des sur la diagonale et des partout ailleurs ; chaque sommet est de degré , et le nombre d'arêtes vaut d'après la formule d'Euler.

3.3 Chemins et puissances de la matrice

Définition 3.8Chaîne, chemin, longueur

Une chaîne (ou, dans un graphe orienté, un chemin) de à est une suite de sommets dans laquelle deux sommets consécutifs sont reliés par une arête. Sa longueur est , c'est-à-dire le nombre d'arêtes empruntées.

◆Théorème 3.9Le théorème des puissances

Soit la matrice d'adjacence d'un graphe à sommets. Pour tout , le coefficient de position de est le nombre de chemins de longueur allant du sommet au sommet .

Démonstration

Par récurrence sur . Pour , vaut s'il y a une arête de vers , et sinon : c'est bien le nombre de chemins de longueur .

Supposons la propriété vraie au rang . Un chemin de longueur de à se décompose de façon unique en un chemin de longueur de vers un sommet intermédiaire , suivi d'une arête de vers . En sommant sur toutes les valeurs possibles de , le nombre de tels chemins vaut

puisque compte les chemins de longueur de à par hypothèse de récurrence, et vaut ou selon que la dernière arête existe ou non.

ImportantPourquoi c'est le produit matriciel

La démonstration ne fait qu'écrire la définition du produit : . Le produit matriciel est exactement le comptage des façons d'aller de à en passant par un intermédiaire. C'est là que le chapitre précédent et celui-ci se rejoignent.

Exemple 3.10Compter les chemins

Sur le graphe ci-dessus, a pour coefficient le nombre de chaînes de longueur de à . Il n'y en a qu'une : . Le coefficient de vaut — les chaînes de longueur d'un sommet vers lui-même sont les allers-retours sur chacune de ses arêtes.

iRemarqueLa diagonale de

De façon générale, pour un graphe non orienté, . La trace de vaut donc : la formule d'Euler se relit sur les matrices.

3.4 Connexité

Définition 3.11Graphe connexe

Un graphe est connexe lorsque, pour tout couple de sommets , il existe une chaîne allant de à . Autrement dit : le graphe est d'un seul tenant.

◆Théorème 3.12Critère matriciel de connexité

Soit un graphe à sommets, de matrice d'adjacence . Alors est connexe si et seulement si tous les coefficients de la matrice

sont strictement positifs.

Démonstration

Le coefficient de cette somme compte les chemins de à de longueur , , …, . Il est strictement positif exactement lorsqu'il existe un chemin de à de longueur au plus .

Il reste à voir qu'un chemin de à , s'il en existe, peut toujours être choisi de longueur au plus . Prenons-en un de longueur minimale : s'il repassait deux fois par un même sommet, on pourrait supprimer la portion comprise entre les deux passages et obtenir un chemin plus court, ce qui contredirait la minimalité. Ce chemin visite donc des sommets deux à deux distincts : il en emprunte au plus , donc au plus arêtes.

AttentionLa longueur n'est pas décorative

S'arrêter à ou ne prouve rien : dans un graphe en chaîne à sommets, aller du premier au dernier demande arêtes. C'est le nombre de sommets qui borne la longueur utile, pas l'intuition.

3.5 Un mot sur l'analyse des réseaux sociaux

iRemarqueHors programme, mais éclairant

Le programme signale quelques mesures utilisées pour analyser un réseau, en précisant qu'elles ne sont pas exigibles. Elles montrent bien ce qu'un graphe permet de lire.

  • Le degré de centralité d'un sommet est son degré, éventuellement rapporté à . Un sommet de fort degré est directement connecté à beaucoup d'autres — un « influenceur » au sens le plus naïf.
  • Le degré d'intermédiarité mesure la fréquence à laquelle un sommet se trouve sur le chemin le plus court entre deux autres. Un sommet peut avoir peu de voisins et une intermédiarité énorme : c'est le pont entre deux communautés, celui dont le retrait coupe le réseau en deux.

Ces deux mesures ne classent pas les sommets dans le même ordre, et c'est tout l'intérêt : « être connecté » et « être incontournable » ne sont pas la même chose.

Python : Compter les chemins, tester la connexité

Une fois le graphe rangé dans un tableau, tout devient du calcul matriciel.


import numpy as np

A = np.array([[0,1,0,0,1],
              [1,0,1,0,1],
              [0,1,0,1,0],
              [0,0,1,0,1],
              [1,1,0,1,0]])
n = A.shape[0]

print(np.linalg.matrix_power(A, 2))   # chemins de longueur 2
print(np.diag(A @ A))                 # les degres : [2 3 2 2 3]

S = np.eye(n, dtype=int)
P = np.eye(n, dtype=int)
for d in range(1, n):
    P = P @ A
    S = S + P
print("connexe :", (S > 0).all())     # True

La boucle s'arrête à , conformément au théorème. Aller plus loin ne changerait rien ; s'arrêter plus tôt pourrait conclure à tort.

3.6 L'essentiel du chapitre

Fiche de synthèse
  • Vocabulaire : sommets, arêtes, adjacence ; orienté ou non ; degré d'un sommet.
  • Euler : — donc le nombre de sommets de degré impair est pair.
  • Matrice d'adjacence : s'il y a une arête ; symétrique graphe non orienté.
  • Théorème des puissances : est le nombre de chemins de longueur de à . Pour un graphe non orienté, .
  • Connexité : connexe tous les coefficients de sont . La borne vient de ce qu'un chemin minimal ne repasse jamais par un sommet.
  • Réseaux sociaux : centralité (degré) et intermédiarité (être sur les chemins courts) ne classent pas pareil. Non exigibles.

Continuer sur Adloun : animation, QCM, fiches, exercices