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
Le cours
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 (i,j) de Ad compte les chemins de longueur d allant du sommet i au sommet j. 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 1 explique la démarche de modélisation et donne les ordres de grandeur des graphes réels. Les sections 2 et 3 installent le vocabulaire, d'abord sans orientation puis avec. La section 4 construit la matrice d'adjacence et fait le lien entre ses coefficients et le dessin. La section 5 définit les chaînes et les cycles, et la section 6 démontre le théorème des puissances, qui est le résultat le plus utilisé du chapitre. Les sections 7 et 8 traitent la connexité et la distance, la section 9 les degrés et la formule d'Euler dite des poignées de main. Les sections 10 et 11 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é G=(S,A), où S est l'ensemble de ses sommets et A l'ensemble de ses arêtes, ou de ses arcs s'il est orienté. Son ordre est le nombre n de sommets, et m désigne le nombre d'arêtes. Une arête est notée {u,v}, un arc (u,v). La matrice d'adjacence est notée A=(ai,j) : le A calligraphique désigne toujours l'ensemble des arêtes, le A droit toujours la matrice. Le degré d'un sommet s est noté d(s), ses degrés entrant et sortant d−(s) et d+(s). La distance entre deux sommets est notée δ(u,v), avec la lettre delta, car d est déjà pris par le degré ; l'excentricité d'un sommet est e(s) et le diamètre du graphe diam(G). Une chaîne s'écrit u0−u1−⋯−uk et un chemin orienté u0→u1→⋯→uk. 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 | « u et v sont amis » | non | de l'ordre de 3×109 sommets |
| Réseau social d'abonnement | les comptes | « u suit v » | oui | idem |
| Graphe du web | les pages | « la page u contient un lien vers v » | oui | plusieurs centaines de milliards de pages |
| Réseau de transport | les stations | « une ligne relie directement u et v » | non | quelques centaines de sommets |
| Échanges économiques | les pays ou les secteurs | « u exporte vers v » | 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 2023, était d'environ 3,07 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 u est ami avec v, alors v est ami avec u, 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 u peut pointer vers v 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, A, B, C, D et E, se prêtent leurs notes de cours. On sait que A et B s'échangent leurs notes, de même que A et C, B et C, B et D, C et D, et enfin D et E.
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 « u recopie les notes de v », 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 G=(S,A) où
- S est un ensemble fini non vide, dont les éléments sont appelés les sommets ;
- A est un ensemble de paires {u,v} de sommets distincts, appelées les arêtes.
L'ordre de G est le nombre n de ses sommets, et l'on note m 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 A 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 10, avec les ponts de Königsberg.
Définition
Soit G=(S,A) un graphe non orienté et soit a={u,v} une arête de G.
- Les sommets u et v sont les extrémités de a, et l'on dit que a est incidente à u et à v.
- Deux sommets u et v sont dits adjacents, ou voisins, lorsque {u,v}∈A.
- L'ensemble des voisins de u est noté V(u) et appelé voisinage de u.
- Le degré de u, noté d(u), est le nombre d'arêtes incidentes à u ; dans un graphe simple, c'est aussi son nombre de voisins, c'est-à-dire le cardinal de V(u). Un sommet de degré 0 est dit isolé. La section 9 est consacrée aux propriétés de ces degrés.
Exemple
Lisons entièrement le graphe G1 ci-dessus. Son ensemble de sommets est S={A,B,C,D,E}, donc son ordre est n=5. Son ensemble d'arêtes est
A={{A,B},{A,C},{B,C},{B,D},{C,D},{D,E}},donc m=6. Les voisinages se lisent directement sur le dessin :
V(A)={B,C},V(B)={A,C,D},V(C)={A,B,D},V(D)={B,C,E},V(E)={D}.Les sommets A et B sont adjacents, les sommets A et D ne le sont pas, bien que l'on puisse aller de l'un à l'autre en passant par B. C'est le graphe de l'exemple des notes de cours de la section 1.
Définition
Soit G=(S,A) un graphe. Un sous-graphe de G est un graphe G′=(S′,A′) tel que S′⊂S et A′⊂A, chaque arête de A′ ayant ses deux extrémités dans S′.
Lorsque A′ contient toutes les arêtes de G dont les deux extrémités sont dans S′, on dit que G′ est le sous-graphe induit par S′.
Trois familles de graphes reviennent constamment, et méritent un nom.
Définition
Soit n un entier naturel non nul.
- Le graphe complet d'ordre n, noté Kn, est le graphe à n sommets dans lequel deux sommets distincts quelconques sont adjacents : toutes les arêtes possibles sont présentes.
- Un graphe est dit r-régulier lorsque tous ses sommets ont exactement r voisins. Il est dit régulier s'il est r-régulier pour un certain r.
- Un graphe est dit vide lorsque A=∅ : il a des sommets, mais aucune arête.
Exemple
Le graphe K5 ci-dessus a cinq sommets et 10 arêtes. Chaque sommet est relié aux quatre autres : K5 est donc 4-régulier. Plus généralement, Kn est (n−1)-régulier, et nous démontrerons à la section 9 qu'il possède exactement 2n(n−1) arêtes.
Le graphe G1 de la figure précédente, lui, n'est pas régulier : le sommet E n'a qu'un voisin alors que B en a trois. Enfin, le sous-graphe de G1 induit par {A,B,C} est un triangle, c'est-à-dire une copie de K3.
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 G=(S,A) où S est un ensemble fini non vide de sommets et où A est un ensemble de couples (u,v) de sommets distincts, appelés les arcs.
L'arc (u,v) se dessine par une flèche allant de u vers v ; le sommet u en est l'origine et v l'extrémité.
L'arc (u,v) et l'arc (v,u) 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 {u,v} et l'arête {v,u} sont la même.
Définition
Soit G=(S,A) un graphe orienté et soit s un sommet de G.
- Les successeurs de s sont les sommets v tels que (s,v)∈A, et ses prédécesseurs les sommets u tels que (u,s)∈A.
- Le degré sortant de s, noté d+(s), est son nombre de successeurs, c'est-à-dire le nombre d'arcs d'origine s.
- Le degré entrant de s, noté d−(s), est son nombre de prédécesseurs, c'est-à-dire le nombre d'arcs d'extrémité s.
Exemple
Le graphe orienté G2 ci-dessus a pour sommets 1, 2, 3 et 4, et pour arcs
A={(1,2),(2,3),(3,4),(4,1),(1,3),(3,1)},soit six arcs. Les successeurs de 1 sont 2 et 3, ses prédécesseurs sont 3 et 4, donc d+(1)=2 et d−(1)=2. De même d+(2)=1 et d−(2)=1, puis d+(3)=2 et d−(3)=2, enfin d+(4)=1 et d−(4)=1.
Notez que les deux arcs (1,3) et (3,1) sont présents, ce qui se dessine par deux flèches opposées : on peut aller de 1 à 3 et revenir. En revanche l'arc (2,1) n'existe pas : de 2, on ne peut pas revenir directement en 1.
À 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 G2, elle transformerait les deux arcs (1,3) et (3,1) 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 G un graphe d'ordre n dont les sommets ont été numérotés s1,s2,…,sn. La matrice d'adjacence de G relativement à cette numérotation est la matrice A=(ai,j)∈Mn(R) définie, pour tous indices i et j, par
- dans le cas non orienté : ai,j=1 si {si,sj}∈A, et ai,j=0 sinon ;
- dans le cas orienté : ai,j=1 si (si,sj)∈A, et ai,j=0 sinon.
Autrement dit, le coefficient d'indice (i,j) vaut 1 lorsqu'il existe un lien allant de si vers sj, et 0 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 A la matrice d'adjacence d'un graphe simple G d'ordre n.
- Tous les coefficients diagonaux de A sont nuls : ai,i=0 pour tout i.
- Si G est non orienté, alors A est symétrique : tA=A.
Démonstration. Pour le premier point, un graphe simple ne comporte pas de boucle : le sommet si n'est jamais adjacent à lui-même, donc ai,i=0 pour tout indice i.
Pour le second point, soient i et j deux indices. Dans un graphe non orienté, une arête est une paire {si,sj}, et {si,sj}={sj,si} : les deux écritures désignent le même ensemble. L'appartenance {si,sj}∈A équivaut donc à {sj,si}∈A. Par définition de la matrice d'adjacence, ai,j et aj,i valent tous deux 1 dans ce cas, et tous deux 0 dans le cas contraire. Ainsi ai,j=aj,i pour tous i et j, ce qui signifie exactement que tA=A. □
La réciproque de ce dernier point est vraie et tout aussi utile : une matrice carrée dont les coefficients sont des 0 et des 1, 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 G1 de la section 2, avec la numérotation A, B, C, D, E. Sa matrice d'adjacence est
A=0110010110110100110100010Elle est bien symétrique, de diagonale nulle. La première ligne se lit : A est voisin de B et de C, pas de D ni de E. La dernière ligne se lit : E n'a que D pour voisin.
Exemple
Pour le graphe complet K5, tout sommet est adjacent à tous les autres : la matrice d'adjacence a des 1 partout sauf sur la diagonale,
AK5=0111110111110111110111110Pour le graphe orienté G2 de la section 3, avec la numérotation 1, 2, 3, 4,
AG2=0011100011000010Cette dernière matrice n'est pas symétrique : par exemple a1,2=1 alors que a2,1=0, ce qui traduit l'existence de l'arc (1,2) et l'absence de l'arc (2,1). En revanche a1,3=a3,1=1, car les deux arcs opposés sont présents.
Propriété
Soit A la matrice d'adjacence d'un graphe G d'ordre n ayant m arêtes, ou m arcs.
- Si G est non orienté, la somme des coefficients de la ligne i vaut d(si), et il en va de même pour la colonne i.
- Si G est orienté, la somme des coefficients de la ligne i vaut d+(si), et celle de la colonne i vaut d−(si).
- La somme de tous les coefficients de A vaut 2m si G est non orienté, et m s'il est orienté.
Démonstration. Traitons le cas non orienté. Fixons i. La somme de la ligne i est ∑j=1nai,j. Chaque terme de cette somme vaut 1 lorsque sj est voisin de si, et 0 sinon : la somme compte donc exactement le nombre de voisins de si, c'est-à-dire son degré. La symétrie de A donne alors le résultat pour la colonne i, dont les coefficients sont les mêmes.
Dans le cas orienté, le même raisonnement s'applique : ∑j=1nai,j compte les arcs d'origine si, soit d+(si), tandis que ∑k=1nak,i compte les arcs d'extrémité si, soit d−(si).
Pour le troisième point, la somme de tous les coefficients est ∑i=1n∑j=1nai,j, c'est-à-dire la somme des sommes de lignes. Dans le cas orienté, elle vaut donc ∑i=1nd+(si), et chaque arc étant compté une fois, à sa ligne d'origine, ce total vaut m. Dans le cas non orienté, chaque arête {si,sj} fournit deux coefficients égaux à 1, à savoir ai,j et aj,i : le total vaut donc 2m. □
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 i, placer un 1 dans chaque colonne j telle qu'il existe une arête, ou un arc, de si vers sj.
- Contrôler : diagonale nulle, matrice symétrique dans le cas non orienté, et somme totale des coefficients égale à 2m (non orienté) ou m (orienté).
De la matrice au dessin.
- Placer n points et les nommer s1,…,sn.
- Pour chaque coefficient égal à 1 d'indice (i,j) : tracer une arête entre si et sj si A est symétrique, une flèche de si vers sj sinon.
- Contrôler que le degré de chaque sommet dessiné est bien la somme de la ligne correspondante.
Exemple
Reconstituons le graphe non orienté H de matrice d'adjacence
AH=0101101001011010La matrice est symétrique de diagonale nulle : elle provient bien d'un graphe simple non orienté à quatre sommets s1, s2, s3, s4. Les coefficients égaux à 1 situés au-dessus de la diagonale sont d'indices (1,2), (1,4), (2,3) et (3,4) : les arêtes sont donc {s1,s2}, {s1,s4}, {s2,s3} et {s3,s4}. Le graphe est un quadrilatère s1−s2−s3−s4−s1. Chaque sommet est de degré 2, et la somme des coefficients vaut 8=2×4 : 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 G un graphe non orienté et soit k un entier naturel. Une chaîne de longueur k est une suite de sommets
u0−u1−⋯−uktelle que, pour tout i compris entre 0 et k−1, les sommets ui et ui+1 soient adjacents.
Les sommets u0 et uk sont les extrémités de la chaîne, et l'on dit qu'elle joint u0 à uk. La longueur est le nombre k 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 u, la suite réduite à u est une chaîne de longueur 0. Deux qualificatifs servent à interdire les répétitions.
Définition
Soit u0−u1−⋯−uk 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 u0=uk.
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 3 : la longueur 1 exigerait une boucle, et la longueur 2 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 G un graphe orienté. Un chemin de longueur k est une suite de sommets
u0→u1→⋯→uktelle que, pour tout i compris entre 0 et k−1, le couple (ui,ui+1) soit un arc de G.
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 2 est possible dans un graphe orienté : il suffit que les deux arcs opposés (u,v) et (v,u) existent, et l'on peut alors décrire u→v→u sans réemprunter le même arc.
Exemple
Sur le graphe G3 ci-dessus, dont les arêtes sont {s1,s2}, {s2,s3}, {s3,s4}, {s4,s5}, {s5,s1} et {s2,s5} :
- s1−s2−s3−s4 est une chaîne de longueur 3, élémentaire.
- s1−s2−s5−s1−s2 est une chaîne de longueur 4 qui n'est ni simple, car l'arête {s1,s2} y figure deux fois, ni élémentaire.
- s1−s2−s5−s1 est un cycle élémentaire de longueur 3 : c'est le triangle s1s2s5.
- s2−s3−s4−s5−s2 est un cycle élémentaire de longueur 4.
- s1−s2−s3−s4−s5−s1 est un cycle élémentaire de longueur 5 qui passe par tous les sommets.
Propriété
Concaténation. Soit G un graphe. S'il existe une chaîne de longueur p joignant u à v, et une chaîne de longueur q joignant v à w, alors il existe une chaîne de longueur p+q joignant u à w.
Démonstration. Notons u=x0−x1−⋯−xp=v la première chaîne et v=y0−y1−⋯−yq=w la seconde. Considérons la suite de sommets obtenue en écrivant la première, puis la seconde privée de son premier terme :
x0−x1−⋯−xp−y1−y2−⋯−yq.Deux sommets consécutifs y sont adjacents : c'est vrai à l'intérieur de chaque morceau par hypothèse, et au raccord parce que xp=v=y0 est adjacent à y1. C'est donc une chaîne, et elle comporte p+q arêtes. Elle joint bien x0=u à yq=w. 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 G un graphe, orienté ou non, d'ordre n, de sommets numérotés s1,…,sn et de matrice d'adjacence A. Pour tout entier naturel d et tous indices i et j, le coefficient d'indice (i,j) de Ad est égal au nombre de chemins de longueur d allant de si à sj, ces chemins étant appelés chaînes dans le cas non orienté.
Démonstration. Pour tous indices i et j et tout entier naturel d, notons Nd(i,j) le nombre de chemins de longueur d allant de si à sj. Ce nombre est fini, car un tel chemin est déterminé par la suite de ses d+1 sommets, choisis parmi un ensemble fini. Montrons par récurrence sur d la propriété
P(d):pour tous indices i et j,Nd(i,j)=(Ad)i,j.Initialisation. Traitons d'abord d=0. Un chemin de longueur 0 d'origine si se réduit au seul sommet si : il y en a exactement un allant de si à si, et aucun allant de si à sj lorsque j=i. Ainsi N0(i,j) vaut 1 si i=j et 0 sinon, ce qui est exactement le coefficient d'indice (i,j) de A0=In. Donc P(0) est vraie.
Hérédité. Soit d un entier naturel tel que P(d) soit vraie. Fixons deux indices i et j, et comptons les chemins de longueur d+1 allant de si à sj. Un tel chemin s'écrit
si=u0→u1→⋯→ud→ud+1=sj,et il possède un avant-dernier sommet ud, parfaitement déterminé par le chemin. Classons donc ces chemins selon ce sommet : pour chaque indice k compris entre 1 et n, notons Ek l'ensemble des chemins de longueur d+1 de si à sj dont l'avant-dernier sommet est sk. 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 Ek. Se donner un élément de Ek, c'est se donner un chemin de longueur d de si à sk, puis franchir l'arc de sk vers sj ; cette dernière étape est possible si et seulement si ak,j=1, et elle est alors unique. Donc Ek est vide si ak,j=0, et de cardinal Nd(i,k) si ak,j=1. Dans les deux cas, card(Ek)=Nd(i,k)ak,j. En sommant sur k,
Nd+1(i,j)=k=1∑nNd(i,k)ak,j.L'hypothèse de récurrence donne Nd(i,k)=(Ad)i,k, d'où
Nd+1(i,j)=k=1∑n(Ad)i,kak,j=(AdA)i,j=(Ad+1)i,j,la dernière égalité venant de la définition du produit matriciel. Donc P(d+1) est vraie.
Conclusion. Par récurrence, P(d) est vraie pour tout entier naturel d. □
Ce théorème a plusieurs conséquences immédiates, toutes utiles en exercice.
Propriété
Corollaires. Soit G un graphe d'ordre n de matrice d'adjacence A.
- Le nombre total de chemins de longueur d dans G, toutes extrémités confondues, est la somme de tous les coefficients de Ad.
- Si G est non orienté, alors (A2)i,i=d(si) pour tout indice i.
- Si G est non orienté, son nombre de triangles, c'est-à-dire d'ensembles de trois sommets deux à deux adjacents, vaut 61tr(A3).
Démonstration. Le premier point est immédiat : les chemins de longueur d se répartissent selon leur couple d'extrémités (si,sj), et le nombre de ceux qui correspondent au couple (si,sj) est (Ad)i,j. La somme de tous les coefficients de Ad les compte donc tous, une fois chacun.
Pour le deuxième point, écrivons le coefficient diagonal du produit :
(A2)i,i=k=1∑nai,kak,i=k=1∑nai,k2=k=1∑nai,k=d(si),où l'on a utilisé successivement la symétrie de A, le fait que chaque ai,k vaut 0 ou 1, donc est égal à son carré, et la propriété de la section 4 sur la somme d'une ligne. Concrètement, les chaînes fermées de longueur 2 issues de si consistent à aller chez un voisin puis à revenir : il y en a autant que de voisins.
Pour le troisième point, fixons i et comptons les chaînes fermées de longueur 3 issues de si, dont le nombre est (A3)i,i. Une telle chaîne s'écrit si−u−v−si. Comme le graphe est simple, il n'a pas de boucle, donc u=si et v=si ; de plus u et v sont adjacents, donc distincts. Les trois sommets si, u, v sont ainsi deux à deux distincts et deux à deux adjacents : ils forment un triangle contenant si. Réciproquement, chaque triangle contenant si fournit exactement deux telles chaînes, correspondant aux deux sens de parcours. Donc (A3)i,i=2ti, où ti désigne le nombre de triangles contenant si. En sommant sur i, et en remarquant que chaque triangle est compté une fois pour chacun de ses trois sommets,
tr(A3)=i=1∑n2ti=2×3×T=6T,où T est le nombre de triangles du graphe. D'où T=61tr(A3). □
Exemple
Reprenons le graphe G1 et sa matrice A de la section 4. Le calcul du produit A×A, puis de A2×A, donne
A2=2112013211123112113001101A3=2552254561554612662321130Les deux matrices sont symétriques, ce qui est un premier contrôle. Interprétons quelques coefficients.
Le coefficient (A2)1,4=2 annonce deux chaînes de longueur 2 de A à D : ce sont A−B−D et A−C−D. Le coefficient (A2)1,5=0 annonce qu'aucune chaîne de longueur 2 ne joint A à E, ce que le dessin confirme. La diagonale de A2 est (2,3,3,3,1) : ce sont exactement les degrés de A, B, C, D et E, conformément au corollaire.
Le coefficient (A3)1,5=2 annonce deux chaînes de longueur 3 de A à E : ce sont A−B−D−E et A−C−D−E. Enfin tr(A3)=2+4+4+2+0=12, donc le graphe possède 612=2 triangles : ABC et BCD. 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 A.
- Calculer Ad pour la longueur d demandée, en enchaînant les produits : A2=A×A, puis A3=A2×A, et ainsi de suite.
- Lire le coefficient d'indice (i,j) : c'est le nombre cherché de chemins de si à sj.
- Contrôles systématiques : la matrice Ad est symétrique si le graphe est non orienté, ses coefficients sont des entiers positifs ou nuls, et la diagonale de A2 redonne les degrés.
- Si la question porte sur les chemins de longueur comprise entre 1 et d, sommer les puissances : A+A2+⋯+Ad.
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 G un graphe non orienté et soient u et v deux sommets. On dit que u et v sont reliés, et l'on note uRv, lorsqu'il existe une chaîne de u à v.
Propriété
La relation « être relié » est réflexive, symétrique et transitive.
Démonstration. Réflexivité. Pour tout sommet u, la chaîne réduite au seul sommet u, de longueur 0, joint u à u. Donc uRu.
Symétrie. Supposons uRv et soit u=x0−x1−⋯−xk=v une chaîne. La suite obtenue en la lisant à l'envers, à savoir xk−xk−1−⋯−x0, est encore une chaîne : deux sommets consécutifs y sont adjacents, l'adjacence étant symétrique dans un graphe non orienté. Elle joint v à u, donc vRu.
Transitivité. Supposons uRv et vRw. La propriété de concaténation de la section 5 fournit une chaîne de u à w, donc uRw. □
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 G : la composante connexe d'un sommet u est l'ensemble des sommets reliés à u.
Le graphe G 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 G4 ci-dessus a pour arêtes {A,B}, {A,C}, {B,C}, {D,E}, {E,F} et {F,G}. Il n'est pas connexe : aucune chaîne ne joint A à D, puisqu'aucune arête ne quitte le triangle ABC. Ses composantes connexes sont
{A,B,C},{D,E,F,G},{H}.Le sommet H, de degré 0, 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 G4 pour la numérotation A, B, C, D, E, F, G, H.
| 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 G un graphe d'ordre n et soient u et v deux sommets reliés. Alors il existe une chaîne élémentaire de u à v, et sa longueur est inférieure ou égale à n−1.
Démonstration. L'ensemble des longueurs des chaînes joignant u à v est une partie non vide de N, puisque u et v sont reliés ; elle admet donc un plus petit élément. Soit u=u0−u1−⋯−uk=v une chaîne de longueur minimale k.
Montrons par l'absurde que ses sommets sont deux à deux distincts. Supposons qu'il existe deux indices p<q tels que up=uq. Considérons alors la suite
u0−u1−⋯−up−uq+1−uq+2−⋯−uk.C'est encore une chaîne joignant u à v. En effet, si q=k, la suite s'arrête à up=uq=v, et tous ses couples de sommets consécutifs proviennent de la chaîne initiale ; si q<k, ces couples sont eux aussi inchangés, sauf au raccord, où up=uq est adjacent à uq+1 par hypothèse. Dans les deux cas, la longueur obtenue vaut k−(q−p), qui est strictement inférieure à k puisque q>p. Cela contredit la minimalité de k.
Les sommets u0,u1,…,uk sont donc deux à deux distincts : la chaîne est élémentaire. Ces k+1 sommets distincts appartiennent à S, qui en compte n, donc k+1⩽n, c'est-à-dire k⩽n−1. □
Propriété
Critère matriciel de connexité. Soit G un graphe non orienté d'ordre n, de matrice d'adjacence A. Posons
M=In+A+A2+⋯+An−1.Alors G est connexe si et seulement si tous les coefficients de M 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 i et j,
Mi,j=d=0∑n−1(Ad)i,jest une somme de n nombres entiers positifs ou nuls, le terme d'indice d comptant les chaînes de longueur d de si à sj. Par conséquent, Mi,j>0 si et seulement s'il existe au moins un entier d compris entre 0 et n−1 tel que (Ad)i,j>0, c'est-à-dire si et seulement s'il existe une chaîne de longueur au plus n−1 joignant si à sj.
Supposons G connexe, et soient i et j deux indices. Si i=j, alors (A0)i,i=(In)i,i=1, donc Mi,i⩾1>0. Si i=j, les sommets si et sj sont reliés par connexité ; le lemme fournit une chaîne élémentaire de si à sj, de longueur d⩽n−1. Alors (Ad)i,j⩾1, et tous les autres termes de la somme étant positifs ou nuls, Mi,j>0. Tous les coefficients de M sont donc strictement positifs.
Réciproquement, supposons tous les coefficients de M strictement positifs, et soient u et v deux sommets, d'indices i et j. Comme Mi,j>0, la remarque initiale fournit un entier d tel que (Ad)i,j>0, c'est-à-dire au moins une chaîne de longueur d joignant u à v. Ainsi deux sommets quelconques sont reliés : G est connexe. □
Exemple
Testons la connexité de G1, qui est d'ordre n=5. Il faut donc calculer M=I5+A+A2+A3+A4. En reprenant A, A2 et A3 déjà obtenues et en calculant A4=A3×A, on trouve
M=15161616416242318816232418816181821648865Tous les coefficients sont strictement positifs, donc G1 est connexe. Le plus petit d'entre eux, M1,5=4, concerne le couple (A,E) : 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 (u,v), d'un chemin de u vers v et d'un chemin de v vers u. Le critère est identique : le graphe orienté est fortement connexe si et seulement si tous les coefficients de In+A+⋯+An−1 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 (i,j) et (j,i) séparément.
Exemple
Pour le graphe orienté G2, d'ordre 4, le calcul donne
I4+A+A2+A3=4232222132422122Tous les coefficients sont strictement positifs : G2 est fortement connexe. On peut le vérifier sur le dessin, par exemple en constatant que le circuit 1→2→3→4→1 passe par tous les sommets.
Méthode
Tester la connexité d'un graphe d'ordre n.
- Écrire la matrice d'adjacence A.
- Calculer les puissances A2,…,An−1, puis la somme M=In+A+⋯+An−1.
- Si tous les coefficients de M sont strictement positifs, conclure que le graphe est connexe. Si un seul coefficient Mi,j est nul, conclure qu'il ne l'est pas, et que si et sj appartiennent à deux composantes connexes différentes.
- Raccourci utile en pratique : dès qu'une somme partielle In+A+⋯+Ak, avec k<n−1, 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 G un graphe non orienté et soient u et v deux sommets reliés. La distance de u à v, notée δ(u,v), est la plus petite longueur d'une chaîne joignant u à v.
On pose δ(u,u)=0. Lorsque u et v ne sont pas reliés, on convient que δ(u,v)=+∞, 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 u à v est une partie non vide de N, elle admet donc un plus petit élément. Le lemme de la section 7 garantit de plus que δ(u,v)⩽n−1 dès que les deux sommets sont reliés. Enfin, la distance est symétrique : δ(u,v)=δ(v,u), puisqu'une chaîne se parcourt dans les deux sens.
Propriété
Soit G un graphe de matrice d'adjacence A, et soient si et sj deux sommets reliés. Alors
δ(si,sj)=min{d∈N;(Ad)i,j>0}.Démonstration. D'après le théorème des puissances, (Ad)i,j est le nombre de chaînes de longueur d joignant si à sj. Dire que (Ad)i,j>0, c'est donc dire qu'il existe au moins une chaîne de longueur d joignant si à sj. L'ensemble {d∈N;(Ad)i,j>0} est ainsi exactement l'ensemble des longueurs de chaînes joignant si à sj, dont le plus petit élément est la distance par définition. □
Propriété
Inégalité triangulaire. Pour tous sommets u, v, w d'une même composante connexe, δ(u,w)⩽δ(u,v)+δ(v,w).
Démonstration. Posons p=δ(u,v) et q=δ(v,w). Il existe une chaîne de longueur p de u à v et une chaîne de longueur q de v à w. Par concaténation, il existe une chaîne de longueur p+q de u à w. La distance de u à w étant la plus petite longueur d'une telle chaîne, elle est inférieure ou égale à p+q. □
Définition
Soit G un graphe connexe d'ordre n.
- L'excentricité d'un sommet s est e(s)=maxv∈Sδ(s,v) : c'est la distance qui sépare s du sommet le plus éloigné de lui.
- Le diamètre de G est diam(G)=maxs∈Se(s) : c'est la plus grande distance entre deux sommets du graphe.
Exemple
Calculons toutes les distances dans G1. Le tableau se remplit en cherchant, pour chaque couple, la plus courte chaîne, ou en lisant la première puissance de A dont le coefficient devient non nul.
| δ | A | B | C | D | E | e(s) |
|---|---|---|---|---|---|---|
| A | 0 | 1 | 1 | 2 | 3 | 3 |
| B | 1 | 0 | 1 | 1 | 2 | 2 |
| C | 1 | 1 | 0 | 1 | 2 | 2 |
| D | 2 | 1 | 1 | 0 | 1 | 2 |
| E | 3 | 2 | 2 | 1 | 0 | 3 |
Le diamètre vaut donc diam(G1)=3, réalisé par le couple (A,E). Ce résultat se lit aussi sur les puissances de A : les coefficients d'indice (1,5) de A et de A2 sont nuls, alors que celui de A3 vaut 2, donc δ(A,E)=3.
Méthode
Calculer une distance, une excentricité, un diamètre.
- Pour δ(si,sj) : calculer A, puis A2, puis A3, et s'arrêter à la première puissance dont le coefficient d'indice (i,j) est non nul. L'exposant atteint est la distance.
- Pour un petit graphe, procéder par cercles successifs à partir de si : les voisins de si sont à distance 1, leurs voisins non encore atteints à distance 2, 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 à n−1.
Degré d'un sommet et formule d'Euler
Définition
Rappel de la section 2. Soit G un graphe non orienté et soit s un sommet. Le degré de s, noté d(s), est le nombre d'arêtes incidentes à s ; dans un graphe simple, cela revient au nombre de voisins de s, c'est-à-dire au cardinal de V(s).
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 G=(S,A) un graphe non orienté ayant m arêtes. Alors
s∈S∑d(s)=2m.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 I des couples (s,a) où s est un sommet, a une arête, et où s est une extrémité de a. Les éléments de I s'appellent les incidences du graphe.
Premier comptage, en groupant par sommet. Fixons un sommet s. Le nombre d'incidences dont la première composante est s est, par définition même du degré, égal à d(s). En sommant sur tous les sommets,
card(I)=s∈S∑d(s).Second comptage, en groupant par arête. Fixons une arête a={u,v}. Le graphe étant simple, ses deux extrémités u et v sont distinctes, donc le nombre d'incidences dont la seconde composante est a vaut exactement 2. En sommant sur les m arêtes,
card(I)=a∈A∑2=2m.Les deux comptages portant sur le même ensemble, ∑s∈Sd(s)=2m. □
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 P l'ensemble des sommets de degré pair et I celui des sommets de degré impair ; ils forment une partition de S, donc
s∈P∑d(s)+s∈I∑d(s)=s∈S∑d(s)=2m.La somme ∑s∈Pd(s) est paire, comme somme d'entiers pairs, et 2m est pair. Par différence, ∑s∈Id(s) est un entier pair.
Or cette dernière somme comporte card(I) termes, tous impairs. Une somme de k entiers impairs a la même parité que k : en effet, chaque terme s'écrit 2qi+1, et la somme vaut 2(∑qi)+k, qui est pair si et seulement si k l'est. Comme la somme est paire, card(I) est pair. □
Propriété
Pour tout entier n⩾1, le graphe complet Kn possède exactement 2n(n−1) arêtes.
Démonstration. Dans Kn, chaque sommet est adjacent aux n−1 autres, donc tous les sommets sont de degré n−1. La somme des degrés vaut par conséquent n(n−1). La formule des poignées de main donne n(n−1)=2m, d'où m=2n(n−1). □
Propriété
Version orientée. Soit G=(S,A) un graphe orienté ayant m arcs. Alors
s∈S∑d+(s)=s∈S∑d−(s)=m.Démonstration. Chaque arc (u,v) possède exactement une origine, à savoir u, et exactement une extrémité, à savoir v. En classant les arcs selon leur origine, on obtient une partition de A en card(S) paquets, celui associé à s comptant d+(s) arcs ; d'où ∑s∈Sd+(s)=m. En classant cette fois les arcs selon leur extrémité, le même argument donne ∑s∈Sd−(s)=m. Les deux sommes valent m, donc elles sont égales. □
Exemple
Vérifions la formule sur nos exemples.
Pour G1, les degrés sont d(A)=2, d(B)=3, d(C)=3, d(D)=3 et d(E)=1. Leur somme vaut 2+3+3+3+1=12=2×6, et G1 a bien 6 arêtes. Les sommets de degré impair sont B, C, D et E : ils sont au nombre de quatre, ce qui est bien pair.
Pour K5, tous les degrés valent 4, la somme vaut 20=2×10, et le graphe a bien 25×4=10 arêtes.
Pour le graphe orienté G2, les degrés sortants sont 2, 1, 2, 1, de somme 6, et les degrés entrants sont 2, 1, 2, 1, de somme 6 également : il y a bien 6 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 2.
- Pour trouver un degré manquant : écrire l'équation ∑s∈Sd(s)=2m 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-régulier d'ordre n : la somme des degrés vaut nr, donc m=2nr, et en particulier le produit nr 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 G un graphe connexe.
- Une chaîne eulérienne de G est une chaîne qui emprunte chaque arête de G 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 1736, 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 N, l'île I, la rive sud S et la rive est E, et chaque pont devient une arête. Comme deux ponts relient N à I, et deux autres S à I, 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 :
d(N)=3,d(I)=5,d(S)=3,d(E)=3.Contrôle par la formule des poignées de main : 3+5+3+3=14=2×7, 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 s un sommet qui n'est pas une extrémité de cette chaîne. Chaque fois que la promenade arrive en s, 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 à s 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 s 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 G un graphe connexe.
- G admet un cycle eulérien si et seulement si tous ses sommets sont de degré pair.
- G 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 9 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 G1 a quatre sommets de degré impair, à savoir B, C, D et E : il n'admet ni chaîne ni cycle eulérien.
Le graphe G3 de la section 5 a pour degrés d(s1)=2, d(s2)=3, d(s3)=2, d(s4)=2 et d(s5)=3. Il est connexe et possède exactement deux sommets de degré impair, s2 et s5 : il admet donc une chaîne eulérienne non fermée d'extrémités s2 et s5. En voici une :
s2−s1−s5−s4−s3−s2−s5.Elle est de longueur 6 et emprunte bien les six arêtes, chacune une seule fois. Notez qu'elle repasse par s2 et par s5, ce qui est autorisé.
Le graphe complet K5 est connexe et tous ses sommets sont de degré 4, 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 10 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 G un graphe non orienté connexe d'ordre n⩾2 et soit s un sommet. Le degré de centralité de s est
CD(s)=n−1d(s).C'est la proportion des autres sommets auxquels s est directement relié. Ce nombre appartient toujours à l'intervalle [0,1], puisque d(s)⩽n−1, et il vaut 1 exactement lorsque s 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 G un graphe non orienté connexe et soit s un sommet. Pour deux sommets distincts u et v, tous deux différents de s, notons σu,v le nombre de plus courtes chaînes de u à v, et σu,v(s) le nombre de celles qui passent par s. Le degré d'intermédiarité de s est
CB(s)={u,v}∑σu,vσu,v(s),la somme portant sur toutes les paires de sommets distincts u et v, tous deux différents de s.
Trois remarques sur cette définition. La somme porte sur des paires et non sur des couples : la paire {u,v} n'est comptée qu'une fois. Le graphe étant connexe, chaque dénominateur σu,v est un entier supérieur ou égal à 1, donc la formule a bien un sens. Enfin, chaque terme appartient à [0,1] : lorsque toutes les plus courtes chaînes de u à v passent par s, la paire apporte 1 ; lorsque la moitié y passe, elle apporte 21 ; lorsque aucune n'y passe, elle apporte 0. Pour un graphe d'ordre n, le nombre de paires en jeu est 2(n−1)(n−2), ce qui donne la valeur maximale théorique de CB.
Exemple
Le réseau G5. Ses arêtes sont {A,B}, {A,C}, {B,C}, {C,D}, {D,E}, {D,F}, {E,F} et {F,G}, donc n=7 et m=8. Les degrés sont
d(A)=2,d(B)=2,d(C)=3,d(D)=3,d(E)=2,d(F)=3,d(G)=1,de somme 16=2×8, ce qui vérifie la formule des poignées de main. Les degrés de centralité, avec n−1=6, valent donc
CD(A)=CD(B)=CD(E)=31,CD(C)=CD(D)=CD(F)=21,CD(G)=61.Trois sommets arrivent donc en tête à égalité : C, D et F.
Pour départager ces trois sommets, calculons l'intermédiarité. Il faut d'abord le tableau des distances, obtenu de proche en proche.
| δ | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| A | 0 | 1 | 1 | 2 | 3 | 3 | 4 |
| B | 1 | 0 | 1 | 2 | 3 | 3 | 4 |
| C | 1 | 1 | 0 | 1 | 2 | 2 | 3 |
| D | 2 | 2 | 1 | 0 | 1 | 1 | 2 |
| E | 3 | 3 | 2 | 1 | 0 | 1 | 2 |
| F | 3 | 3 | 2 | 1 | 1 | 0 | 1 |
| G | 4 | 4 | 3 | 2 | 2 | 1 | 0 |
On constate sur ce réseau que, pour chaque paire de sommets, la plus courte chaîne est unique, de sorte que tous les σu,v valent 1 : chaque paire apporte donc 0 ou 1, et il suffit de compter les paires dont la plus courte chaîne passe par le sommet étudié.
Exemple
Intermédiarité de D. Les paires à examiner sont les 26×5=15 paires de sommets pris parmi A, B, C, E, F et G. Celles dont l'unique plus courte chaîne passe par D sont les neuf suivantes :
- {A,E} par A−C−D−E, {A,F} par A−C−D−F, {A,G} par A−C−D−F−G ;
- {B,E}, {B,F} et {B,G} par les chaînes analogues issues de B ;
- {C,E} par C−D−E, {C,F} par C−D−F, {C,G} par C−D−F−G.
Les six autres paires ne passent pas par D : {A,B}, {A,C} et {B,C} restent dans le triangle de gauche, {E,F} et {F,G} sont des arêtes, et {E,G} emprunte E−F−G. Ainsi
CB(D)=9.Exemple
Intermédiarité de C, de F et des autres sommets. Le raisonnement est le même.
Pour C : toute chaîne partant de A ou de B vers D, E, F ou G doit emprunter l'arête {C,D}, donc passer par C. Cela fait les huit paires {A,D}, {A,E}, {A,F}, {A,G}, {B,D}, {B,E}, {B,F} et {B,G}, et aucune autre. Donc CB(C)=8.
Pour F : le sommet G n'a que F pour voisin, donc toute chaîne aboutissant à G passe par F. Cela fait les cinq paires {A,G}, {B,G}, {C,G}, {D,G} et {E,G}. Aucune autre paire n'a besoin de F, car D et E sont voisins. Donc CB(F)=5.
Pour A, B, E et G : CB=0. Par exemple une chaîne passant par A relierait B à C en deux étapes, alors que B et C sont voisins ; et G, de degré 1, n'est sur aucun trajet entre deux autres sommets.
Le tableau final est éloquent.
| Sommet | A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|---|
| d(s) | 2 | 2 | 3 | 3 | 2 | 3 | 1 |
| CD(s) | 31 | 31 | 21 | 21 | 31 | 21 | 61 |
| CB(s) | 0 | 0 | 8 | 9 | 0 | 5 | 0 |
Les deux mesures ne disent pas la même chose. Le degré de centralité place C, D et F à égalité : ils ont autant de contacts directs les uns que les autres. L'intermédiarité les sépare nettement, et désigne D comme le sommet le plus stratégique du réseau : 9 des 15 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 D, ou retirer C, couperait le réseau en deux ; retirer A ne changerait presque rien. En termes de réseau social, un fort CD signale un compte très suivi localement, un fort CB 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 G1 de la section 2, les deux chaînes A−B−D et A−C−D sont les plus courtes chaînes de A à D, donc σA,D=2. La paire {A,D} apporte alors 21 à CB(B) et 21 à CB(C) : l'influence se partage entre les deux intermédiaires possibles. De même, σA,E=2 avec les chaînes A−B−D−E et A−C−D−E, ce qui apporte encore 21 à chacun de B et C, mais 1 à D, par lequel les deux chaînes passent. Au total, CB(B)=CB(C)=1 et CB(D)=3.
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 4,5×1018 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 G=(S,A), ordre n, nombre d'arêtes m
- Sommets adjacents, voisinage V(s)
- Arête {u,v} contre arc (u,v)
- Matrice d'adjacence A=(ai,j)
- Chaîne, chemin, longueur
- Chaîne élémentaire, chaîne simple
- Cycle, circuit
- Connexité, composante connexe
- Distance δ(u,v), excentricité, diamètre
- Degré d(s), degrés d+(s) et d−(s)
- Graphe complet Kn, graphe régulier
- Degrés de centralité CD et d'intermédiarité CB
Les trois théorèmes exigibles.
- Puissances de la matrice d'adjacence. Le coefficient d'indice (i,j) de Ad est le nombre de chemins de longueur d de si à sj. Démonstration par récurrence, en découpant un chemin de longueur d+1 sur son avant-dernier sommet.
- Critère matriciel de connexité. Un graphe d'ordre n est connexe si et seulement si tous les coefficients de In+A+⋯+An−1 sont strictement positifs. L'exposant n−1 vient du lemme : entre deux sommets reliés, il existe une chaîne élémentaire, donc de longueur au plus n−1.
- Formule d'Euler, dite des poignées de main. ∑s∈Sd(s)=2m, par double comptage des incidences. Conséquences : le nombre de sommets de degré impair est pair, et Kn a 2n(n−1) arêtes.
Le tableau des réflexes.
| Question posée | Outil à mobiliser |
|---|---|
| Combien de chemins de longueur d de si à sj ? | le coefficient (Ad)i,j |
| Combien de chemins de longueur d en tout ? | la somme de tous les coefficients de Ad |
| Le graphe est-il connexe ? | tous les coefficients de In+A+⋯+An−1 sont-ils strictement positifs ? |
| Quelle est la distance δ(si,sj) ? | le plus petit d tel que (Ad)i,j>0 |
| Quel est le degré de si ? | la somme de la ligne i de A, ou (A2)i,i |
| Combien d'arêtes ? | la demi-somme des degrés, ou la demi-somme des coefficients de A |
| Combien de triangles ? | 61tr(A3) |
| Cette liste de degrés est-elle possible ? | sa somme doit être paire |
| Quel sommet est le plus central ? | CD pour les contacts directs, CB 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 In+A+⋯+An−1 dans le critère de connexité, en oubliant le terme In ou en s'arrêtant à An−2 : c'est cette somme exacte, et elle seule, qui figure au théorème. Oublier que δ désigne la distance et d 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.
Les exercices
32 exercices, difficulté croissante de ★ (application directe) à ★★★★ (défi). Les corrigés détaillés sont dans le PDF — cherchez d'abord, le corrigé ensuite : c'est là que ça progresse.
Exercice 1 ★★★★ — Lire un graphe : ordre, arêtes et degrés
Vocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-grapheDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
On considère le graphe non orienté G=(S,A) représenté ci-dessous. Ses sommets sont A, B, C, D, E et F.
Toutes les réponses demandées se lisent sur cette figure. On rappelle deux définitions de vocabulaire : un sommet est dit isolé lorsque son degré est nul, et un graphe est dit régulier lorsque tous ses sommets ont le même degré.
1. Donner l'ordre n du graphe G.
2. Dresser la liste, en extension, de l'ensemble A des arêtes de G, puis donner le nombre m d'arêtes.
3. Citer les sommets adjacents à B, puis les sommets adjacents à F.
4. Déterminer le degré de chacun des six sommets.
5. Vérifier sur cet exemple la formule d'Euler dite des poignées de main.
6. Quel est le degré maximal des sommets de G, et ce degré est-il atteint par un seul sommet ? Le graphe possède-t-il un sommet isolé ? Justifier les deux réponses.
7. Le graphe G est-il complet ? Est-il régulier ? Justifier chaque réponse.
Exercice 2 ★★★★ — Du plan d'un réseau de navettes à sa matrice
Matrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheModélisation d'une situation concrète par un graphe et exploitation matricielle
Une zone d'activités est desservie par un réseau de navettes qui relie six arrêts, notés A, B, C, D, E et F. Le plan du réseau est représenté ci-dessous : chaque trait figure une liaison directe entre deux arrêts, c'est-à-dire un trajet de navette qui ne s'arrête pas entre les deux. Toutes les liaisons sont assurées dans les deux sens.
On modélise ce réseau par le graphe non orienté G=(S,A) dont les sommets sont les six arrêts et dont les arêtes sont les liaisons directes. On note A=(ai,j) sa matrice d'adjacence, les sommets étant rangés dans l'ordre alphabétique (A,B,C,D,E,F).
1. Dresser la liste des liaisons directes lues sur le plan, puis écrire la matrice d'adjacence A.
2. Justifier, sans calcul supplémentaire, que la matrice A est symétrique. Que traduit par ailleurs le fait que sa diagonale soit nulle ?
3. Calculer la somme des coefficients de chaque ligne de A et vérifier que l'on retrouve le degré de l'arrêt correspondant. Interpréter ce degré pour un usager du réseau.
4. Calculer la somme de tous les coefficients de A et interpréter le résultat obtenu.
5. Un usager souhaite savoir s'il peut aller directement de A à C, puis s'il peut aller directement de B à E. Répondre en lisant uniquement la matrice A, en précisant à chaque fois le coefficient utilisé.
Exercice 3 ★★★★ — De la matrice d'adjacence au dessin du graphe
Matrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
On considère la matrice carrée d'ordre 5 suivante :
A=0110010010100110110100110On admet qu'il s'agit de la matrice d'adjacence d'un graphe G dont les cinq sommets, rangés dans cet ordre, sont A, B, C, D et E. Toutes les questions se traitent à partir de cette seule matrice, le graphe n'étant pas dessiné.
1. Vérifier que A possède les trois propriétés caractéristiques de la matrice d'adjacence d'un graphe simple non orienté : ses coefficients valent 0 ou 1, sa diagonale est nulle, et elle est symétrique. Préciser ce que traduit chacune de ces trois propriétés sur le graphe.
2. Dresser la liste, en extension, des arêtes de G.
3. Déterminer le degré de chacun des cinq sommets.
4. Déterminer le nombre m d'arêtes de G de deux façons : par un comptage direct sur la liste de la question 2, puis à l'aide de la formule d'Euler dite des poignées de main.
5. Dessiner le graphe G.
6. Le graphe G est-il complet ? On justifiera la réponse en comparant m au nombre d'arêtes d'un graphe complet d'ordre 5, puis en citant deux sommets non adjacents.
Exercice 4 ★★★★ — Graphe orienté : arcs, degrés entrant et sortant
Vocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-grapheDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du graphe
On considère le graphe orienté G=(S,A) représenté ci-dessous. Ses quatre sommets sont notés 1, 2, 3 et 4, et chaque flèche représente un arc, c'est-à-dire une liaison à sens unique : l'arc (u,v) va de u vers v et ne permet pas d'aller de v vers u.
On rappelle les définitions du cours pour un graphe orienté : le degré sortant d+(s) d'un sommet s est le nombre d'arcs qui partent de s, et son degré entrant d−(s) est le nombre d'arcs qui arrivent en s.
1. Dresser la liste des arcs de G et donner leur nombre.
2. Écrire la matrice d'adjacence A de G, les sommets étant rangés dans l'ordre (1,2,3,4).
3. La matrice A est-elle symétrique ? Expliquer, en exhibant un couple de coefficients, pourquoi c'était prévisible.
4. Déterminer les degrés sortants et les degrés entrants des quatre sommets, en précisant à chaque fois quelle somme de la matrice A on utilise. Présenter les résultats dans un tableau.
5. Calculer la somme de tous les degrés sortants, puis celle de tous les degrés entrants. Comparer ces deux nombres au nombre d'arcs et justifier le résultat observé.
6. Existe-t-il un sommet dans lequel n'arrive aucun arc ? Existe-t-il un sommet dont on ne peut pas sortir ? Répondre en lisant la matrice A, puis dire ce que l'on peut en conclure pour un déplacement le long des flèches.
Exercice 5 ★★★★ — Formule des poignées de main : arêtes et degrés
Degré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
On rappelle la formule d'Euler dite des poignées de main : pour tout graphe non orienté G=(S,A) d'ordre n possédant m arêtes,
s∈S∑d(s)=2m.Dans tout l'exercice, les graphes considérés sont simples et non orientés, et les quatre situations de la question 1 sont indépendantes les unes des autres. Chaque réponse devra être justifiée par la formule ci-dessus, et non par un dessin.
1. Répondre à chacune des questions suivantes.
a. Un graphe possède 8 sommets, tous de degré 3. Combien possède-t-il d'arêtes ?
b. Un graphe possède 12 arêtes et tous ses sommets sont de degré 4. Combien possède-t-il de sommets ?
c. Un graphe possède 6 sommets et 9 arêtes. Quelle est la moyenne des degrés de ses sommets ?
d. Peut-il exister un graphe simple à 5 sommets dont les degrés sont 3, 3, 3, 3 et 1 ?
2. Lors d'une réunion de 7 personnes, chaque participant serre la main d'exactement trois autres participants. Une telle situation est-elle possible ?
Exercice 6 ★★★★ — Le graphe complet : degrés et nombre d'arêtes
Vocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-grapheDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
On rappelle qu'un graphe non orienté est dit complet lorsque deux sommets distincts quelconques y sont toujours adjacents. Le graphe complet d'ordre n se note Kn. La figure ci-dessous représente K5, dont les cinq sommets sont A, B, C, D et E.
1. Justifier que chaque sommet de K5 est de degré 4, puis déterminer le nombre m d'arêtes de K5 de deux façons : par une énumération organisée, puis par la formule d'Euler dite des poignées de main.
2. Écrire la matrice d'adjacence de K5, les sommets étant rangés dans l'ordre alphabétique (A,B,C,D,E).
On passe maintenant au cas général : dans les questions 3 à 5, n désigne un entier supérieur ou égal à 2 et on travaille sur le graphe complet Kn.
3. Déterminer le degré de chaque sommet de Kn.
4. En déduire, à l'aide de la formule des poignées de main, que Kn possède 2n(n−1) arêtes.
5. Décrire la matrice d'adjacence de Kn et l'exprimer à l'aide de la matrice Jn, dont tous les coefficients valent 1, et de la matrice identité In.
6. Application numérique. Combien K12 possède-t-il d'arêtes ? Un tournoi rassemble 12 équipes et se joue « toutes rondes », c'est-à-dire que chaque équipe rencontre exactement une fois chacune des autres. Combien de matchs comporte ce tournoi ?
Exercice 7 ★★★★ — Chaînes, cycles et longueurs
Chaînes et chemins : longueur, chaîne élémentaire, cycle, circuitVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
On considère le graphe non orienté G=(S,A) d'ordre 6, dont les sommets sont s1, s2, s3, s4, s5 et s6, et dont les sept arêtes sont les suivantes :
{s1,s2}
{s2,s3}
{s3,s4}
{s4,s5}
{s1,s5}
{s2,s5}
{s5,s6}
On rappelle le vocabulaire du cours. Une chaîne de u0 à uk est une suite de sommets u0−u1−⋯−uk dans laquelle deux sommets consécutifs sont toujours reliés par une arête ; sa longueur est le nombre k d'arêtes parcourues. Une chaîne est dite élémentaire lorsqu'elle ne passe pas deux fois par le même sommet. Un cycle est une chaîne de longueur non nulle dont les deux extrémités sont confondues et qui n'emprunte pas deux fois la même arête.
1. Donner une chaîne reliant s1 à s4 et préciser sa longueur.
2. Donner une autre chaîne reliant s1 à s4, de longueur différente de celle de la question 1.
3. Pour chacune des deux suites de sommets suivantes, dire si c'est une chaîne de G, et dans l'affirmative donner sa longueur et préciser si elle est élémentaire.
a. s3−s2−s5−s1−s2
b. s6−s5−s4−s3−s2
4. Exhiber un cycle de G et donner sa longueur. En exhiber ensuite un second, de longueur différente.
5. Déterminer toutes les chaînes élémentaires reliant s1 à s4 et donner leur nombre. On veillera à justifier que l'énumération est complète.
6. Déterminer la longueur minimale d'une chaîne reliant s6 à s3, c'est-à-dire la distance δ(s6,s3). On exhibera une chaîne réalisant ce minimum et on justifiera qu'il n'en existe pas de plus courte.
Exercice 8 ★★★★ — Premiers calculs de A au carré et chemins de longueur 2
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du graphe
On considère un graphe non orienté G dont les quatre sommets sont A, B, C et D. Rangés dans cet ordre alphabétique, sa matrice d'adjacence est
A=0110101011010010On rappelle le résultat du cours sur les puissances de la matrice d'adjacence : pour tout entier d⩾1, le coefficient en position (i,j) de Ad est égal au nombre de chaînes de longueur d reliant le sommet numéro i au sommet numéro j.
Pour alléger l'écriture, on note (A2)A,D le coefficient de A2 situé sur la ligne du sommet A et sur la colonne du sommet D, c'est-à-dire (A2)1,4, et on adopte la même convention pour les autres sommets.
1. Calculer la matrice A2. On détaillera le calcul d'au moins trois coefficients à l'aide de la formule du produit matriciel.
2. Que vaut (A2)A,D ? Interpréter ce nombre en termes de chaînes, puis énumérer effectivement les chaînes concernées pour vérifier le résultat.
3. Comparer les coefficients diagonaux de A2 aux degrés des sommets de G. Expliquer le résultat observé.
4. Calculer la somme de tous les coefficients de A2 et interpréter le nombre obtenu.
5. La matrice A2 possède des coefficients nuls. En choisir un et expliquer concrètement ce qu'il signifie pour le graphe. Le fait qu'un coefficient de A2 soit nul signifie-t-il que les deux sommets correspondants ne sont pas reliés ?
Exercice 9 ★★★★ — Compter les chemins de longueur 2 et 3 dans un graphe orienté
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsChaînes et chemins : longueur, chaîne élémentaire, cycle, circuit
On considère le graphe orienté G=(S,A) représenté ci-dessous, dont les sommets sont A, B, C et D.
Les sommets sont rangés une fois pour toutes dans l'ordre A, B, C, D, et on note A la matrice d'adjacence de G dans cet ordre. La matrice A, écrite en italique, ne doit pas être confondue avec le sommet A : le contexte lèvera toujours l'ambiguïté.
On rappelle le résultat du cours : pour tout entier d⩾1, le coefficient (Ad)i,j est le nombre de chemins de longueur d allant du sommet numéro i au sommet numéro j, étant entendu qu'un tel chemin a le droit de repasser plusieurs fois par un même sommet.
1. Écrire la matrice d'adjacence A, puis contrôler le résultat en comparant les sommes des lignes et des colonnes au nombre d'arcs.
2. Calculer A2, puis A3, en détaillant les calculs.
3. a. Lire sur A2 le nombre de chemins de longueur 2 allant de A à B, puis retrouver ce nombre en énumérant tous les chemins de longueur 2 partant de A.
3. b. Reprendre la même question pour les chemins de longueur 2 allant de C à B.
4. Lire sur A3 le nombre de chemins de longueur 3 allant de A à B, puis énumérer ces chemins.
5. Le coefficient (A3)2,2 n'est pas nul. Que compte-t-il exactement ? Écrire les chemins correspondants.
6. Exhiber un couple de sommets (u,v) pour lequel il n'existe aucun chemin de longueur 3 de u vers v. Justifier ce fait directement sur le graphe, sans se servir de A3.
Exercice 10 ★★★★ — Nombre total de chemins d'une longueur donnée
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommets
On considère le graphe non orienté G=(S,A) d'ordre 4, dont les sommets sont A, B, C et D, et dont les arêtes sont
A={{A,B},{B,C},{C,D},{D,A},{A,C}}.C'est un carré A−B−C−D−A auquel on a ajouté la diagonale {A,C}. Les sommets sont rangés dans l'ordre A, B, C, D et on note A la matrice d'adjacence de G dans cet ordre ; la matrice A, en italique, ne doit pas être confondue avec le sommet A.
On rappelle que (Ad)i,j est le nombre de chaînes de longueur d reliant le sommet numéro i au sommet numéro j, une chaîne pouvant repasser plusieurs fois par un même sommet ou emprunter deux fois la même arête.
1. Écrire la matrice A et vérifier qu'elle est symétrique. Donner le degré de chaque sommet et vérifier la formule d'Euler dite des poignées de main.
2. Calculer A2, puis A3, en détaillant les calculs.
3. a. Vérifier le coefficient (A2)1,3 en énumérant les chaînes correspondantes.
3. b. Vérifier de même le coefficient (A3)2,4.
4. Déterminer le nombre total de chaînes de longueur 2 du graphe, puis le nombre total de chaînes de longueur 3, en additionnant tous les coefficients de la matrice concernée.
5. Expliquer pourquoi ces totaux comptent deux fois chaque chaîne, une fois dans chaque sens. Y a-t-il des exceptions ?
6. Que vaut la somme des coefficients diagonaux de A2 ? Démontrer le résultat général correspondant et l'interpréter.
Exercice 11 ★★★★ — Graphe du web : liens entrants, liens sortants et chemins de clics
Modélisation d'une situation concrète par un graphe et exploitation matriciellePuissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
Un petit site est composé de quatre pages P1, P2, P3 et P4. On modélise le site par un graphe orienté dont les sommets sont les quatre pages, avec un arc Pi→Pj lorsque la page Pi contient un lien hypertexte vers la page Pj. Emprunter un arc, c'est cliquer sur un lien.
Les pages sont rangées dans l'ordre P1, P2, P3, P4 et on note A la matrice d'adjacence du graphe dans cet ordre.
1. Écrire la matrice A.
2. Déterminer, dans un tableau, le degré entrant d− et le degré sortant d+ de chaque page. Vérifier que la somme des degrés entrants et la somme des degrés sortants valent toutes deux le nombre d'arcs.
3. Quelle page reçoit le plus de liens ? Quelle page en émet le plus ?
4. Calculer A2, puis A3. En déduire le nombre de façons d'aller de P1 à P4 en exactement 3 clics, puis vérifier ce nombre en énumérant les chemins correspondants.
5. Un internaute arrive sur la page P1.
a. Quelles pages peut-il atteindre en un seul clic ? En existe-t-il une qu'il ne peut pas atteindre ainsi ?
b. Quelles pages peut-il atteindre en exactement deux clics ? Commenter.
6. Sur un graphe du web, que mesure le degré entrant d'une page ? Pourquoi un moteur de recherche s'y intéresse-t-il ? Dire enfin un mot de ce que devient cette matrice pour le web réel.
Exercice 12 ★★★★ — Matrices du graphe cycle et du graphe chaîne
Matrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphePuissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommets
Soit n un entier supérieur ou égal à 3. On définit deux graphes non orientés ayant les mêmes sommets s1,s2,…,sn, rangés dans cet ordre.
- Le graphe cycle Cn a pour arêtes {s1,s2},{s2,s3},…,{sn−1,sn} et {sn,s1} : les sommets sont disposés en anneau, chacun relié au suivant, le dernier étant relié au premier.
- Le graphe chaîne Ln a les mêmes arêtes, sauf {sn,s1} : c'est le cycle « ouvert », une file de sommets reliés de proche en proche.
On note A la matrice d'adjacence de C5 et B celle de L5, les sommets étant toujours rangés dans l'ordre s1,s2,s3,s4,s5.
On rappelle qu'un graphe est dit régulier de degré r lorsque tous ses sommets sont de degré r.
1. Écrire les matrices A et B.
2. Soit n⩾3. Décrire les coefficients de la matrice d'adjacence de Cn, puis ceux de la matrice d'adjacence de Ln : on donnera dans chaque cas la condition portant sur les indices i et j qui caractérise ai,j=1.
3. Déterminer le degré de chaque sommet de Cn, puis de Ln. Vérifier la formule d'Euler dite des poignées de main dans les deux cas pour n=5.
4. En déduire le nombre d'arêtes de Cn et celui de Ln.
5. Calculer A2, puis interpréter les trois valeurs prises par ses coefficients.
6. Pour quelles valeurs de n le graphe Cn est-il régulier de degré 2 ? On examinera avec soin ce que deviendrait la définition pour les petites valeurs de n. Le graphe Ln est-il régulier ?
Exercice 13 ★★★★ — Tournoi sportif : victoires, défaites et enchaînements
Modélisation d'une situation concrète par un graphe et exploitation matricielleDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantPuissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommets
Cinq joueurs J1, J2, J3, J4 et J5 disputent un tournoi. Chaque match désigne un vainqueur, il n'y a pas de match nul. On modélise les résultats par le graphe orienté ci-dessous : il y a un arc Ji→Jj lorsque Ji a battu Jj.
Les joueurs sont rangés dans l'ordre J1, J2, J3, J4, J5 et on note A la matrice d'adjacence du graphe dans cet ordre.
1. Vérifier sur la figure que chaque paire de joueurs s'est rencontrée exactement une fois. En déduire le nombre total de matchs disputés, et retrouver ce nombre par la formule 2n(n−1) pour n=5.
2. Écrire la matrice A.
3. Dresser dans un tableau le degré sortant d+ et le degré entrant d− de chaque joueur, c'est-à-dire son nombre de victoires et son nombre de défaites. Vérifier que la somme des victoires est égale au nombre de matchs.
4. a. Calculer A2.
4. b. Interpréter le coefficient (A2)i,j en termes de résultats sportifs. Lire (A2)1,4 et détailler les deux enchaînements qu'il compte.
4. c. Justifier, sans calcul, que tous les coefficients diagonaux de A2 sont nuls.
5. L'organisateur veut établir un classement.
a. Le nombre de victoires suffit-il à départager les joueurs ?
b. Il propose alors de compter, pour chaque joueur, ses victoires et ses victoires indirectes, c'est-à-dire la somme des coefficients de sa ligne dans A+A2. Calculer ces sommes et conclure.
c. Expliquer le phénomène observé, puis proposer une façon de départager les joueurs.
Exercice 14 ★★★★ — Amis communs : interpréter les coefficients de A au carré
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsAnalyse des réseaux sociaux : degré de centralité, intermédiarité, interprétation (mesures non exigibles)
Six personnes sont inscrites sur un réseau social : Alice, Bilal, Chloé, David, Emma et Farid. L'amitié y est réciproque : si x est ami avec y, alors y est ami avec x. Les couples d'amis sont les suivants :
{Alice,Bilal},{Alice,Chloeˊ},{Alice,David},{Bilal,Chloeˊ}, {Bilal,Emma},{Chloeˊ,David},{David,Emma},{Emma,Farid}.On modélise la situation par le graphe non orienté G dont les sommets sont les six personnes et dont les arêtes sont les couples d'amis. Les sommets sont rangés dans l'ordre Alice, Bilal, Chloé, David, Emma, Farid, et on note A la matrice d'adjacence de G dans cet ordre.
1. Écrire la matrice A, puis donner le degré de chaque personne. Vérifier la formule d'Euler dite des poignées de main.
2. Calculer A2 en détaillant les calculs.
3. Soient i et j deux indices distincts. Démontrer que (A2)i,j est le nombre d'amis communs aux personnes i et j.
4. a. Combien Alice et Chloé ont-elles d'amis communs ? Les nommer.
4. b. Même question pour Bilal et David.
4. c. Le coefficient (A2)5,6 est nul alors qu'Emma et Farid sont amis. Expliquer.
5. Que vaut (A2)i,i ? Justifier, et donner l'interprétation.
6. Le réseau veut suggérer une nouvelle relation à ses membres : il propose de mettre en contact deux personnes qui ne sont pas amies et qui ont le plus grand nombre d'amis communs. Quelle paire le réseau doit-il retenir ? Que peut-on suggérer à Farid ?
Exercice 15 ★★★★ — Compter les triangles d'un graphe avec la trace de A au cube
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsChaînes et chemins : longueur, chaîne élémentaire, cycle, circuit
On appelle triangle d'un graphe non orienté tout ensemble de trois sommets deux à deux adjacents. On rappelle que la trace d'une matrice carrée M d'ordre n, notée tr(M), est la somme de ses coefficients diagonaux :
tr(M)=i=1∑nMi,i.On considère le graphe non orienté G d'ordre 5, de sommets A, B, C, D, E, dont les arêtes sont
A={{A,B},{A,C},{A,D},{B,C},{C,D},{C,E},{D,E}}.Les sommets sont rangés dans l'ordre A, B, C, D, E et on note A la matrice d'adjacence de G dans cet ordre ; la matrice A, en italique, ne doit pas être confondue avec le sommet A.
1. Écrire la matrice A, donner les degrés et vérifier la formule d'Euler dite des poignées de main.
2. Calculer A2 en détaillant les calculs.
3. Calculer les cinq coefficients diagonaux de A3, en détaillant, puis en déduire tr(A3).
4. Énumérer à la main tous les triangles de G. Combien y en a-t-il ?
5. a. Comparer tr(A3) au nombre de triangles trouvé.
5. b. Démontrer le résultat général : si T désigne le nombre de triangles d'un graphe non orienté de matrice d'adjacence A, alors tr(A3)=6T. On expliquera précisément d'où viennent le facteur 2, puis le facteur 3.
6. On considère un second graphe H, d'ordre 5, de sommets t1,t2,t3,t4,t5, dont la matrice d'adjacence dans cet ordre est
B=0110010100110110010100110Déterminer le nombre de triangles de H par la formule de la question 5. b., puis les identifier.
Exercice 16 ★★★★ — Puissances d'une matrice d'adjacence par polynôme annulateur
Puissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du graphe
On considère le graphe complet K3, c'est-à-dire le triangle : ses sommets sont A, B et C, et ses arêtes sont {A,B}, {A,C} et {B,C}, de sorte que deux sommets distincts quelconques sont toujours adjacents.
Les sommets sont rangés dans l'ordre A, B, C et on note A la matrice d'adjacence du graphe dans cet ordre ; la matrice A, en italique, ne doit pas être confondue avec le sommet A.
Le but de l'exercice est de calculer les puissances de A sans effectuer de produit matriciel à chaque étape, en exploitant une relation vérifiée par A2, comme on l'a fait au chapitre sur le calcul matriciel avec les polynômes annulateurs.
1. Écrire la matrice A.
2. Calculer A2, puis vérifier la relation
A2=A+2I3.3. Démontrer par récurrence que, pour tout entier d⩾1, il existe deux réels αd et βd tels que
Ad=αdA+βdI3,et que ces réels vérifient α1=1, β1=0 ainsi que les relations
αd+1=αd+βdetβd+1=2αd.4. Dresser le tableau des valeurs de αd et βd pour d allant de 1 à 4, puis en déduire les matrices A3 et A4.
5. Vérifier le résultat obtenu pour A3 en calculant directement le produit A2×A.
6. Interpréter les coefficients de A4 en termes de chaînes de longueur 4 dans le triangle. Contrôler le résultat en comptant autrement le nombre total de chaînes de longueur 4 issues d'un sommet.
Exercice 17 ★★★★ — Composantes connexes d'un graphe
Connexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacenceVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
On considère le graphe non orienté G=(S,A) représenté ci-dessous, dont les sept sommets sont numérotés de 1 à 7.
On rappelle le vocabulaire du cours. Deux sommets u et v sont reliés lorsqu'il existe une chaîne d'extrémités u et v ; le graphe est connexe lorsque deux sommets quelconques sont toujours reliés ; une composante connexe est un ensemble de sommets deux à deux reliés, et maximal pour cette propriété, c'est-à-dire qu'aucune arête ne joint un sommet de cet ensemble à un sommet extérieur.
1. Dresser la liste des arêtes de G. Préciser l'ordre n du graphe et son nombre d'arêtes m.
2. Le graphe G est-il connexe ? Justifier soigneusement la réponse.
3. Déterminer les composantes connexes de G. Pour chacune, on exhibera des chaînes montrant que ses sommets sont deux à deux reliés ; on justifiera aussi qu'aucune chaîne ne mène d'une composante à l'autre.
4. Écrire la matrice d'adjacence A de G, les sommets étant rangés dans l'ordre 1, 2, 3, 4, 5, 6, 7. Que remarque-t-on sur la forme de cette matrice ? Quel lien avec la question précédente ?
5. Déterminer le degré de chaque sommet, puis vérifier la formule d'Euler dite des poignées de main.
6. Quel est le nombre minimal d'arêtes à ajouter à G pour obtenir un graphe connexe ? On donnera une construction explicite et on justifiera qu'on ne peut pas faire moins.
7. On revient au graphe G de départ et on supprime l'arête {4,7}. Combien de composantes connexes le graphe obtenu possède-t-il ? Les décrire.
Exercice 18 ★★★★ — Tester la connexité avec la somme des puissances
Connexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacencePuissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommets
Partie A. On considère un graphe non orienté G dont les quatre sommets sont numérotés de 1 à 4. Dans cet ordre, sa matrice d'adjacence est
A=01001010010100101. Énoncer le critère matriciel de connexité vu en cours, pour un graphe d'ordre n de matrice d'adjacence A. Rappeler également ce que représente le coefficient (Ad)i,j.
2. Dresser la liste des arêtes de G.
3. Calculer A2, puis A3. On détaillera au moins un coefficient de chaque produit.
4. Former la matrice M=I4+A+A2+A3, puis conclure quant à la connexité de G.
5. Vérifier directement la conclusion de la question précédente en exhibant, pour chaque paire de sommets, une chaîne les reliant.
Partie B. On considère maintenant un second graphe non orienté H, également à quatre sommets numérotés de 1 à 4, de matrice d'adjacence
B=00100001100001006. Dresser la liste des arêtes de H, puis calculer B2 et B3.
7. Former la matrice N=I4+B+B2+B3. Le critère est-il vérifié ? Identifier un coefficient nul de N et interpréter cette nullité en termes de chaînes.
8. Déterminer les composantes connexes de H.
Partie C.
9. Pour un graphe d'ordre n, le critère s'arrête à la puissance An−1. Expliquer pourquoi il est inutile d'aller plus loin, et pourquoi il serait en revanche insuffisant de s'arrêter plus tôt. On s'appuiera sur la partie A pour ce second point.
Exercice 19 ★★★★ — Distances, excentricités et diamètre d'un réseau
Distance entre deux sommets, excentricité et diamètre d'un graphe connexeChaînes et chemins : longueur, chaîne élémentaire, cycle, circuit
Un petit réseau informatique est représenté par le graphe non orienté ci-dessous. Ses sept sommets sont les machines A, B, C, D, E, F et G, et une arête signifie que les deux machines sont reliées par un câble direct.
Pour éviter toute confusion avec le sommet G, on note R=(S,A) ce graphe.
On rappelle les définitions du cours. La distance δ(u,v) entre deux sommets u et v d'un graphe connexe est la longueur de la plus courte chaîne d'extrémités u et v. L'excentricité d'un sommet s est
e(s)=v∈Smaxδ(s,v),et le diamètre du graphe est diam(R)=maxs∈Se(s), c'est-à-dire la plus grande distance entre deux sommets.
1. Dresser la liste des arêtes de R et donner le degré de chaque sommet. Vérifier la formule d'Euler dite des poignées de main.
2. Calculer δ(G,v) pour chacun des six autres sommets v. On donnera pour chaque sommet une chaîne témoin, et on justifiera qu'aucune chaîne plus courte n'existe.
3. En déduire l'excentricité e(G).
4. Calculer de même l'excentricité e(A).
5. Déterminer le diamètre de R. On justifiera que la valeur trouvée est bien atteinte, et qu'aucune paire de sommets n'est plus éloignée.
6. Quel sommet est le plus « central », au sens de la plus petite excentricité ? Commenter.
7. L'administrateur du réseau ajoute un câble entre les machines G et D. Le diamètre du réseau est-il modifié ? Justifier.
Exercice 20 ★★★★ — Degré de centralité : qui est l'influenceur du réseau ?
Analyse des réseaux sociaux : degré de centralité, intermédiarité, interprétation (mesures non exigibles)Degré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
Huit membres d'un réseau d'entraide, notés A, B, C, D, E, F, G et H, sont représentés par le graphe non orienté ci-dessous. Une arête entre deux membres signifie qu'ils sont en contact régulier.
Pour éviter toute confusion avec le sommet G, on note R=(S,A) ce graphe, d'ordre n=8.
On introduit la mesure suivante, utilisée en analyse des réseaux sociaux. Le degré de centralité d'un membre s est
CD(s)=n−1d(s).C'est la proportion des autres membres du réseau avec lesquels s est directement en contact. Cette mesure vaut 1 pour un membre en contact avec tout le monde, et 0 pour un membre isolé. On précise que les mesures de centralité ne sont pas au programme : elles sont introduites ici sur un exemple, comme le fait le texte officiel.
1. Dresser la liste des arêtes de R, puis donner le degré de chaque membre dans un tableau. Vérifier la formule d'Euler dite des poignées de main.
2. Justifier que, pour tout membre s, on a 0⩽CD(s)⩽1. Dans quel cas la valeur 1 serait-elle atteinte ?
3. Calculer le degré de centralité de chacun des huit membres, sous forme d'une fraction puis d'un pourcentage arrondi au dixième.
4. Classer les membres par degré de centralité décroissant. Qui est l'influenceur du réseau, au sens de cette mesure ?
5. Les membres B et D ont le même degré, donc le même degré de centralité, mais ils n'occupent visiblement pas la même position dans le réseau. Décrire la différence entre ces deux positions, puis dire laquelle vous semble la plus stratégique. On rédigera la réponse.
Exercice 21 ★★★★ — Degré d'intermédiarité : repérer le pont du réseau
Analyse des réseaux sociaux : degré de centralité, intermédiarité, interprétation (mesures non exigibles)Distance entre deux sommets, excentricité et diamètre d'un graphe connexe
On reprend le réseau d'entraide à huit membres A, B, C, D, E, F, G, H déjà rencontré, représenté ci-dessous. Une arête signifie que les deux membres sont en contact régulier. On rappelle sa description : A, B et C forment un triangle, E, F et G forment un autre triangle, le membre H n'est en contact qu'avec G, et le membre D est en contact avec A et avec E.
Pour éviter toute confusion avec le sommet G, on note R=(S,A) ce graphe, d'ordre n=8. Ses arêtes sont donc
{A,B}
{A,C}
{B,C}
{A,D}
{D,E}
{E,F}
{E,G}
{F,G}
{G,H}
On introduit la seconde mesure classique d'analyse des réseaux sociaux, qui n'est pas non plus au programme. Le degré d'intermédiarité d'un membre s est
CB(s)={u,v}∑σu,vσu,v(s),où la somme porte sur toutes les paires de membres distincts u et v, tous deux différents de s, où σu,v désigne le nombre de plus courtes chaînes de u à v, et où σu,v(s) désigne le nombre de ces plus courtes chaînes qui passent par s, celui-ci étant alors un sommet intermédiaire de la chaîne, ni l'une ni l'autre de ses extrémités. Autrement dit, CB(s) mesure à quel point s est un point de passage obligé du réseau.
On rappelle enfin le degré de centralité CD(s)=n−1d(s), étudié sur ce même réseau dans l'exercice précédent.
1. Combien y a-t-il de paires {u,v} à examiner dans le calcul de CB(s), pour un membre s fixé de ce réseau ?
2. Justifier que la suppression du membre D coupe le réseau en deux, et préciser les deux groupes obtenus.
3. a. Soient u un membre du groupe {A,B,C} et v un membre du groupe {E,F,G,H}. Justifier que toute chaîne de u à v emprunte successivement A, puis D, puis E, et en déduire que ces deux membres sont reliés par une unique plus courte chaîne.
3. b. Calculer CB(D). On organisera le décompte dans un tableau donnant, pour chaque paire concernée, la valeur de σu,v et celle de σu,v(D), et on justifiera que les autres paires ne contribuent pas.
4. Calculer CB(B), puis comparer les couples (CD(B),CB(B)) et (CD(D),CB(D)).
5. Que conclure sur la différence entre « être très connecté » et « être un point de passage » ?
6. L'entreprise qui anime ce réseau veut éviter qu'un départ ne le coupe en deux. Quel membre doit-elle absolument doubler ? Proposer également une liaison à créer qui règle le problème d'un seul coup.
Exercice 22 ★★★★ — Graphe orienté : peut-on circuler entre tous les sites ?
Connexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacencePuissances de la matrice d'adjacence : nombre de chemins de longueur d entre deux sommetsMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du graphe
Une entreprise possède quatre sites, numérotés 1, 2, 3 et 4, reliés par des navettes à sens unique. On modélise la situation par un graphe orienté dont les sommets sont les quatre sites, et dont les arcs sont les navettes : il y a un arc i→j lorsqu'une navette conduit du site i au site j. Dans l'ordre 1, 2, 3, 4, la matrice d'adjacence de ce graphe est
A=0001100001000110On rappelle que le coefficient (Ad)i,j est le nombre de chemins de longueur d allant du site i au site j en respectant le sens des arcs. On admet que le critère matriciel du cours s'adapte au cas orienté sous la forme suivante : dans un graphe orienté d'ordre n, on peut aller de n'importe quel sommet à n'importe quel autre en suivant le sens des arcs si et seulement si tous les coefficients de
In+A+A2+⋯+An−1sont strictement positifs. On dit alors que le graphe orienté est fortement connexe.
1. Dresser la liste des arcs du graphe. Donner le degré sortant d+(s) et le degré entrant d−(s) de chaque site, et vérifier la cohérence de ces deux comptages.
2. Calculer A2, puis A3. On détaillera au moins un coefficient de chaque produit et on l'interprétera en termes de chemins.
3. Former la matrice M=I4+A+A2+A3. Un employé peut-il rejoindre n'importe quel site depuis n'importe quel autre en empruntant les navettes ?
4. Déterminer les couples de sites (i,j) pour lesquels le trajet le plus court comporte le plus grand nombre de navettes, et écrire ce trajet.
5. L'entreprise envisage de faire circuler toutes ses navettes dans les deux sens. Que devient la matrice d'adjacence ? Le critère de connexité est-il plus facile ou plus difficile à satisfaire ? On justifiera la réponse, d'abord en général, puis sur cet exemple.
Exercice 23 ★★★★ — Modéliser un réseau de livraison entre entrepôts
Modélisation d'une situation concrète par un graphe et exploitation matricielleConnexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacenceDistance entre deux sommets, excentricité et diamètre d'un graphe connexe
Une entreprise de logistique exploite six entrepôts, désignés par les lettres A, B, C, D, E et F. Chaque jour, des camions assurent des liaisons directes entre certains d'entre eux, toujours dans les deux sens. Le plan de transport est le suivant.
- L'entrepôt A est l'entrepôt central : il est relié directement à B, à C et à D.
- Les entrepôts B et C sont également reliés directement entre eux.
- L'entrepôt D est relié directement à E.
- L'entrepôt E est relié directement à F.
- Il n'existe aucune autre liaison directe.
Un colis peut être acheminé d'un entrepôt à un autre en enchaînant plusieurs liaisons : à chaque étape, il change de camion. On dit alors qu'il y a transbordement.
1. Modéliser cette situation par un graphe G=(S,A) : préciser ce que sont les sommets et les arêtes, dresser la liste des arêtes, et donner l'ordre n du graphe ainsi que son nombre d'arêtes m. Justifier que le graphe est non orienté.
2. Écrire la matrice d'adjacence A de G, les entrepôts étant rangés dans l'ordre A, B, C, D, E, F. Donner le degré de chaque entrepôt et vérifier la formule d'Euler dite des poignées de main.
3. Justifier que le réseau est connexe, c'est-à-dire que tout colis peut être acheminé de n'importe quel entrepôt vers n'importe quel autre.
4. Calculer la distance δ(A,v) de l'entrepôt central à chacun des autres entrepôts.
5. Déterminer le diamètre du réseau. Interpréter cette valeur en nombre de camions à enchaîner, et préciser entre quels entrepôts le trajet est le plus pénible.
6. Une liaison peut être fermée pour travaux. Identifier une liaison dont la fermeture couperait le réseau en deux, et le démontrer. Existe-t-il d'autres liaisons de ce type ?
7. L'entreprise a les moyens de créer une liaison directe supplémentaire, et souhaite faire baisser le diamètre du réseau. Proposer une liaison et démontrer la valeur du nouveau diamètre. Peut-on espérer descendre à 2 avec une seule liaison ?
Exercice 24 ★★★★ — Le graphe complémentaire : degrés et matrice
Vocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-grapheMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
Soit G=(S,A) un graphe simple d'ordre n, c'est-à-dire non orienté, sans boucle et sans arête multiple. On appelle graphe complémentaire de G, et l'on note G, le graphe qui possède les mêmes sommets que G, et dans lequel deux sommets distincts sont reliés par une arête si et seulement s'ils ne le sont pas dans G.
On note A la matrice d'adjacence de G et A celle de G, les sommets étant rangés dans le même ordre dans les deux cas. On note enfin Jn la matrice carrée d'ordre n dont tous les coefficients valent 1.
Les degrés et les nombres d'arêtes sont indicés par le graphe considéré : dG(s) et mG pour G, dG(s) et mG pour G.
Partie A. Un exemple. On considère le graphe G d'ordre 5 dont les sommets sont numérotés de 1 à 5 et dont les arêtes sont
{1,2}
{1,3}
{2,3}
{4,5}
1. Décrire la forme de G en une phrase, puis dresser la liste des arêtes de G. On justifiera le nombre d'arêtes trouvé.
2. Écrire les deux matrices d'adjacence A et A, les sommets étant rangés dans l'ordre 1, 2, 3, 4, 5.
3. Calculer la matrice J5−I5−A et vérifier qu'elle est égale à A.
Partie B. Le cas général. Le graphe G est maintenant un graphe simple quelconque, d'ordre n.
4. Démontrer que A=Jn−In−A, en raisonnant coefficient par coefficient. On distinguera les coefficients diagonaux des autres.
5. En déduire que, pour tout sommet s, dG(s)=n−1−dG(s). Vérifier cette relation sur l'exemple de la partie A.
6. En déduire la relation mG+mG=2n(n−1), puis en donner une interprétation directe. Vérifier également cette relation sur l'exemple.
Partie C. Connexité.
7. Montrer que le graphe G de la partie A n'est pas connexe, mais que son complémentaire G, lui, l'est. On exhibera des chaînes explicites.
Exercice 25 ★★★★ — Parcourir toutes les allées d'un musée une seule fois
Chaînes et cycles eulériens : critère d'Euler admis (complément culturel, ponts de Königsberg)Degré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantModélisation d'une situation concrète par un graphe et exploitation matricielle
Un petit musée est organisé en cinq salles, notées A, B, C, D et E, reliées entre elles par des allées. Le conservateur souhaite proposer aux visiteurs un parcours qui emprunte chaque allée exactement une fois, sans jamais repasser deux fois dans la même allée. Un visiteur peut en revanche traverser plusieurs fois une même salle.
On modélise le musée par le graphe non orienté G=(S,A) dont les sommets sont les cinq salles et dont les arêtes sont les allées.
Attention, deux salles peuvent être reliées par deux allées différentes : c'est le cas de A et B, ainsi que de D et E. Le graphe G n'est donc pas un graphe simple, c'est un multigraphe. Pour pouvoir désigner chaque allée sans ambiguïté, on note a1 et a2 les deux allées reliant A à B, e1 et e2 les deux allées reliant D à E, et on désigne chacune des quatre autres allées par la paire de salles qu'elle relie. La liste complète des huit allées est donc :
a1 et a2 (de A à B)
{A,C}
{B,C}
{B,D}
{C,D}
e1 et e2 (de D à E)
Dans un multigraphe, le degré d(s) d'un sommet est le nombre d'allées dont s est une extrémité : une allée double compte donc pour 2 dans le degré de chacune de ses deux extrémités.
On rappelle le théorème d'Euler, admis en cours, valable aussi bien pour un graphe simple que pour un multigraphe. Soit G un graphe connexe.
- G admet un cycle eulérien, c'est-à-dire une chaîne empruntant chaque arête exactement une fois et revenant à son point de départ, si et seulement si tous ses sommets sont de degré pair.
- G admet une chaîne eulérienne non fermée si et seulement s'il possède exactement deux sommets de degré impair, et ces deux sommets en sont alors les extrémités.
1. Déterminer le degré de chacune des cinq salles et présenter les résultats dans un tableau.
2. Énoncer la formule d'Euler dite des poignées de main, expliquer pourquoi elle reste valable sur un multigraphe, puis la vérifier sur G.
3. Justifier que G est connexe, préciser quelles sont les salles de degré impair, puis dire, en appliquant le théorème d'Euler, si le parcours souhaité par le conservateur existe. Dans l'affirmative, indiquer où il doit commencer et où il doit se terminer.
4. Exhiber un tel parcours et vérifier, allée par allée, qu'il emprunte bien chacune des huit allées exactement une fois.
5. Le conservateur aimerait que le parcours se termine dans la salle où il a commencé, afin que le visiteur retrouve la sortie. Est-ce possible avec le plan actuel ? Justifier.
6. Le musée peut percer une nouvelle allée entre deux salles. Déterminer toutes les possibilités qui rendraient réalisable un parcours fermé empruntant chaque allée exactement une fois, puis exhiber un tel parcours fermé.
Exercice 26 ★★★★ — Un graphe 3-régulier, le graphe du cube
Vocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-grapheDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantDistance entre deux sommets, excentricité et diamètre d'un graphe connexe
On considère le graphe non orienté G=(S,A) représenté ci-dessous. Ses huit sommets sont A, B, C, D, E, F, G et H.
Ce graphe est celui des sommets et des arêtes d'un cube : les quatre sommets A, B, C, D forment une face, les quatre sommets E, F, G, H la face opposée, et chaque sommet d'une face est relié à son vis-à-vis sur l'autre face. Ses douze arêtes sont donc :
{A,B}
{B,C}
{C,D}
{D,A}
{E,F}
{F,G}
{G,H}
{H,E}
{A,E}
{B,F}
{C,G}
{D,H}
On dit qu'un graphe est k-régulier lorsque tous ses sommets ont le même degré k.
1. Déterminer le degré de chacun des huit sommets et vérifier que G est 3-régulier.
2. Retrouver le nombre m d'arêtes de G à l'aide de la formule d'Euler dite des poignées de main, sans les compter une à une sur la figure. Énoncer, plus généralement, la formule donnant le nombre d'arêtes d'un graphe k-régulier d'ordre n.
3. Écrire la matrice d'adjacence A de G, les sommets étant rangés dans l'ordre (A,B,C,D,E,F,G,H). Indiquer deux contrôles simples permettant de vérifier cette matrice.
4. Déterminer la distance δ(A,s) de A à chacun des sept autres sommets. Pour chaque valeur, on exhibera une chaîne de longueur minimale et on justifiera qu'aucune chaîne plus courte n'existe.
5. En déduire l'excentricité e(A) du sommet A.
6. Démontrer que diam(G)=3. On pourra traiter séparément le cas de deux sommets situés sur une même face et celui de deux sommets situés sur des faces opposées.
7. Déterminer, par une énumération raisonnée et sans calculer de puissance de matrice, le nombre de chaînes de longueur 3 reliant A à G. Que représente ce nombre dans la matrice A3 ?
Exercice 27 ★★★★ — Quelles listes de degrés sont réalisables ?
Degré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
Dans tout l'exercice, les graphes considérés sont simples : non orientés, sans arête reliant un sommet à lui-même et sans arête double.
On dit qu'une liste d'entiers naturels (d1,d2,…,dn) est réalisable lorsqu'il existe un graphe simple d'ordre n, de sommets s1,s2,…,sn, tel que
d(s1)=d1,d(s2)=d2,…,d(sn)=dn.On considère les cinq listes suivantes.
L1=(4,3,3,2,2)
L2=(5,3,2,2,1)
L3=(4,4,4,4,4)
L4=(3,3,3,1)
L5=(2,2,2,2)
Pour chacune des questions 1 à 5, dire si la liste proposée est réalisable. Si elle l'est, exhiber un graphe qui la réalise en donnant la liste de ses arêtes, et vérifier les degrés un à un. Si elle ne l'est pas, le démontrer. On pourra utiliser librement la formule d'Euler dite des poignées de main, ainsi que le fait qu'un sommet d'un graphe simple d'ordre n a un degré compris entre 0 et n−1 ; ces deux résultats sont redémontrés aux questions 6 et 7.
1. La liste L1.
2. La liste L2.
3. La liste L3.
4. La liste L4. Cette liste passe-t-elle les deux tests rappelés ci-dessus ? Que peut-on en conclure sur ces tests ?
5. La liste L5.
6. Démontrer que, dans tout graphe simple, la somme des degrés de tous les sommets est un entier pair.
7. Soit G un graphe simple d'ordre n, avec n⩾2.
a. Démontrer qu'un sommet de degré n−1 est adjacent à tous les autres sommets du graphe.
b. En déduire que G ne peut pas posséder simultanément un sommet de degré n−1 et un autre sommet de degré 0.
Exercice 28 ★★★★ — Reconnaître un graphe non connexe sur sa matrice
Connexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacenceMatrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du graphe
On considère un graphe non orienté G dont les six sommets sont numérotés de 1 à 6. Dans cet ordre, sa matrice d'adjacence est
A=001010000100100010010001101000000100On rappelle le critère matriciel de connexité vu en cours : un graphe d'ordre n, de matrice d'adjacence A, est connexe si et seulement si tous les coefficients de la matrice
In+A+A2+⋯+An−1sont strictement positifs.
On rappelle enfin que renuméroter les sommets d'un graphe consiste à les ranger dans un autre ordre : la nouvelle matrice d'adjacence s'obtient en permutant les lignes et les colonnes de A de la même façon. Elle décrit exactement le même graphe.
1. Dresser la liste des arêtes de G, puis déterminer le degré de chaque sommet. Vérifier la formule d'Euler dite des poignées de main.
2. Déterminer les composantes connexes de G. Le graphe est-il connexe ?
3. Proposer une renumérotation des sommets pour laquelle la matrice d'adjacence est diagonale par blocs, c'est-à-dire de la forme
A′=(B00C),où B et C sont deux matrices carrées d'ordre 3 et où les deux blocs notés 0 sont des blocs nuls d'ordre 3. Écrire la matrice A′.
4. a. Calculer A′2 en détaillant le calcul.
4. b. Démontrer que, pour tout entier d⩾1, la matrice A′d est encore diagonale par blocs de même découpage, c'est-à-dire que ses coefficients situés hors des deux blocs diagonaux sont nuls. Donner ensuite une interprétation de ce résultat en termes de chaînes.
5. Montrer que le critère matriciel de connexité échoue pour G, en exhibant un coefficient nul de I6+A′+A′2+A′3+A′4+A′5 sans calculer cette matrice.
6. Faire le bilan : quelles informations sur un graphe se lisent directement sur sa matrice d'adjacence, et lesquelles demandent un calcul ?
Exercice 29 ★★★★ — Graphe orienté sans circuit, une numérotation qui triangularise la matrice
Matrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheChaînes et chemins : longueur, chaîne élémentaire, cycle, circuitConnexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacence
On appelle circuit d'un graphe orienté tout chemin de longueur au moins 1 qui revient à son point de départ.
Partie A. Une entreprise doit mener à bien un projet composé de cinq tâches, notées T1, T2, T3, T4 et T5 :
T1 : installer les postes de travail
T2 : rédiger le cahier des charges
T3 : passer la commande du matériel
T4 : former les équipes
T5 : choisir le fournisseur
Le chef de projet recense six contraintes de précédence, chacune de la forme « la tâche X doit être entièrement terminée avant que la tâche Y ne commence » :
T2 avant T5
T2 avant T3
T5 avant T3
T3 avant T1
T1 avant T4
T5 avant T4
On modélise la situation par le graphe orienté G dont les sommets sont les cinq tâches et dont les arcs sont les six contraintes : il y a un arc X→Y lorsque X doit précéder Y.
1. Déterminer le degré entrant d− et le degré sortant d+ de chaque tâche. Quelle est la seule tâche sans prérequis ? Quelle est la seule tâche qui n'en conditionne aucune autre ?
2. Déterminer un ordre d'exécution des cinq tâches compatible avec les six contraintes, c'est-à-dire un rangement des tâches tel que tout arc aille d'une tâche vers une tâche située plus loin dans l'ordre. Démontrer que cet ordre est le seul possible.
3. On range désormais les sommets dans l'ordre trouvé à la question 2 et on note A la matrice d'adjacence de G dans cet ordre. Écrire A et constater qu'elle est triangulaire supérieure stricte, c'est-à-dire que tous ses coefficients situés sur la diagonale ou en dessous sont nuls.
4. Calculer A2, A3, A4, puis A5.
5. Interpréter le coefficient non nul de A4 en termes de tâches, puis interpréter l'égalité A5=0. Combien d'étapes successives le projet demande-t-il au minimum ?
Partie B. On considère maintenant un graphe orienté quelconque G, d'ordre n, dont les sommets sont numérotés de 1 à n, et on note A=(ai,j) sa matrice d'adjacence dans cette numérotation. On suppose que A est triangulaire supérieure stricte :
ai,j=0pour tous indices i et j tels que i⩾j.1. Justifier que s'il existe un arc allant du sommet i vers le sommet j, alors i<j.
2. Soit u0→u1→⋯→uk un chemin de G, avec k⩾1. Démontrer que u0<u1<⋯<uk, puis en déduire que G ne possède aucun circuit.
3. Démontrer que An=0. On pourra démontrer par récurrence sur d⩾1 la propriété suivante : « pour tous indices i et j tels que j<i+d, on a (Ad)i,j=0 ».
4. On suppose n⩾2. Déterminer le coefficient en position (n,1) de la matrice In+A+A2+⋯+An−1, et interpréter le résultat en termes de chemins.
5. On admet la réciproque de la Partie B : tout graphe orienté sans circuit peut être renuméroté de façon que sa matrice d'adjacence devienne triangulaire supérieure stricte. Qu'apporte ce résultat au chef de projet de la Partie A ?
Exercice 30 ★★★★ — Dans une assemblée, deux personnes connaissent le même nombre de gens
Degré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortantVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
Dans une salle se trouvent n personnes, avec n⩾2. On admet que la relation « se connaître » est réciproque : si une personne en connaît une autre, alors cette autre la connaît aussi.
On veut démontrer le résultat suivant, qui peut sembler surprenant.
Quelle que soit l'assemblée, il existe toujours deux personnes qui connaissent exactement le même nombre de personnes présentes dans la salle.
On rappelle le principe des tiroirs : si l'on range n objets dans p tiroirs et si p<n, alors au moins un tiroir contient au moins deux objets.
1. Proposer un graphe G modélisant la situation, en précisant ce que sont ses sommets et ses arêtes. Justifier que ce graphe est bien un graphe simple, c'est-à-dire non orienté, sans arête reliant un sommet à lui-même et sans arête double. Que représente le degré d(s) d'un sommet s ?
2. Démontrer que, pour tout sommet s de G, on a 0⩽d(s)⩽n−1. Que signifient concrètement les deux valeurs extrêmes 0 et n−1 ?
3. Démontrer que G ne peut pas posséder à la fois un sommet de degré 0 et un sommet de degré n−1.
4. En déduire, à l'aide du principe des tiroirs, que deux sommets de G ont le même degré. On pourra distinguer selon qu'un sommet de degré n−1 existe ou non.
5. Illustrer le résultat sur l'exemple suivant, où cinq personnes A, B, C, D, E sont présentes et où les couples de personnes qui se connaissent sont
{A,B}
{A,C}
{B,C}
{C,D}
{D,E}
On déterminera tous les degrés, on vérifiera la formule d'Euler dite des poignées de main, et on citera deux personnes qui connaissent le même nombre de gens. Expliquer ensuite pourquoi, avec cinq personnes, il est impossible que les cinq nombres de connaissances soient deux à deux distincts.
6. On suppose maintenant que l'on autorise les arêtes multiples, c'est-à-dire que le graphe modélise par exemple le nombre de projets menés en commun, deux personnes pouvant être reliées par plusieurs arêtes. La conclusion de la question 4 reste-t-elle vraie ? On justifiera la réponse par une démonstration ou par un contre-exemple, et on précisera quelle étape du raisonnement tombe en défaut.
Exercice 31 ★★★★ — Un graphe connexe à n sommets a au moins n moins une arêtes
Connexité, composantes connexes et critère matriciel de la somme des puissances de la matrice d'adjacenceDegré d'un sommet, formule d'Euler dite des poignées de main, degrés entrant et sortant
Tous les graphes de cet exercice sont simples : non orientés, sans boucle et sans arête double. On note n l'ordre d'un graphe et m son nombre d'arêtes. L'objectif est de démontrer le résultat suivant, puis de l'exploiter.
Tout graphe connexe d'ordre n possède au moins n−1 arêtes.
Partie A. Le résultat.
1. Vérifier l'inégalité m⩾n−1 sur les trois graphes suivants, en précisant à chaque fois n, m, et en justifiant brièvement la connexité.
a. La chaîne Ga de sommets s1, s2, s3, s4 et d'arêtes {s1,s2}, {s2,s3}, {s3,s4}.
b. Le triangle Gb de sommets s1, s2, s3 et d'arêtes {s1,s2}, {s2,s3}, {s1,s3}.
c. L'étoile Gc de sommets c, f1, f2, f3, f4 et d'arêtes {c,f1}, {c,f2}, {c,f3}, {c,f4}.
Dans lesquels de ces exemples l'inégalité est-elle une égalité ?
2. Soit G un graphe connexe d'ordre au moins 2. Démontrer qu'aucun sommet de G n'est de degré 0.
3. Soit G un graphe connexe dont tous les sommets sont de degré supérieur ou égal à 2. Démontrer, à l'aide de la formule d'Euler dite des poignées de main, que m⩾n.
4. Soit G un graphe connexe d'ordre au moins 2 possédant un sommet s0 de degré 1. On note G′ le graphe obtenu en supprimant de G le sommet s0 ainsi que l'unique arête dont il est une extrémité.
a. Donner l'ordre et le nombre d'arêtes de G′ en fonction de ceux de G.
b. Démontrer que G′ est connexe. On pourra partir de deux sommets u et v de G′, considérer dans G une chaîne de longueur minimale de u à v, et montrer qu'elle ne passe pas par s0.
5. Démontrer par récurrence sur n que tout graphe connexe d'ordre n possède au moins n−1 arêtes. On utilisera les questions 2, 3 et 4.
Partie B. Exploitation.
6. En déduire qu'un graphe d'ordre n possédant strictement moins de n−1 arêtes n'est pas connexe.
7. Une entreprise possède 12 sites informatiques et souhaite les relier par des câbles, de façon que l'information puisse circuler entre deux sites quelconques, éventuellement en transitant par d'autres sites. Déterminer le nombre minimal de câbles nécessaires, et décrire une installation atteignant ce minimum.
8. Le directeur technique affirme : « avec beaucoup de câbles, on est certain que tous les sites communiquent ». Montrer que cette affirmation est fausse en exhibant, sur les mêmes 12 sites, une installation d'au moins 50 câbles qui ne relie pourtant pas tous les sites.
9. On cherche le nombre de câbles qui garantit à coup sûr la communication entre les 12 sites. Soit G un graphe d'ordre 12 non connexe. On note C la composante connexe d'un sommet donné, p son nombre de sommets et q=12−p le nombre de sommets restants.
a. Justifier que 1⩽p⩽11 et qu'aucune arête ne relie un sommet de C à un sommet hors de C.
b. En admettant qu'un graphe simple d'ordre k possède au plus 2k(k−1) arêtes, démontrer que m⩽2p2+q2−12, puis que m⩽55. On pourra écrire p2+q2 sous la forme 2(p−6)2+72.
c. Conclure : à partir de combien de câbles est-on certain que les 12 sites communiquent ? Ce nombre est-il le plus petit possible ?
Exercice 32 ★★★★ — Renuméroter les sommets, matrices de permutation
Matrice d'adjacence : construction, symétrie dans le cas non orienté, lecture réciproque du grapheVocabulaire des graphes : sommets, arêtes, arcs, adjacence, ordre, graphe orienté ou non, graphe complet, sous-graphe
La matrice d'adjacence d'un graphe dépend de l'ordre dans lequel on range ses sommets. Cet exercice décrit précisément le lien entre deux matrices d'adjacence d'un même graphe, et en tire un critère pour reconnaître que deux graphes sont différents.
Vocabulaire donné. Soit n un entier supérieur ou égal à 2. Supposons les sommets d'un graphe numérotés de 1 à n, puis rangés dans un nouvel ordre. Pour chaque position i du nouvel ordre, on note σ(i) l'ancien numéro du sommet qui occupe cette position ; l'application σ est une bijection de {1,…,n} dans lui-même. On appelle matrice de permutation associée la matrice P obtenue en permutant les colonnes de In de la façon suivante :
la colonne numeˊro i de P est la colonne numeˊro σ(i) de In.Autrement dit, P ne contient que des 0 et des 1, avec exactement un 1 par ligne et un 1 par colonne, et Pk,i=1 si et seulement si k=σ(i). On admettra que P est inversible, d'inverse P−1=tP, ce que la question 3 fait vérifier sur l'exemple.
On rappelle enfin que la trace d'une matrice carrée est la somme de ses coefficients diagonaux.
Partie A. Un exemple à quatre sommets.
On considère le graphe non orienté G de sommets s1, s2, s3, s4 et d'arêtes
{s1,s2}
{s1,s3}
{s1,s4}
{s2,s3}
1. Écrire la matrice d'adjacence A de G, les sommets étant rangés dans l'ordre (s1,s2,s3,s4). Donner également le degré de chaque sommet.
2. Écrire la matrice d'adjacence A′ du même graphe G, les sommets étant cette fois rangés dans l'ordre (s2,s4,s1,s3).
3. Déterminer la bijection σ correspondant à ce changement d'ordre, puis écrire la matrice de permutation P associée. Calculer tPP et en déduire que P est inversible, d'inverse tP.
4. Calculer AP, puis tP(AP), et vérifier que tPAP=A′.
Partie B. Le cas général.
Soit G un graphe non orienté d'ordre n, de matrice d'adjacence A=(ai,j) pour une première numérotation. On renumérote ses sommets, on note σ la bijection et P la matrice de permutation associées, et A′=(ai,j′) la matrice d'adjacence dans le nouvel ordre.
5. a. Démontrer que, pour tous indices i et j, on a (tPAP)i,j=aσ(i),σ(j). On explicitera la double somme définissant ce coefficient.
5. b. Justifier que ai,j′=aσ(i),σ(j), puis conclure que A′=tPAP.
6. En déduire les trois propriétés suivantes.
a. Les matrices A et A′ ont la même trace.
b. Les matrices A et A′ ont la même somme de coefficients.
c. La liste des degrés lue sur A′ est celle lue sur A, à l'ordre près.
7. On considère les deux graphes suivants, tous deux d'ordre 4 et possédant 3 arêtes :
- H1 a pour sommets t1, t2, t3, t4 et pour arêtes {t1,t2}, {t2,t3}, {t3,t4} ;
- H2 a pour sommets t1, t2, t3, t4 et pour arêtes {t1,t2}, {t1,t3}, {t1,t4}.
Démontrer qu'aucune renumérotation ne transforme la matrice d'adjacence de H1 en celle de H2 : ces deux graphes ne sont pas le même graphe renuméroté.
Le devoir surveillé
Sujet type DS — 240 min, barème sur 20 points. Faites-le en conditions réelles avant de regarder le corrigé (PDF).
Exercice 1 (3 points) — Le réseau de bornes de recharge
Une commune a installé six bornes de recharge pour véhicules électriques, notées A, B, C, D, E et F. Pour l'entretien du parc, le prestataire a câblé entre certaines bornes des liaisons de maintenance : lorsqu'une liaison existe entre deux bornes, un technicien peut lancer le diagnostic de l'une depuis l'autre, et cela fonctionne dans les deux sens.
On modélise la situation par le graphe non orienté G=(S,A) ci-dessous : les sommets de S sont les six bornes, et une arête de A relie deux bornes lorsqu'une liaison de maintenance existe entre elles.
1. Donner l'ordre n du graphe G, puis dresser la liste de toutes les arêtes de A et en déduire le nombre m d'arêtes. (0,5 point)
2. Déterminer le degré d(s) de chacun des six sommets et présenter les résultats dans un tableau. Quelle borne est la moins bien reliée au reste du réseau ? Que se passerait-il pour elle si sa liaison tombait en panne ? (0,5 point)
3. Écrire la matrice d'adjacence A du graphe G, les sommets étant rangés dans l'ordre alphabétique (A,B,C,D,E,F). Indiquer un contrôle simple permettant de vérifier chaque ligne de la matrice à partir de la question 2. (0,75 point)
4. Démontrer, sans utiliser les valeurs numériques trouvées à la question 3, que la matrice d'adjacence d'un graphe non orienté est toujours symétrique. (0,25 point)
5. Énoncer la formule d'Euler dite des poignées de main, en expliquer la raison en une phrase, puis la vérifier sur le graphe G. (0,5 point)
6. Un technicien se trouve à la borne A et doit intervenir sur la borne F. Exhiber une chaîne de A à F et donner sa longueur. Cette chaîne est-elle de longueur minimale ? On justifiera la réponse en déterminant la valeur de δ(A,F). (0,5 point)
Exercice 2 (4 points) — Les flux d'une usine agroalimentaire
Une usine agroalimentaire est organisée en quatre ateliers numérotés 1, 2, 3 et 4. Les ateliers sont reliés par des convoyeurs à bande à sens unique : un convoyeur allant de l'atelier i vers l'atelier j achemine des palettes de i vers j, et jamais dans l'autre sens. On modélise l'usine par le graphe orienté ci-dessous, dont les sommets sont les quatre ateliers et les arcs les convoyeurs.
Dans tout l'exercice, les sommets sont rangés dans l'ordre (1,2,3,4) et on note A la matrice d'adjacence du graphe. On appelle trajet de longueur d de l'atelier i vers l'atelier j tout chemin orienté
i=u0→u1→⋯→ud=jempruntant exactement d convoyeurs en respectant leur sens. Un atelier peut être traversé plusieurs fois par un même trajet.
1. Dresser la liste des six arcs du graphe, puis écrire la matrice A. La matrice A est-elle symétrique ? Commenter. (0,5 point)
2. Déterminer, pour chacun des quatre ateliers, son degré sortant d+ et son degré entrant d−. Vérifier que la somme des degrés sortants et la somme des degrés entrants valent toutes les deux le nombre d'arcs, et expliquer pourquoi. (0,5 point)
3. Calculer A2 en détaillant le calcul de chaque ligne. Interpréter le coefficient (A2)3,2 dans le contexte de l'usine, et le vérifier en énumérant les trajets correspondants. (1 point)
4. Calculer A3 en détaillant le calcul de chaque ligne. (1 point)
5. Le service logistique veut connaître le nombre de trajets de longueur 3 de l'atelier 1 vers l'atelier 2. Donner ce nombre à l'aide de la question 4, puis énumérer tous ces trajets pour vérifier le résultat. (0,5 point)
6. On constate que (A3)2,1=0. Un ingénieur en conclut que « les palettes de l'atelier 2 ne peuvent jamais atteindre l'atelier 1 ». Cette conclusion est-elle correcte ? Justifier soigneusement. (0,25 point)
7. Calculer la somme de tous les coefficients de A2 et interpréter le nombre obtenu. Retrouver ce nombre à l'aide des degrés de la question 2. (0,25 point)
Exercice 3 (4 points) — Le réseau d'eau potable d'une commune
Une commune alimente son réseau d'eau potable à partir de cinq réservoirs, notés R1, R2, R3, R4 et R5. Certains réservoirs sont reliés deux à deux par une canalisation de transfert, dans laquelle l'eau peut circuler dans les deux sens. Le service technique recense exactement six canalisations, reliant les paires de réservoirs suivantes :
{R1,R2}
{R1,R3}
{R2,R3}
{R2,R4}
{R3,R4}
{R4,R5}
On modélise ce réseau par le graphe non orienté G dont les sommets sont les cinq réservoirs et les arêtes les six canalisations. On note A la matrice d'adjacence de G, les sommets étant rangés dans l'ordre (R1,R2,R3,R4,R5).
1. Écrire la matrice A. (0,5 point)
2. Déterminer le degré de chacun des cinq réservoirs, puis vérifier la formule des poignées de main. (0,5 point)
3. Calculer A2, puis A3, en détaillant les calculs. Vérifier que ces deux matrices sont symétriques et expliquer pourquoi c'était prévisible. (0,75 point)
4. Énoncer le critère matriciel de connexité vu en cours, puis démontrer que le réseau est connexe. On pourra remarquer que tous les coefficients de A4 sont des entiers positifs ou nuls, ce qui évite de calculer cette matrice. (0,75 point)
5. Déterminer la distance δ(R1,Rj) de R1 à chacun des autres réservoirs. On justifiera chaque valeur, et on indiquera comment les matrices des questions 1 et 3 permettent de contrôler les résultats. (0,5 point)
6. Déterminer l'excentricité de chacun des cinq réservoirs, puis le diamètre diam(G) du réseau. Interpréter ce diamètre pour le service technique. (0,5 point)
7. Une canalisation se rompt. Dans chacun des deux cas suivants, dire si le réseau reste connexe et le justifier. (0,5 point)
a. La canalisation {R2,R4} est rompue.
b. La canalisation {R4,R5} est rompue.
Exercice 4 (4 points) — Dessiner un logo sans lever le crayon
Le logo d'une association est un motif formé de six points, notés A, B, C, D, E et F, reliés par onze traits rectilignes. On note G le graphe dont les sommets sont ces six points et dont les arêtes sont les onze traits du logo. Ces traits relient les paires de points suivantes :
{A,B}
{A,C}
{A,D}
{B,C}
{B,D}
{B,E}
{C,E}
{C,F}
{D,E}
{D,F}
{E,F}
Un graphiste veut dessiner ce logo d'un seul geste : sans jamais lever le crayon, et sans repasser deux fois sur un même trait. Autrement dit, il cherche une chaîne eulérienne dans le graphe G.
On rappelle le théorème d'Euler, admis en cours. Soit G un graphe connexe.
- G admet un cycle eulérien (une chaîne eulérienne qui revient à son point de départ) si et seulement si tous ses sommets sont de degré pair.
- G admet une chaîne eulérienne non fermée si et seulement s'il possède exactement deux sommets de degré impair, et ces deux sommets en sont alors les extrémités.
1. Déterminer le degré de chacun des six points et présenter les résultats dans un tableau. Préciser quels sont les sommets de degré impair. (0,5 point)
2. Vérifier la formule des poignées de main sur le graphe G et retrouver ainsi le nombre de traits du logo. (0,5 point)
3. Démontrer que, dans tout graphe non orienté, le nombre de sommets de degré impair est un nombre pair. (0,75 point)
4. Justifier que G est connexe, puis répondre aux deux questions du graphiste : peut-il dessiner le logo d'un seul geste ? Peut-il, en plus, revenir à son point de départ ? Préciser les points de départ et d'arrivée possibles. (0,5 point)
5. Exhiber explicitement un tracé convenable, sous la forme de la liste ordonnée des points rencontrés. Vérifier ce tracé trait par trait : on justifiera que chaque trait emprunté est bien un trait du logo, et que les onze traits sont parcourus une fois et une seule. (1,25 point)
6. Insatisfait, le graphiste veut absolument revenir à son point de départ. Il s'autorise pour cela à ajouter au logo un douzième trait, entre deux des six points existants. Démontrer qu'il n'a qu'un seul choix possible, puis exhiber un tracé fermé du nouveau logo. (0,5 point)
Exercice 5 (5 points) — Le réseau de messagerie interne d'une entreprise
Une entreprise de sept salariés, notés A, B, C, D, E, F et G, analyse l'usage de sa messagerie interne. On construit un graphe non orienté G dont les sommets sont les sept salariés : deux salariés sont reliés par une arête lorsqu'ils échangent régulièrement des messages. Le service informatique obtient le graphe suivant.
Dans tout l'exercice, les sommets sont rangés dans l'ordre alphabétique (A,B,C,D,E,F,G) et on note n l'ordre du graphe.
On rappelle les deux mesures de centralité vues en complément du cours. Elles ne sont pas exigibles au programme, et toutes les définitions utiles sont redonnées ci-dessous.
Le degré de centralité d'un salarié s est le quotient
CD(s)=n−1d(s),c'est-à-dire la proportion des autres salariés avec lesquels s échange directement.
Le degré d'intermédiarité d'un salarié s est défini de la façon suivante. Pour deux salariés u et v distincts et tous deux différents de s, on note σu,v le nombre de chaînes de longueur minimale reliant u à v, et σu,v(s) le nombre de celles qui passent par s. On pose alors
CB(s)={u,v}∑σu,vσu,v(s),la somme portant sur toutes les paires {u,v} de salariés distincts et différents de s, chaque paire n'étant comptée qu'une seule fois.
Partie A. Qui échange avec le plus de monde ?
1. Déterminer le degré de chacun des sept salariés, présenter les résultats dans un tableau, puis vérifier la formule des poignées de main. (0,5 point)
2. Écrire la matrice d'adjacence A du graphe. On la présentera sous la forme d'un tableau à sept lignes et sept colonnes, bordé par les noms des salariés. (0,5 point)
3. Calculer le degré de centralité CD(s) de chacun des sept salariés, sous forme de fraction simplifiée puis de valeur décimale arrondie au centième. Quels sont les salariés les mieux connectés au sens de cette mesure ? (0,5 point)
Partie B. Qui fait circuler l'information ?
4. Déterminer la distance δ(A,s) de A à chacun des six autres salariés, en justifiant chaque valeur. En déduire l'excentricité e(A). (0,75 point)
5. Déterminer l'excentricité de chacun des sept salariés, puis le diamètre diam(G) du réseau. Préciser entre quels salariés ce diamètre est atteint. (0,5 point)
6. Calculer le degré d'intermédiarité CB(D) du salarié D. On détaillera, dans un tableau, les quinze paires de salariés à considérer, leurs chaînes de longueur minimale, et la contribution de chaque paire à la somme. (1,25 point)
7. Calculer, de la même façon, le degré d'intermédiarité CB(B) du salarié B. (0,5 point)
8. Comparer les résultats des questions 3, 6 et 7 pour les salariés B et D. Que constate-t-on ? Rédiger, en une ou deux phrases, une conclusion indiquant quel salarié fragiliserait le plus la circulation de l'information s'il quittait l'entreprise, et justifier cette réponse en examinant ce qu'il advient du graphe lorsqu'on retire ce salarié. (0,5 point)
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.