Ressources · Terminale · Maths expertes (option Tle)
Matrice d’adjacence et chemins
Matrice d’adjacence d’un graphe orienté ou non ; degrés et nombre d’arêtes lus sur la matrice ; nombre de chemins de longueur k donné par Mᵏ, avec sa démonstration ; chemins fermés, triangles et coefficients nuls ; distance, diamètre et connexité.
À propos de cette page
La matrice d’adjacence d’un graphe
Matrice d’adjacence. Soit un graphe d’ordre dont les sommets sont rangés dans un ordre fixé et numérotés de à . Sa matrice d’adjacence est la matrice carrée de taille dont le coefficient , ligne et colonne , est :
• pour un graphe non orienté, le nombre d’arêtes qui relient les sommets et ;
• pour un graphe orienté, le nombre d’arcs qui vont du sommet vers le sommet : la ligne est le départ, la colonne l’arrivée.
Graphe simple. Sans boucle ni arête multiple, tous les coefficients valent ou et la diagonale est nulle. Les graphes de ce chapitre sont sans boucle.
Symétrie. La matrice d’un graphe non orienté est symétrique : pour tous et , car l’arête qui relie à relie aussi à . Dans un graphe orienté, dit seulement que l’arc existe : peut valoir .
Graphe complet. La matrice de a tous ses coefficients égaux à , sauf ceux de la diagonale, nuls.
Ordre des sommets. La matrice dépend de l’ordre choisi : on l’écrit toujours à côté de . Changer l’ordre des sommets revient à permuter de la même façon les lignes et les colonnes.
Un graphe non orienté. Le graphe ci-dessous a pour sommets A, B, C, D, rangés dans cet ordre.
Sa matrice d’adjacence est La ligne se lit : C est relié à A, à B et à D. La matrice est symétrique, de diagonale nulle : le graphe est non orienté et sans boucle.
Un graphe orienté. Sommets , , et arcs , , : n’est pas symétrique : (l’arc existe) mais (l’arc n’existe pas). Sa troisième ligne est nulle : aucun arc ne part du sommet .
Changer l’ordre. Si l’on range les sommets du premier graphe dans l’ordre D, C, B, A, la première ligne devient celle de D, soit : on retrouve la même information, rangée autrement.
Réflexe — J’écris l’ordre des sommets, puis je remplis la matrice ligne par ligne : la ligne contient les arêtes (ou les arcs) qui partent de . Je contrôle : matrice symétrique si le graphe n’est pas orienté, diagonale nulle s’il n’y a pas de boucle.
Attention — Le coefficient se lit « de vers » : dans un graphe orienté, intervertir la ligne et la colonne change la réponse. Et deux matrices différentes peuvent représenter le même graphe, si l’ordre des sommets n’est pas le même.
1 / 5
Degrés et nombre d’arêtes sur la matrice
Graphe non orienté sans boucle. La somme des coefficients de la ligne (ou de la colonne ) est le degré du sommet . La somme de tous les coefficients de vaut , où est le nombre d’arêtes : c’est le lemme des poignées de main lu sur la matrice.
Graphe orienté. La somme de la ligne est le degré sortant ; la somme de la colonne est le degré entrant ; la somme de tous les coefficients est le nombre d’arcs.
Graphe complet. Chaque ligne de la matrice de a pour somme ; la somme totale vaut , soit le double des arêtes.
Pourquoi . Dans un graphe non orienté, une arête entre et est comptée deux fois dans : une fois en , une fois en . La somme de tous les coefficients vaut donc le double du nombre d’arêtes. Dans un graphe orienté, l’arc n’est compté qu’une fois, en .
Avec la matrice du graphe de la partie précédente : la ligne donne , donc A est de degré . Les quatre lignes ont pour sommes , , et ; la somme totale vaut , donc le graphe a arêtes, ce que confirme la liste A–B, A–C, B–C, C–D.
Un graphe orienté. Sommets P, Q, R, S, dans cet ordre.
Les sommes des lignes donnent les degrés sortants : , , , . Les sommes des colonnes donnent les degrés entrants : , , , . La somme de tous les coefficients vaut : le graphe a arcs, sans division par . Sur le dessin, l’arc P → Q passe sous S sans le rencontrer : seuls comptent les arcs de la liste.
Réflexe — Degré d’un sommet : somme de sa ligne. Nombre d’arêtes d’un graphe non orienté : somme de tous les coefficients divisée par . Graphe orienté : la ligne donne le degré sortant, la colonne le degré entrant, et la somme totale le nombre d’arcs.
Attention — La division par ne vaut que pour un graphe non orienté. Dans un graphe orienté, la somme totale est directement le nombre d’arcs, et la somme d’une ligne n’est pas celle de la colonne correspondante.
2 / 5
Puissances de M : compter les chemins
Longueur d’un chemin. La longueur d’un chemin (graphe orienté) ou d’une chaîne (graphe non orienté) est son nombre d’arcs ou d’arêtes, répétitions comprises : un chemin peut repasser par un sommet ou par une arête. Dans un graphe non orienté, chaque arête se parcourt dans les deux sens ; dans ce chapitre, on dit « chemin » dans les deux cas.
Rappel : produit de deux matrices carrées. Le coefficient ligne , colonne de est la ligne de multipliée par la colonne de :
Théorème. Soit la matrice d’adjacence d’un graphe dont les sommets sont numérotés de à , et un entier naturel non nul. Le coefficient ligne , colonne de , noté , est égal au nombre de chemins de longueur allant du sommet au sommet .
Démonstration (exigible, par récurrence). Pour tout entier , on note la propriété : « pour tous et , est le nombre de chemins de longueur de à ».
Initialisation. , et est par définition le nombre d’arcs de vers , c’est-à-dire le nombre de chemins de longueur de à : est vraie.
Hérédité. Soit tel que est vraie. Un chemin de longueur de à se découpe d’une seule façon en un chemin de longueur de jusqu’à un sommet (l’avant-dernier sommet), suivi d’un arc de vers . Pour un sommet fixé, il y a chemins pour la première partie, d’après , et arcs pour la seconde : soit chemins. En additionnant sur tous les sommets possibles, le nombre de chemins de longueur de à vaut qui est exactement le coefficient ligne , colonne du produit : est vraie.
Conclusion. est vraie et la propriété est héréditaire : par récurrence, est vraie pour tout entier .
Exemple. Avec le graphe A, B, C, D de la première partie, : il y a trois chemins de longueur de C à C, à savoir C–A–C, C–B–C et C–D–C. : le seul chemin de longueur de A à D est A–B–C–D.
Un seul coefficient. Inutile de tout calculer : est la ligne de multipliée par la colonne de , soit : il y a chemins de longueur de A à D.
Deux raccourcis. Comme , la ligne de est la somme des lignes de des voisins de : D n’a qu’un voisin, C, donc la ligne de est la ligne de , . Et : on obtient en élevant au carré. À la calculatrice, on entre puis on calcule directement .
Réflexe — Pour compter les chemins de longueur de à , je lis le coefficient ligne , colonne de et je cite le théorème. S’il ne faut qu’un coefficient, je multiplie une ligne par une colonne.
Attention — n’est pas la matrice des carrés des coefficients : se calcule par un produit ligne par colonne. Et les chemins comptés peuvent repasser par un même sommet ou une même arête : A–B–A–B est un chemin de longueur de A à B.
3 / 5
Chemins fermés, triangles et coefficients nuls
Coefficients diagonaux. est le nombre de chemins fermés de longueur qui partent du sommet et y reviennent.
Graphe non orienté simple. est le degré de : un chemin fermé de longueur est un aller-retour vers un voisin. vaut le double du nombre de triangles qui contiennent : chaque triangle se parcourt dans deux sens. La somme des coefficients diagonaux de (on l’appelle la trace de ) vaut donc fois le nombre de triangles du graphe : trois sommets de départ, deux sens.
Graphe orienté sans boucle. est le nombre de circuits de longueur passant par ; la somme des coefficients diagonaux de vaut fois le nombre de ces circuits.
Coefficients nuls. signifie qu’aucun chemin de longueur ne va de à . Si les sommets se partagent en deux groupes et que chaque arête relie un sommet d’un groupe à un sommet de l’autre, tout chemin change de groupe à chaque pas : un chemin de longueur impaire relie deux groupes différents, un chemin de longueur paire reste dans le même groupe.
Une maison. Sommets A, B, C, D, E, dans cet ordre.
La diagonale de , , donne les degrés ; sa somme est le double des arêtes. La diagonale de vaut , de somme : le graphe a triangle, A–B–E. : C n’appartient à aucun triangle.
Deux groupes. La grille d’arêtes 1–2, 2–3, 4–5, 5–6, 1–4, 2–5, 3–6 a ses sommets répartis en et , et chaque arête relie les deux groupes. Donc et , sans aucun calcul : aucun chemin de longueur impaire ne relie à , aucun chemin de longueur paire ne relie à . En particulier, la grille n’a aucun triangle.
Un graphe orienté. Arcs , , , , : la diagonale de vaut , de somme , et le graphe a un seul circuit de longueur , , compté une fois depuis chacun de ses trois sommets. La diagonale de vaut : c’est le circuit , vu depuis ses quatre sommets.
Réflexe — Diagonale de = chemins fermés. Nombre de triangles d’un graphe non orienté simple : somme de la diagonale de divisée par . Nombre de circuits de longueur d’un graphe orienté : divisée par .
Attention — Les chemins fermés comptés peuvent être des allers-retours : compte aussi ––––, ce n’est pas le nombre de cycles de longueur . Seule la longueur donne directement des triangles, car un chemin fermé de longueur sans boucle passe par trois sommets distincts.
4 / 5
Distance, diamètre et connexité
Existence d’un chemin. Il existe un chemin de longueur de à si et seulement si .
Distance. Pour deux sommets distincts et , la distance est la plus petite longueur d’un chemin de à : c’est le plus petit entier tel que . Dans un graphe orienté, et peuvent différer. (Ne pas confondre avec le degré , qui ne porte que sur un sommet.)
Diamètre. Le diamètre d’un graphe connexe (fortement connexe s’il est orienté) est la plus grande distance entre deux de ses sommets. Pour le trouver, on cherche, pour chaque sommet, sa plus grande distance aux autres, puis le maximum de ces valeurs.
Connexité. Un graphe orienté est fortement connexe lorsque, pour tous sommets distincts et , il existe un chemin de vers . Un graphe d’ordre est connexe (fortement connexe s’il est orienté) si et seulement si tous les coefficients hors de la diagonale de sont non nuls.
Pourquoi s’arrêter à . Un plus court chemin de à ne passe jamais deux fois par le même sommet : sinon, en supprimant la portion entre les deux passages, on obtiendrait un chemin plus court. Il visite donc au plus sommets distincts, et compte au plus arcs. Deux sommets reliés par un chemin le sont donc par un chemin de longueur au plus : .
Distances du graphe A, B, C, D. La matrice donne . et , donc ; de même . Le diamètre vaut .
Un graphe orienté. Arcs X → Y, Y → Z, Z → Y, Z → T et T → X, sommets dans l’ordre X, Y, Z, T. Il est d’ordre , on calcule donc Tous les coefficients hors de la diagonale sont non nuls : le graphe est fortement connexe. Pour X vers T, le coefficient ligne , colonne vaut dans , dans et dans : , par X → Y → Z → T. En sens inverse, .
Réflexe — Pour une distance, je lis le coefficient dans , , … dans cet ordre et je m’arrête au premier qui n’est pas nul. Pour la connexité, je calcule jusqu’à et je regarde les coefficients hors de la diagonale.
Attention — ne prouve pas que : la distance peut valoir ou , il faut regarder les puissances inférieures. Et un coefficient nul dans ne prouve rien pour un graphe d’ordre : il faut aller jusqu’à .
5 / 5
Pour aller plus loin
Vocabulaire des graphes. Sommets, arêtes, degré, chaînes, cycles, connexité et théorème d’Euler : chapitre Vocabulaire et propriétés.
Graphes probabilistes. Quand chaque arc porte une probabilité, la matrice d’adjacence est remplacée par la matrice de transition , et le coefficient de est une probabilité : chapitre Graphes probabilistes et chaînes de Markov.
Suites de matrices. Quand s’écrit à l’aide de et de la matrice identité, les puissances de se calculent par des suites récurrentes : chapitre Suites de matrices.
Pour aller plus loin (hors programme de maths expertes). Dans un graphe pondéré, chaque arête porte un nombre positif, son poids (une distance, une durée, un coût) ; le poids d’une chaîne est la somme des poids de ses arêtes. L’algorithme de Dijkstra trouve une chaîne de poids minimal entre deux sommets, à condition que les poids soient positifs : on part du sommet de départ (valeur ), on marque à chaque étape le sommet de plus petite valeur provisoire, puis on met à jour ses voisins. Une chaîne de poids minimal n’a pas forcément le moins d’arêtes : les puissances de comptent les arêtes, Dijkstra additionne les poids.
- Matrice d’adjacence : = nombre d’arêtes entre et , ou d’arcs de vers ; symétrique si le graphe n’est pas orienté ; l’ordre des sommets est toujours écrit.
- Somme d’une ligne = degré (degré sortant si orienté), d’une colonne = degré entrant ; somme totale = (non orienté) ou nombre d’arcs (orienté).
- Théorème (démonstration exigible) : est le nombre de chemins de longueur de à ; un seul coefficient = une ligne multipliée par une colonne.
- Diagonale de = chemins fermés ; = degré ; trace de = × nombre de triangles (non orienté), × nombre de circuits de longueur (orienté).
- Distance = plus petit tel que ; diamètre = plus grande distance ; connexe si n’a aucun zéro hors de la diagonale.
Questions fréquentes
Qu’est-ce que la matrice d’adjacence d’un graphe ?
C’est la matrice carrée dont le coefficient ligne i, colonne j est le nombre d’arêtes entre les sommets i et j (ou d’arcs de i vers j si le graphe est orienté). Elle dépend de l’ordre choisi pour les sommets, et elle est symétrique quand le graphe n’est pas orienté.
Comment lire les degrés sur la matrice d’adjacence ?
Pour un graphe non orienté, la somme de la ligne i est le degré du sommet i, et la somme de tous les coefficients vaut le double du nombre d’arêtes. Pour un graphe orienté, la ligne donne le degré sortant, la colonne le degré entrant, et la somme totale le nombre d’arcs.
Comment compter les chemins de longueur n dans un graphe ?
Le coefficient ligne i, colonne j de la puissance Mⁿ de la matrice d’adjacence est le nombre de chemins de longueur n de i à j. Cela se démontre par récurrence sur n, à partir de la définition du produit de matrices. Pour un seul coefficient, on multiplie une ligne par une colonne.
Comment compter les triangles d’un graphe avec sa matrice ?
Dans un graphe non orienté simple, la somme des coefficients diagonaux de M³ vaut six fois le nombre de triangles, car chaque triangle est parcouru depuis trois sommets et dans deux sens. Les coefficients diagonaux de M², eux, sont les degrés.
Comment trouver la distance entre deux sommets avec les puissances de M ?
La distance de i à j est la plus petite puissance k telle que le coefficient (i ; j) de Mᵏ n’est pas nul. Un graphe d’ordre n est connexe si la somme M + M² + … + Mⁿ⁻¹ n’a aucun coefficient nul hors de sa diagonale.
Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.
Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs