ECG appliquées · Chapitre 03 · Premier semestre
Théorie des graphes
1re année
Sommets, arêtes, matrice d'adjacence, chemins, connexité, degré, formule d'Euler, analyse de réseaux sociaux.
Sommaire
Ce qu'il faut savoir faire
- Sommets
- Arêtes
- Matrice d'adjacence
- Chemins
- Connexité
- Degré
- Formule d'Euler
- Analyse de réseaux sociaux
Un plan de métro, une liste d'amis sur un réseau social, un tableau des échanges commerciaux entre pays, l'ensemble des liens hypertextes qui relient les pages du web : ces objets n'ont apparemment rien de commun. Ils le deviennent dès que l'on efface tout sauf une information, la seule qui compte ici : qui est relié à qui. Ce qui reste alors est un ensemble de points, et un ensemble de liens entre ces points. Cet objet minimal s'appelle un graphe, et il est d'une efficacité surprenante.
L'originalité de ce chapitre est qu'un graphe se manipule dans deux langages qui disent exactement la même chose. Le premier est le dessin : des ronds et des traits, sur lesquels on lit d'un coup d'œil les voisinages et les chemins. Le second est un tableau de nombres, la matrice d'adjacence, qui contient exactement la même information sous une forme calculable. Tout l'intérêt est là : traduite en matrice, une question de dessin devient un calcul, et le calcul, vous savez le mener depuis le chapitre précédent. Le théorème central du chapitre dit ainsi que le coefficient d'indice de compte les chemins de longueur allant du sommet au sommet . Une multiplication de matrices, et l'on connaît d'un coup tous les trajets d'une longueur donnée dans un réseau que l'on ne pourrait pas dessiner.
Le plan est le suivant. La section explique la démarche de modélisation et donne les ordres de grandeur des graphes réels. Les sections et installent le vocabulaire, d'abord sans orientation puis avec. La section construit la matrice d'adjacence et fait le lien entre ses coefficients et le dessin. La section définit les chaînes et les cycles, et la section démontre le théorème des puissances, qui est le résultat le plus utilisé du chapitre. Les sections et traitent la connexité et la distance, la section les degrés et la formule d'Euler dite des poignées de main. Les sections et sont deux compléments : les cycles eulériens, et les mesures de centralité utilisées dans l'analyse des réseaux sociaux.
Voici enfin les notations en vigueur dans tout le chapitre. Un graphe est noté , où est l'ensemble de ses sommets et l'ensemble de ses arêtes, ou de ses arcs s'il est orienté. Son ordre est le nombre de sommets, et désigne le nombre d'arêtes. Une arête est notée , un arc . La matrice d'adjacence est notée : le calligraphique désigne toujours l'ensemble des arêtes, le droit toujours la matrice. Le degré d'un sommet est noté , ses degrés entrant et sortant et . La distance entre deux sommets est notée , avec la lettre delta, car est déjà pris par le degré ; l'excentricité d'un sommet est et le diamètre du graphe . Une chaîne s'écrit et un chemin orienté . Enfin, le symbole marque la fin d'une démonstration.
Modéliser par un graphe
Modéliser une situation par un graphe demande deux décisions, et deux seulement : que représentent les sommets, et quelle relation représentent les arêtes. Tout le reste du travail est mathématique. Ces deux décisions ne sont pas neutres : selon la relation choisie, le graphe obtenu est orienté ou non, et les conclusions changent.
Voici cinq situations classiques, avec les ordres de grandeur correspondants.
| Situation | Sommets | Arêtes ou arcs | Orienté ? | Taille |
|---|---|---|---|---|
| Réseau social d'amitié | les comptes | « et sont amis » | non | de l'ordre de sommets |
| Réseau social d'abonnement | les comptes | « suit » | oui | idem |
| Graphe du web | les pages | « la page contient un lien vers » | oui | plusieurs centaines de milliards de pages |
| Réseau de transport | les stations | « une ligne relie directement et » | non | quelques centaines de sommets |
| Échanges économiques | les pays ou les secteurs | « exporte vers » | oui | quelques dizaines à quelques centaines |
Ces ordres de grandeur méritent d'être médités. Le dernier chiffre publié par Meta pour Facebook seul, en décembre , était d'environ milliards de comptes actifs mensuels, ce qui donne un graphe à plus de trois milliards de sommets. Aucun chiffre officiel n'existe pour le graphe du web ; les estimations disponibles évoquent plusieurs centaines de milliards de documents indexés. Un tel graphe ne se dessine évidemment pas : il ne s'étudie que par le calcul, ce qui est exactement le propos de ce chapitre. À l'inverse, le réseau des stations d'un métro tient sur une feuille, et c'est sur des exemples de cette taille que nous apprendrons les méthodes.
La distinction orienté ou non n'est pas une subtilité d'école. L'amitié sur Facebook est symétrique : si est ami avec , alors est ami avec , et le graphe n'est pas orienté. L'abonnement sur un réseau du type X ou Instagram ne l'est pas : on peut suivre un compte sans être suivi en retour, et le graphe est orienté. Un lien hypertexte non plus : la page peut pointer vers sans réciprocité, ce qui est précisément ce qui permet de classer les pages par importance.
Exemple
Cinq élèves d'une classe, , , , et , se prêtent leurs notes de cours. On sait que et s'échangent leurs notes, de même que et , et , et , et , et enfin et .
La relation « s'échanger ses notes » étant symétrique, on modélise par un graphe non orienté : les sommets sont les cinq élèves, et l'on relie deux élèves lorsqu'ils échangent leurs notes. On obtient exactement le graphe dessiné à la section suivante.
Si l'on avait choisi la relation « recopie les notes de », qui n'a aucune raison d'être réciproque, on aurait obtenu un graphe orienté différent.
Une fois la modélisation faite, les questions que l'on pose au graphe sont toujours à peu près les mêmes. L'information circule-t-elle entre deux points quelconques du réseau, autrement dit le graphe est-il connexe ? Combien d'étapes faut-il au minimum pour aller d'un point à un autre, autrement dit quelle est la distance ? Combien existe-t-il de trajets d'une longueur donnée ? Enfin, quels sommets sont les plus importants, et en quel sens ? Ce chapitre donne un outil pour chacune de ces questions.
Vocabulaire des graphes non orientés
Définition
Un graphe simple fini non orienté est un couple où
- est un ensemble fini non vide, dont les éléments sont appelés les sommets ;
- est un ensemble de paires de sommets distincts, appelées les arêtes.
L'ordre de est le nombre de ses sommets, et l'on note son nombre d'arêtes.
Le mot simple porte deux interdictions. Une arête relie deux sommets distincts : il n'y a pas de boucle, c'est-à-dire d'arête d'un sommet vers lui-même. Et est un ensemble de paires : une même paire y figure au plus une fois, il n'y a donc pas d'arête multiple. Un graphe qui autorise boucles et arêtes multiples s'appelle un multigraphe ; nous n'en rencontrerons qu'un seul, à la section , avec les ponts de Königsberg.
Définition
Soit un graphe non orienté et soit une arête de .
- Les sommets et sont les extrémités de , et l'on dit que est incidente à et à .
- Deux sommets et sont dits adjacents, ou voisins, lorsque .
- L'ensemble des voisins de est noté et appelé voisinage de .
- Le degré de , noté , est le nombre d'arêtes incidentes à ; dans un graphe simple, c'est aussi son nombre de voisins, c'est-à-dire le cardinal de . Un sommet de degré est dit isolé. La section est consacrée aux propriétés de ces degrés.
Exemple
Lisons entièrement le graphe ci-dessus. Son ensemble de sommets est , donc son ordre est . Son ensemble d'arêtes est
donc . Les voisinages se lisent directement sur le dessin :
Les sommets et sont adjacents, les sommets et ne le sont pas, bien que l'on puisse aller de l'un à l'autre en passant par . C'est le graphe de l'exemple des notes de cours de la section .
Définition
Soit un graphe. Un sous-graphe de est un graphe tel que et , chaque arête de ayant ses deux extrémités dans .
Lorsque contient toutes les arêtes de dont les deux extrémités sont dans , on dit que est le sous-graphe induit par .
Trois familles de graphes reviennent constamment, et méritent un nom.
Définition
Soit un entier naturel non nul.
- Le graphe complet d'ordre , noté , est le graphe à sommets dans lequel deux sommets distincts quelconques sont adjacents : toutes les arêtes possibles sont présentes.
- Un graphe est dit -régulier lorsque tous ses sommets ont exactement voisins. Il est dit régulier s'il est -régulier pour un certain .
- Un graphe est dit vide lorsque : il a des sommets, mais aucune arête.
Exemple
Le graphe ci-dessus a cinq sommets et arêtes. Chaque sommet est relié aux quatre autres : est donc -régulier. Plus généralement, est -régulier, et nous démontrerons à la section qu'il possède exactement arêtes.
Le graphe de la figure précédente, lui, n'est pas régulier : le sommet n'a qu'un voisin alors que en a trois. Enfin, le sous-graphe de induit par est un triangle, c'est-à-dire une copie de .
Graphes orientés
Lorsque la relation modélisée n'est pas symétrique, il faut munir chaque lien d'un sens.
Définition
Un graphe orienté est un couple où est un ensemble fini non vide de sommets et où est un ensemble de couples de sommets distincts, appelés les arcs.
L'arc se dessine par une flèche allant de vers ; le sommet en est l'origine et l'extrémité.
L'arc et l'arc sont deux arcs différents. Un graphe orienté peut contenir les deux, l'un des deux, ou aucun des deux : c'est toute la différence avec le cas non orienté, où l'arête et l'arête sont la même.
Définition
Soit un graphe orienté et soit un sommet de .
- Les successeurs de sont les sommets tels que , et ses prédécesseurs les sommets tels que .
- Le degré sortant de , noté , est son nombre de successeurs, c'est-à-dire le nombre d'arcs d'origine .
- Le degré entrant de , noté , est son nombre de prédécesseurs, c'est-à-dire le nombre d'arcs d'extrémité .
Exemple
Le graphe orienté ci-dessus a pour sommets , , et , et pour arcs
soit six arcs. Les successeurs de sont et , ses prédécesseurs sont et , donc et . De même et , puis et , enfin et .
Notez que les deux arcs et sont présents, ce qui se dessine par deux flèches opposées : on peut aller de à et revenir. En revanche l'arc n'existe pas : de , on ne peut pas revenir directement en .
À tout graphe orienté on peut associer le graphe non orienté obtenu en effaçant le sens des flèches, appelé graphe non orienté sous-jacent. C'est une opération qui perd de l'information, et il faut se garder de l'effectuer sans le dire : sur , elle transformerait les deux arcs et en une seule arête.
Matrice d'adjacence
Pour calculer sur un graphe, il faut le ranger dans un tableau. Cela suppose d'abord de numéroter ses sommets, une fois pour toutes.
Définition
Soit un graphe d'ordre dont les sommets ont été numérotés . La matrice d'adjacence de relativement à cette numérotation est la matrice définie, pour tous indices et , par
- dans le cas non orienté : si , et sinon ;
- dans le cas orienté : si , et sinon.
Autrement dit, le coefficient d'indice vaut lorsqu'il existe un lien allant de vers , et sinon.
La matrice d'adjacence dépend de la numérotation choisie : changer l'ordre des sommets échange les lignes et les colonnes correspondantes. Ce n'est pas gênant, à une condition, impérative : annoncer la numérotation avant d'écrire la matrice, et ne plus en changer.
Propriété
Soit la matrice d'adjacence d'un graphe simple d'ordre .
- Tous les coefficients diagonaux de sont nuls : pour tout .
- Si est non orienté, alors est symétrique : .
Démonstration. Pour le premier point, un graphe simple ne comporte pas de boucle : le sommet n'est jamais adjacent à lui-même, donc pour tout indice .
Pour le second point, soient et deux indices. Dans un graphe non orienté, une arête est une paire , et : les deux écritures désignent le même ensemble. L'appartenance équivaut donc à . Par définition de la matrice d'adjacence, et valent tous deux dans ce cas, et tous deux dans le cas contraire. Ainsi pour tous et , ce qui signifie exactement que .
La réciproque de ce dernier point est vraie et tout aussi utile : une matrice carrée dont les coefficients sont des et des , symétrique et de diagonale nulle, est la matrice d'adjacence d'un unique graphe simple non orienté sur les sommets numérotés. Une matrice non symétrique, elle, ne peut provenir que d'un graphe orienté.
Exemple
Reprenons le graphe de la section , avec la numérotation , , , , . Sa matrice d'adjacence est
Elle est bien symétrique, de diagonale nulle. La première ligne se lit : est voisin de et de , pas de ni de . La dernière ligne se lit : n'a que pour voisin.
Exemple
Pour le graphe complet , tout sommet est adjacent à tous les autres : la matrice d'adjacence a des partout sauf sur la diagonale,
Pour le graphe orienté de la section , avec la numérotation , , , ,
Cette dernière matrice n'est pas symétrique : par exemple alors que , ce qui traduit l'existence de l'arc et l'absence de l'arc . En revanche , car les deux arcs opposés sont présents.
Propriété
Soit la matrice d'adjacence d'un graphe d'ordre ayant arêtes, ou arcs.
- Si est non orienté, la somme des coefficients de la ligne vaut , et il en va de même pour la colonne .
- Si est orienté, la somme des coefficients de la ligne vaut , et celle de la colonne vaut .
- La somme de tous les coefficients de vaut si est non orienté, et s'il est orienté.
Démonstration. Traitons le cas non orienté. Fixons . La somme de la ligne est . Chaque terme de cette somme vaut lorsque est voisin de , et sinon : la somme compte donc exactement le nombre de voisins de , c'est-à-dire son degré. La symétrie de donne alors le résultat pour la colonne , dont les coefficients sont les mêmes.
Dans le cas orienté, le même raisonnement s'applique : compte les arcs d'origine , soit , tandis que compte les arcs d'extrémité , soit .
Pour le troisième point, la somme de tous les coefficients est , c'est-à-dire la somme des sommes de lignes. Dans le cas orienté, elle vaut donc , et chaque arc étant compté une fois, à sa ligne d'origine, ce total vaut . Dans le cas non orienté, chaque arête fournit deux coefficients égaux à , à savoir et : le total vaut donc .
Méthode
Passer du dessin à la matrice, et réciproquement.
Du dessin à la matrice.
- Numéroter les sommets et écrire cette numérotation à côté de la matrice.
- Remplir ligne par ligne : à la ligne , placer un dans chaque colonne telle qu'il existe une arête, ou un arc, de vers .
- Contrôler : diagonale nulle, matrice symétrique dans le cas non orienté, et somme totale des coefficients égale à (non orienté) ou (orienté).
De la matrice au dessin.
- Placer points et les nommer .
- Pour chaque coefficient égal à d'indice : tracer une arête entre et si est symétrique, une flèche de vers sinon.
- Contrôler que le degré de chaque sommet dessiné est bien la somme de la ligne correspondante.
Exemple
Reconstituons le graphe non orienté de matrice d'adjacence
La matrice est symétrique de diagonale nulle : elle provient bien d'un graphe simple non orienté à quatre sommets , , , . Les coefficients égaux à situés au-dessus de la diagonale sont d'indices , , et : les arêtes sont donc , , et . Le graphe est un quadrilatère . Chaque sommet est de degré , et la somme des coefficients vaut : il y a bien quatre arêtes.
Chaînes, chemins et cycles
Se déplacer dans un graphe, c'est passer de proche en proche d'un sommet à un sommet voisin.
Définition
Soit un graphe non orienté et soit un entier naturel. Une chaîne de longueur est une suite de sommets
telle que, pour tout compris entre et , les sommets et soient adjacents.
Les sommets et sont les extrémités de la chaîne, et l'on dit qu'elle joint à . La longueur est le nombre d'arêtes parcourues, en comptant les répétitions éventuelles.
Une chaîne peut repasser par un sommet déjà visité, et même réemprunter une arête déjà parcourue. Pour tout sommet , la suite réduite à est une chaîne de longueur . Deux qualificatifs servent à interdire les répétitions.
Définition
Soit une chaîne d'un graphe non orienté.
- Elle est dite simple lorsque ses arêtes sont deux à deux distinctes.
- Elle est dite élémentaire lorsque ses sommets sont deux à deux distincts.
- Elle est dite fermée lorsque .
Un cycle est une chaîne fermée, de longueur non nulle, dont les arêtes sont deux à deux distinctes. Un cycle est dit élémentaire lorsque ses sommets sont deux à deux distincts, à l'exception des deux extrémités qui coïncident.
Une chaîne élémentaire est toujours simple, car deux arêtes égales auraient les mêmes extrémités ; la réciproque est fausse. Dans un graphe simple, un cycle est nécessairement de longueur au moins : la longueur exigerait une boucle, et la longueur réemprunterait la même arête à l'aller et au retour.
Dans le cas orienté, les mêmes notions existent, mais chaque étape doit respecter le sens des flèches, et le vocabulaire change.
Définition
Soit un graphe orienté. Un chemin de longueur est une suite de sommets
telle que, pour tout compris entre et , le couple soit un arc de .
Un circuit est un chemin fermé, de longueur non nulle, dont les arcs sont deux à deux distincts.
Contrairement au cas non orienté, un circuit de longueur est possible dans un graphe orienté : il suffit que les deux arcs opposés et existent, et l'on peut alors décrire sans réemprunter le même arc.
Exemple
Sur le graphe ci-dessus, dont les arêtes sont , , , , et :
- est une chaîne de longueur , élémentaire.
- est une chaîne de longueur qui n'est ni simple, car l'arête y figure deux fois, ni élémentaire.
- est un cycle élémentaire de longueur : c'est le triangle .
- est un cycle élémentaire de longueur .
- est un cycle élémentaire de longueur qui passe par tous les sommets.
Propriété
Concaténation. Soit un graphe. S'il existe une chaîne de longueur joignant à , et une chaîne de longueur joignant à , alors il existe une chaîne de longueur joignant à .
Démonstration. Notons la première chaîne et la seconde. Considérons la suite de sommets obtenue en écrivant la première, puis la seconde privée de son premier terme :
Deux sommets consécutifs y sont adjacents : c'est vrai à l'intérieur de chaque morceau par hypothèse, et au raccord parce que est adjacent à . C'est donc une chaîne, et elle comporte arêtes. Elle joint bien à . Le même raisonnement vaut mot pour mot pour les chemins d'un graphe orienté.
Compter les chemins avec les puissances de la matrice
Voici le théorème central du chapitre. Il transforme un problème de dénombrement de trajets, qui semble exiger un examen du dessin, en un simple produit de matrices.
Propriété
Théorème des puissances. Soit un graphe, orienté ou non, d'ordre , de sommets numérotés et de matrice d'adjacence . Pour tout entier naturel et tous indices et , le coefficient d'indice de est égal au nombre de chemins de longueur allant de à , ces chemins étant appelés chaînes dans le cas non orienté.
Démonstration. Pour tous indices et et tout entier naturel , notons le nombre de chemins de longueur allant de à . Ce nombre est fini, car un tel chemin est déterminé par la suite de ses sommets, choisis parmi un ensemble fini. Montrons par récurrence sur la propriété
Initialisation. Traitons d'abord . Un chemin de longueur d'origine se réduit au seul sommet : il y en a exactement un allant de à , et aucun allant de à lorsque . Ainsi vaut si et sinon, ce qui est exactement le coefficient d'indice de . Donc est vraie.
Hérédité. Soit un entier naturel tel que soit vraie. Fixons deux indices et , et comptons les chemins de longueur allant de à . Un tel chemin s'écrit
et il possède un avant-dernier sommet , parfaitement déterminé par le chemin. Classons donc ces chemins selon ce sommet : pour chaque indice compris entre et , notons l'ensemble des chemins de longueur de à dont l'avant-dernier sommet est . Un chemin appartient à un et un seul de ces ensembles, qui sont donc deux à deux disjoints et de réunion l'ensemble de tous les chemins comptés.
Dénombrons . Se donner un élément de , c'est se donner un chemin de longueur de à , puis franchir l'arc de vers ; cette dernière étape est possible si et seulement si , et elle est alors unique. Donc est vide si , et de cardinal si . Dans les deux cas, . En sommant sur ,
L'hypothèse de récurrence donne , d'où
la dernière égalité venant de la définition du produit matriciel. Donc est vraie.
Conclusion. Par récurrence, est vraie pour tout entier naturel .
Ce théorème a plusieurs conséquences immédiates, toutes utiles en exercice.
Propriété
Corollaires. Soit un graphe d'ordre de matrice d'adjacence .
- Le nombre total de chemins de longueur dans , toutes extrémités confondues, est la somme de tous les coefficients de .
- Si est non orienté, alors pour tout indice .
- Si est non orienté, son nombre de triangles, c'est-à-dire d'ensembles de trois sommets deux à deux adjacents, vaut .
Démonstration. Le premier point est immédiat : les chemins de longueur se répartissent selon leur couple d'extrémités , et le nombre de ceux qui correspondent au couple est . La somme de tous les coefficients de les compte donc tous, une fois chacun.
Pour le deuxième point, écrivons le coefficient diagonal du produit :
où l'on a utilisé successivement la symétrie de , le fait que chaque vaut ou , donc est égal à son carré, et la propriété de la section sur la somme d'une ligne. Concrètement, les chaînes fermées de longueur issues de consistent à aller chez un voisin puis à revenir : il y en a autant que de voisins.
Pour le troisième point, fixons et comptons les chaînes fermées de longueur issues de , dont le nombre est . Une telle chaîne s'écrit . Comme le graphe est simple, il n'a pas de boucle, donc et ; de plus et sont adjacents, donc distincts. Les trois sommets , , sont ainsi deux à deux distincts et deux à deux adjacents : ils forment un triangle contenant . Réciproquement, chaque triangle contenant fournit exactement deux telles chaînes, correspondant aux deux sens de parcours. Donc , où désigne le nombre de triangles contenant . En sommant sur , et en remarquant que chaque triangle est compté une fois pour chacun de ses trois sommets,
où est le nombre de triangles du graphe. D'où .
Exemple
Reprenons le graphe et sa matrice de la section . Le calcul du produit , puis de , donne
Les deux matrices sont symétriques, ce qui est un premier contrôle. Interprétons quelques coefficients.
Le coefficient annonce deux chaînes de longueur de à : ce sont et . Le coefficient annonce qu'aucune chaîne de longueur ne joint à , ce que le dessin confirme. La diagonale de est : ce sont exactement les degrés de , , , et , conformément au corollaire.
Le coefficient annonce deux chaînes de longueur de à : ce sont et . Enfin , donc le graphe possède triangles : et . On les retrouve sur le dessin.
Méthode
Compter les chemins d'une longueur donnée.
- Numéroter les sommets et écrire la matrice d'adjacence .
- Calculer pour la longueur demandée, en enchaînant les produits : , puis , et ainsi de suite.
- Lire le coefficient d'indice : c'est le nombre cherché de chemins de à .
- Contrôles systématiques : la matrice est symétrique si le graphe est non orienté, ses coefficients sont des entiers positifs ou nuls, et la diagonale de redonne les degrés.
- Si la question porte sur les chemins de longueur comprise entre et , sommer les puissances : .
Connexité et composantes connexes
Un réseau n'a d'intérêt que si l'information peut y circuler. La notion correspondante est la connexité.
Définition
Soit un graphe non orienté et soient et deux sommets. On dit que et sont reliés, et l'on note , lorsqu'il existe une chaîne de à .
Propriété
La relation « être relié » est réflexive, symétrique et transitive.
Démonstration. Réflexivité. Pour tout sommet , la chaîne réduite au seul sommet , de longueur , joint à . Donc .
Symétrie. Supposons et soit une chaîne. La suite obtenue en la lisant à l'envers, à savoir , est encore une chaîne : deux sommets consécutifs y sont adjacents, l'adjacence étant symétrique dans un graphe non orienté. Elle joint à , donc .
Transitivité. Supposons et . La propriété de concaténation de la section fournit une chaîne de à , donc .
Cette relation range donc les sommets en paquets, deux sommets étant dans le même paquet exactement lorsqu'on peut aller de l'un à l'autre.
Définition
Les classes de la relation « être relié » s'appellent les composantes connexes de : la composante connexe d'un sommet est l'ensemble des sommets reliés à .
Le graphe est dit connexe lorsqu'il possède une seule composante connexe, c'est-à-dire lorsque deux sommets quelconques sont toujours reliés par une chaîne.
Exemple
Le graphe ci-dessus a pour arêtes , , , , et . Il n'est pas connexe : aucune chaîne ne joint à , puisqu'aucune arête ne quitte le triangle . Ses composantes connexes sont
Le sommet , de degré , est dit isolé : il forme à lui seul une composante.
En numérotant les sommets composante par composante, la matrice d'adjacence prend une forme diagonale par blocs, chaque bloc correspondant à une composante et tous les coefficients situés hors des blocs étant nuls. C'est ce que l'on lit sur le tableau suivant, qui est la matrice d'adjacence de pour la numérotation , , , , , , , .
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| A | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| B | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| C | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| D | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| E | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| F | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| G | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| H | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Reste à savoir tester la connexité sans examiner le dessin, ce qui est indispensable dès que le graphe est grand. Le résultat repose sur le lemme suivant, qui borne la longueur des chaînes utiles.
Propriété
Lemme. Soit un graphe d'ordre et soient et deux sommets reliés. Alors il existe une chaîne élémentaire de à , et sa longueur est inférieure ou égale à .
Démonstration. L'ensemble des longueurs des chaînes joignant à est une partie non vide de , puisque et sont reliés ; elle admet donc un plus petit élément. Soit une chaîne de longueur minimale .
Montrons par l'absurde que ses sommets sont deux à deux distincts. Supposons qu'il existe deux indices tels que . Considérons alors la suite
C'est encore une chaîne joignant à . En effet, si , la suite s'arrête à , et tous ses couples de sommets consécutifs proviennent de la chaîne initiale ; si , ces couples sont eux aussi inchangés, sauf au raccord, où est adjacent à par hypothèse. Dans les deux cas, la longueur obtenue vaut , qui est strictement inférieure à puisque . Cela contredit la minimalité de .
Les sommets sont donc deux à deux distincts : la chaîne est élémentaire. Ces sommets distincts appartiennent à , qui en compte , donc , c'est-à-dire .
Propriété
Critère matriciel de connexité. Soit un graphe non orienté d'ordre , de matrice d'adjacence . Posons
Alors est connexe si et seulement si tous les coefficients de sont strictement positifs.
Démonstration. Commençons par une remarque valable dans les deux sens. D'après le théorème des puissances, pour tous indices et ,
est une somme de nombres entiers positifs ou nuls, le terme d'indice comptant les chaînes de longueur de à . Par conséquent, si et seulement s'il existe au moins un entier compris entre et tel que , c'est-à-dire si et seulement s'il existe une chaîne de longueur au plus joignant à .
Supposons connexe, et soient et deux indices. Si , alors , donc . Si , les sommets et sont reliés par connexité ; le lemme fournit une chaîne élémentaire de à , de longueur . Alors , et tous les autres termes de la somme étant positifs ou nuls, . Tous les coefficients de sont donc strictement positifs.
Réciproquement, supposons tous les coefficients de strictement positifs, et soient et deux sommets, d'indices et . Comme , la remarque initiale fournit un entier tel que , c'est-à-dire au moins une chaîne de longueur joignant à . Ainsi deux sommets quelconques sont reliés : est connexe.
Exemple
Testons la connexité de , qui est d'ordre . Il faut donc calculer . En reprenant , et déjà obtenues et en calculant , on trouve
Tous les coefficients sont strictement positifs, donc est connexe. Le plus petit d'entre eux, , concerne le couple : ce sont les deux sommets les plus difficiles à joindre, ce que confirmera le calcul des distances.
Dans le cas orienté, la même construction fonctionne, mais la propriété obtenue est plus exigeante : on parle de forte connexité, c'est-à-dire de l'existence, pour tout couple de sommets , d'un chemin de vers et d'un chemin de vers . Le critère est identique : le graphe orienté est fortement connexe si et seulement si tous les coefficients de sont strictement positifs. La démonstration est la même, à ceci près que la symétrie n'est plus disponible, ce qui est sans importance puisqu'on traite les couples et séparément.
Exemple
Pour le graphe orienté , d'ordre , le calcul donne
Tous les coefficients sont strictement positifs : est fortement connexe. On peut le vérifier sur le dessin, par exemple en constatant que le circuit passe par tous les sommets.
Méthode
Tester la connexité d'un graphe d'ordre .
- Écrire la matrice d'adjacence .
- Calculer les puissances , puis la somme .
- Si tous les coefficients de sont strictement positifs, conclure que le graphe est connexe. Si un seul coefficient est nul, conclure qu'il ne l'est pas, et que et appartiennent à deux composantes connexes différentes.
- Raccourci utile en pratique : dès qu'une somme partielle , avec , n'a que des coefficients strictement positifs, le graphe est connexe et il est inutile de poursuivre les calculs.
- Pour un petit graphe, ne pas oublier qu'exhiber une chaîne entre chaque couple de sommets, ou une seule chaîne passant par tous, suffit à prouver la connexité.
Distance, excentricité et diamètre
Définition
Soit un graphe non orienté et soient et deux sommets reliés. La distance de à , notée , est la plus petite longueur d'une chaîne joignant à .
On pose . Lorsque et ne sont pas reliés, on convient que , ou l'on dit que la distance n'est pas définie.
Cette définition a un sens : l'ensemble des longueurs de chaînes joignant à est une partie non vide de , elle admet donc un plus petit élément. Le lemme de la section garantit de plus que dès que les deux sommets sont reliés. Enfin, la distance est symétrique : , puisqu'une chaîne se parcourt dans les deux sens.
Propriété
Soit un graphe de matrice d'adjacence , et soient et deux sommets reliés. Alors
Démonstration. D'après le théorème des puissances, est le nombre de chaînes de longueur joignant à . Dire que , c'est donc dire qu'il existe au moins une chaîne de longueur joignant à . L'ensemble est ainsi exactement l'ensemble des longueurs de chaînes joignant à , dont le plus petit élément est la distance par définition.
Propriété
Inégalité triangulaire. Pour tous sommets , , d'une même composante connexe, .
Démonstration. Posons et . Il existe une chaîne de longueur de à et une chaîne de longueur de à . Par concaténation, il existe une chaîne de longueur de à . La distance de à étant la plus petite longueur d'une telle chaîne, elle est inférieure ou égale à .
Définition
Soit un graphe connexe d'ordre .
- L'excentricité d'un sommet est : c'est la distance qui sépare du sommet le plus éloigné de lui.
- Le diamètre de est : c'est la plus grande distance entre deux sommets du graphe.
Exemple
Calculons toutes les distances dans . Le tableau se remplit en cherchant, pour chaque couple, la plus courte chaîne, ou en lisant la première puissance de dont le coefficient devient non nul.
Le diamètre vaut donc , réalisé par le couple . Ce résultat se lit aussi sur les puissances de : les coefficients d'indice de et de sont nuls, alors que celui de vaut , donc .
Méthode
Calculer une distance, une excentricité, un diamètre.
- Pour : calculer , puis , puis , et s'arrêter à la première puissance dont le coefficient d'indice est non nul. L'exposant atteint est la distance.
- Pour un petit graphe, procéder par cercles successifs à partir de : les voisins de sont à distance , leurs voisins non encore atteints à distance , et ainsi de suite.
- Dresser le tableau complet des distances, une ligne par sommet.
- L'excentricité d'un sommet est le maximum de sa ligne, et le diamètre le maximum du tableau.
- Contrôle : le tableau est symétrique, sa diagonale est nulle, et toutes les distances sont inférieures ou égales à .
Degré d'un sommet et formule d'Euler
Définition
Rappel de la section 2. Soit un graphe non orienté et soit un sommet. Le degré de , noté , est le nombre d'arêtes incidentes à ; dans un graphe simple, cela revient au nombre de voisins de , c'est-à-dire au cardinal de .
Dans un multigraphe, chaque arête multiple compte pour autant d'unités qu'il y a d'exemplaires, et une boucle compte deux fois, puisqu'elle est incidente deux fois au même sommet. Ce point servira aux ponts de Königsberg.
Propriété
Théorème des poignées de main, dit formule d'Euler. Soit un graphe non orienté ayant arêtes. Alors
Démonstration. Elle procède par double comptage : on dénombre de deux façons différentes le même ensemble fini, ce qui force l'égalité des deux résultats.
Considérons l'ensemble des couples où est un sommet, une arête, et où est une extrémité de . Les éléments de s'appellent les incidences du graphe.
Premier comptage, en groupant par sommet. Fixons un sommet . Le nombre d'incidences dont la première composante est est, par définition même du degré, égal à . En sommant sur tous les sommets,
Second comptage, en groupant par arête. Fixons une arête . Le graphe étant simple, ses deux extrémités et sont distinctes, donc le nombre d'incidences dont la seconde composante est vaut exactement . En sommant sur les arêtes,
Les deux comptages portant sur le même ensemble, .
L'énoncé porte le nom de « formule des poignées de main » pour la raison suivante : si des personnes se serrent la main, chaque poignée de main est comptée deux fois, une fois pour chaque main tendue. Le total des poignées de main données par l'ensemble des personnes est donc pair.
Propriété
Corollaire. Dans tout graphe non orienté, le nombre de sommets de degré impair est pair.
Démonstration. Notons l'ensemble des sommets de degré pair et celui des sommets de degré impair ; ils forment une partition de , donc
La somme est paire, comme somme d'entiers pairs, et est pair. Par différence, est un entier pair.
Or cette dernière somme comporte termes, tous impairs. Une somme de entiers impairs a la même parité que : en effet, chaque terme s'écrit , et la somme vaut , qui est pair si et seulement si l'est. Comme la somme est paire, est pair.
Propriété
Pour tout entier , le graphe complet possède exactement arêtes.
Démonstration. Dans , chaque sommet est adjacent aux autres, donc tous les sommets sont de degré . La somme des degrés vaut par conséquent . La formule des poignées de main donne , d'où .
Propriété
Version orientée. Soit un graphe orienté ayant arcs. Alors
Démonstration. Chaque arc possède exactement une origine, à savoir , et exactement une extrémité, à savoir . En classant les arcs selon leur origine, on obtient une partition de en paquets, celui associé à comptant arcs ; d'où . En classant cette fois les arcs selon leur extrémité, le même argument donne . Les deux sommes valent , donc elles sont égales.
Exemple
Vérifions la formule sur nos exemples.
Pour , les degrés sont , , , et . Leur somme vaut , et a bien arêtes. Les sommets de degré impair sont , , et : ils sont au nombre de quatre, ce qui est bien pair.
Pour , tous les degrés valent , la somme vaut , et le graphe a bien arêtes.
Pour le graphe orienté , les degrés sortants sont , , , , de somme , et les degrés entrants sont , , , , de somme également : il y a bien arcs.
Méthode
Utiliser la formule des poignées de main.
- Pour trouver le nombre d'arêtes connaissant tous les degrés : sommer les degrés et diviser par .
- Pour trouver un degré manquant : écrire l'équation et résoudre.
- Pour montrer qu'une configuration est impossible : vérifier la parité. Une liste de degrés dont la somme est impaire ne peut être celle d'aucun graphe, et un graphe ne peut avoir un nombre impair de sommets de degré impair.
- Pour un graphe -régulier d'ordre : la somme des degrés vaut , donc , et en particulier le produit doit être pair.
Complément : chaînes et cycles eulériens
Cette section est un complément hors programme. Aucune de ses notions n'est exigible en tant que telle, mais elle éclaire la formule d'Euler de la section précédente, dont elle est l'application historique, et elle explique l'expression de « graphe eulérien » que le programme mentionne parmi les exemples à connaître.
Définition
Soit un graphe connexe.
- Une chaîne eulérienne de est une chaîne qui emprunte chaque arête de exactement une fois.
- Un cycle eulérien est une chaîne eulérienne fermée, c'est-à-dire dont les deux extrémités coïncident.
Un graphe qui possède un cycle eulérien est dit eulérien.
Une chaîne eulérienne peut repasser par un même sommet autant de fois qu'il le faut : la contrainte porte sur les arêtes, pas sur les sommets. C'est exactement le problème du dessin « sans lever le crayon et sans repasser deux fois sur le même trait ».
Le problème est né à Königsberg, ville traversée par une rivière formant une île, et dont les quatre quartiers étaient reliés par sept ponts. La question posée aux habitants était de savoir s'il existait une promenade empruntant chacun des sept ponts exactement une fois. Euler la résolut en , et cette résolution est considérée comme l'acte de naissance de la théorie des graphes.
La modélisation est la suivante : les sommets sont les quatre quartiers, à savoir la rive nord , l'île , la rive sud et la rive est , et chaque pont devient une arête. Comme deux ponts relient à , et deux autres à , l'objet obtenu est un multigraphe : c'est le seul de ce cours.
Exemple
Résolution du problème des ponts. Comptons les degrés sur le multigraphe ci-dessus, en n'oubliant pas que chaque arête double compte pour deux :
Contrôle par la formule des poignées de main : , ce qui correspond bien aux sept ponts.
Les quatre sommets sont de degré impair. Or, comme on va le voir, une chaîne eulérienne impose qu'il y ait au plus deux sommets de degré impair. La promenade cherchée n'existe donc pas.
Voici l'argument, qui justifie la condition nécessaire et qu'il faut comprendre plutôt que retenir. Supposons qu'une chaîne eulérienne existe, et soit un sommet qui n'est pas une extrémité de cette chaîne. Chaque fois que la promenade arrive en , elle doit en repartir, et elle le fait par une autre arête, puisqu'aucune arête ne sert deux fois. Les arêtes incidentes à se groupent donc deux par deux, une pour entrer et une pour sortir, et toutes sont utilisées puisque la chaîne est eulérienne : le degré de est pair.
Il ne reste que les deux extrémités. Si la chaîne est fermée, l'arête du tout premier départ se marie avec celle de la toute dernière arrivée, et le raisonnement précédent s'applique aussi à ce sommet : tous les degrés sont pairs. Si la chaîne n'est pas fermée, le sommet de départ possède une arête de départ non appariée, et le sommet d'arrivée une arête d'arrivée non appariée : ces deux sommets, et eux seuls, sont de degré impair.
Dans tous les cas, un graphe qui admet une chaîne eulérienne a zéro ou deux sommets de degré impair. Königsberg en a quatre, donc la promenade est impossible. La réciproque, plus délicate, est admise.
Propriété
Théorème d'Euler (admis). Soit un graphe connexe.
- admet un cycle eulérien si et seulement si tous ses sommets sont de degré pair.
- admet une chaîne eulérienne non fermée si et seulement s'il a exactement deux sommets de degré impair, qui en sont alors les extrémités.
Le corollaire de la section prend ici tout son sens : le nombre de sommets de degré impair étant toujours pair, les cas « un seul sommet impair » ou « trois sommets impairs » ne peuvent pas se produire. Les deux énoncés du théorème couvrent donc tous les cas favorables.
Exemple
Le graphe a quatre sommets de degré impair, à savoir , , et : il n'admet ni chaîne ni cycle eulérien.
Le graphe de la section a pour degrés , , , et . Il est connexe et possède exactement deux sommets de degré impair, et : il admet donc une chaîne eulérienne non fermée d'extrémités et . En voici une :
Elle est de longueur et emprunte bien les six arêtes, chacune une seule fois. Notez qu'elle repasse par et par , ce qui est autorisé.
Le graphe complet est connexe et tous ses sommets sont de degré , donc pair : il est eulérien, et l'on peut le dessiner d'un seul trait en revenant à son point de départ, en parcourant les arêtes.
Analyse des réseaux sociaux
Les mesures présentées ici ne sont pas exigibles : le programme précise qu'on les introduit « sur des exemples simples », pour leur interprétation. Elles répondent à une question naturelle dès qu'un graphe modélise un réseau de personnes : quels sommets sont les plus importants, et en quel sens ? Il n'y a pas une seule réponse, car « important » peut vouloir dire deux choses très différentes.
Définition
Soit un graphe non orienté connexe d'ordre et soit un sommet. Le degré de centralité de est
C'est la proportion des autres sommets auxquels est directement relié. Ce nombre appartient toujours à l'intervalle , puisque , et il vaut exactement lorsque est adjacent à tous les autres sommets. Un sommet de fort degré de centralité a beaucoup de contacts directs : c'est la définition la plus naïve de l'influenceur.
Définition
Soit un graphe non orienté connexe et soit un sommet. Pour deux sommets distincts et , tous deux différents de , notons le nombre de plus courtes chaînes de à , et le nombre de celles qui passent par . Le degré d'intermédiarité de est
la somme portant sur toutes les paires de sommets distincts et , tous deux différents de .
Trois remarques sur cette définition. La somme porte sur des paires et non sur des couples : la paire n'est comptée qu'une fois. Le graphe étant connexe, chaque dénominateur est un entier supérieur ou égal à , donc la formule a bien un sens. Enfin, chaque terme appartient à : lorsque toutes les plus courtes chaînes de à passent par , la paire apporte ; lorsque la moitié y passe, elle apporte ; lorsque aucune n'y passe, elle apporte . Pour un graphe d'ordre , le nombre de paires en jeu est , ce qui donne la valeur maximale théorique de .
Exemple
Le réseau . Ses arêtes sont , , , , , , et , donc et . Les degrés sont
de somme , ce qui vérifie la formule des poignées de main. Les degrés de centralité, avec , valent donc
Trois sommets arrivent donc en tête à égalité : , et .
Pour départager ces trois sommets, calculons l'intermédiarité. Il faut d'abord le tableau des distances, obtenu de proche en proche.
On constate sur ce réseau que, pour chaque paire de sommets, la plus courte chaîne est unique, de sorte que tous les valent : chaque paire apporte donc ou , et il suffit de compter les paires dont la plus courte chaîne passe par le sommet étudié.
Exemple
Intermédiarité de . Les paires à examiner sont les paires de sommets pris parmi , , , , et . Celles dont l'unique plus courte chaîne passe par sont les neuf suivantes :
- par , par , par ;
- , et par les chaînes analogues issues de ;
- par , par , par .
Les six autres paires ne passent pas par : , et restent dans le triangle de gauche, et sont des arêtes, et emprunte . Ainsi
Exemple
Intermédiarité de , de et des autres sommets. Le raisonnement est le même.
Pour : toute chaîne partant de ou de vers , , ou doit emprunter l'arête , donc passer par . Cela fait les huit paires , , , , , , et , et aucune autre. Donc .
Pour : le sommet n'a que pour voisin, donc toute chaîne aboutissant à passe par . Cela fait les cinq paires , , , et . Aucune autre paire n'a besoin de , car et sont voisins. Donc .
Pour , , et : . Par exemple une chaîne passant par relierait à en deux étapes, alors que et sont voisins ; et , de degré , n'est sur aucun trajet entre deux autres sommets.
Le tableau final est éloquent.
| Sommet | |||||||
|---|---|---|---|---|---|---|---|
Les deux mesures ne disent pas la même chose. Le degré de centralité place , et à égalité : ils ont autant de contacts directs les uns que les autres. L'intermédiarité les sépare nettement, et désigne comme le sommet le plus stratégique du réseau : des paires de sommets communiquent par lui. Ce n'est pas celui qui a le plus d'amis, c'est celui qui sert de pont entre les deux groupes. Retirer , ou retirer , couperait le réseau en deux ; retirer ne changerait presque rien. En termes de réseau social, un fort signale un compte très suivi localement, un fort signale un compte par lequel transite l'information entre communautés, dont la disparition fragmente le réseau.
Exemple
Le cas des plus courtes chaînes multiples. Sur le graphe de la section , les deux chaînes et sont les plus courtes chaînes de à , donc . La paire apporte alors à et à : l'influence se partage entre les deux intermédiaires possibles. De même, avec les chaînes et , ce qui apporte encore à chacun de et , mais à , par lequel les deux chaînes passent. Au total, et .
Un mot, pour finir, sur les tailles réelles. Les calculs ci-dessus ont demandé une page pour sept sommets. Un réseau social réel en compte de l'ordre de trois milliards, soit environ paires de sommets à examiner pour une seule intermédiarité : c'est hors d'atteinte, non seulement à la main, mais aussi par un calcul direct sur ordinateur. L'analyse des grands réseaux repose donc sur des algorithmes spécialisés et sur des méthodes d'approximation, dont le principe reste exactement celui que nous venons de voir sur sept sommets.
Ce qu'il faut retenir
Les définitions à connaître.
- Graphe , ordre , nombre d'arêtes
- Sommets adjacents, voisinage
- Arête contre arc
- Matrice d'adjacence
- Chaîne, chemin, longueur
- Chaîne élémentaire, chaîne simple
- Cycle, circuit
- Connexité, composante connexe
- Distance , excentricité, diamètre
- Degré , degrés et
- Graphe complet , graphe régulier
- Degrés de centralité et d'intermédiarité
Les trois théorèmes exigibles.
- Puissances de la matrice d'adjacence. Le coefficient d'indice de est le nombre de chemins de longueur de à . Démonstration par récurrence, en découpant un chemin de longueur sur son avant-dernier sommet.
- Critère matriciel de connexité. Un graphe d'ordre est connexe si et seulement si tous les coefficients de sont strictement positifs. L'exposant vient du lemme : entre deux sommets reliés, il existe une chaîne élémentaire, donc de longueur au plus .
- Formule d'Euler, dite des poignées de main. , par double comptage des incidences. Conséquences : le nombre de sommets de degré impair est pair, et a arêtes.
Le tableau des réflexes.
| Question posée | Outil à mobiliser |
|---|---|
| Combien de chemins de longueur de à ? | le coefficient |
| Combien de chemins de longueur en tout ? | la somme de tous les coefficients de |
| Le graphe est-il connexe ? | tous les coefficients de sont-ils strictement positifs ? |
| Quelle est la distance ? | le plus petit tel que |
| Quel est le degré de ? | la somme de la ligne de , ou |
| Combien d'arêtes ? | la demi-somme des degrés, ou la demi-somme des coefficients de |
| Combien de triangles ? | |
| Cette liste de degrés est-elle possible ? | sa somme doit être paire |
| Quel sommet est le plus central ? | pour les contacts directs, pour le rôle de pont |
Les erreurs les plus fréquentes. Confondre la longueur d'une chaîne, qui compte les arêtes, avec son nombre de sommets, qui vaut un de plus. Oublier d'annoncer la numérotation des sommets avant d'écrire la matrice d'adjacence. Écrire une matrice d'adjacence non symétrique pour un graphe non orienté. Écrire une autre somme que dans le critère de connexité, en oubliant le terme ou en s'arrêtant à : c'est cette somme exacte, et elle seule, qui figure au théorème. Oublier que désigne la distance et le degré. Enfin, conclure qu'un graphe est connexe après avoir exhibé une seule chaîne : il faut relier tous les couples de sommets, ou invoquer le critère matriciel.
Bloqué sur « Théorie des graphes » ?
On peut le travailler ensemble dès cette semaine. La première heure est offerte — on fait le point honnêtement, et vous repartez au minimum avec une méthode.