Graphes
Résumé de cours, théorèmes et méthodes : graphes non orientés et orientés, sommets, arêtes, degré, ordre, graphe complet, chaînes, cycles, connexité, lemme des poignées de mains, matrice d'adjacence et nombre de chemins de longueur n (démonstration), algorithme de calcul, graphes eulériens (Terminale, maths expertes).
Définitions
Définition 1 — graphe, sommets, arêtes, degré. Un graphe est formé d’un ensemble fini de sommets et d’un ensemble d’arêtes, chaque arête reliant deux sommets (éventuellement le même : boucle). Deux sommets reliés par une arête sont adjacents. L’ordre du graphe est son nombre de sommets ; le degré d’un sommet est le nombre d’arêtes dont il est une extrémité (une boucle compte pour ).
Définition 2 — graphe simple, graphe complet. Un graphe est simple s’il n’a ni boucle ni arête multiple. Le graphe complet est le graphe simple à sommets dans lequel deux sommets distincts quelconques sont toujours adjacents.
Définition 3 — chaîne, cycle, connexité. Une chaîne est une suite de sommets dans laquelle deux sommets consécutifs sont adjacents ; sa longueur est le nombre d’arêtes parcourues. Une chaîne est fermée si son premier et son dernier sommet sont identiques ; un cycle est une chaîne fermée qui n’emprunte pas deux fois la même arête. Un graphe est connexe si deux sommets quelconques peuvent toujours être reliés par une chaîne ; sinon, il se décompose en composantes connexes.
Définition 4 — graphe orienté, chemin. Dans un graphe orienté, chaque arête, appelée arc, possède un sens : l’arc va de vers . Un chemin est une suite d’arcs consécutifs ; sa longueur est son nombre d’arcs. Les graphes orientés modélisent les relations non symétriques : sens uniques, liens entre pages web (PageRank), évolution d’un système (chaînes de Markov).
Définition 5 — matrice d’adjacence. On numérote les sommets de à . La matrice d’adjacence du graphe est la matrice carrée d’ordre dont le coefficient est le nombre d’arêtes (ou d’arcs) allant du sommet au sommet . Pour un graphe non orienté, est symétrique et la somme de la ligne vaut (graphe simple) ; pour un graphe orienté, la ligne décrit les arcs qui partent de et la colonne ceux qui arrivent en . Pour un graphe simple, la diagonale est nulle.
Définition 6 — chaîne et cycle eulériens. Une chaîne eulérienne est une chaîne qui emprunte chaque arête une fois et une seule ; si elle est fermée, on parle de cycle eulérien. (Problème historique des ponts de Königsberg, résolu par Euler en 1736.)
Théorèmes et propriétés
Théorème 1 (lemme des poignées de mains). (démonstration exigible) Dans tout graphe, la somme des degrés des sommets est égale au double du nombre d’arêtes :
Démonstration : chaque arête possède deux extrémités et contribue donc pour à la somme des degrés.
Conséquence : la somme des degrés est paire, donc le nombre de sommets de degré impair est pair. Il n’existe pas, par exemple, de graphe dont les degrés seraient (somme ).
Théorème 2 (arêtes du graphe complet). Dans , chaque sommet est de degré et le nombre d’arêtes vaut
C’est le nombre de paires de sommets distincts ; on le retrouve par le Théorème 1 : . Exemple : a arêtes.
Théorème 3 (nombre de chemins de longueur ). (démonstration exigible, par récurrence) Soit la matrice d’adjacence d’un graphe (orienté ou non) et un entier. Le coefficient est le nombre de chemins de longueur allant du sommet au sommet (suites de arêtes consécutives, répétitions de sommets ou d’arêtes autorisées).
Démonstration : initialisation, est le nombre d’arêtes de à . Hérédité : un chemin de longueur de à est un chemin de longueur de vers un sommet , suivi d’une arête de à ; pour fixé il y en a , et en sommant sur les sommets intermédiaires possibles : .
Conséquences : dans un graphe simple non orienté, (un aller-retour par arête incidente) ; le plus court chemin de à a pour longueur le plus petit entier tel que .
Théorème 4 (théorème d’Euler). (admis) Un graphe connexe admet :
- un cycle eulérien si et seulement si tous ses sommets sont de degré pair ;
- une chaîne eulérienne non fermée si et seulement s’il a exactement deux sommets de degré impair ; ces deux sommets en sont alors les extrémités.
Idée de la condition nécessaire : chaque passage par un sommet intermédiaire utilise deux arêtes (une pour arriver, une pour repartir), donc son degré est pair ; seuls le sommet de départ et celui d’arrivée peuvent être de degré impair.
Méthodes
Méthode 1 — exploiter le lemme des poignées de mains.
- Calculer la somme des degrés (ou la lire dans l’énoncé).
- Diviser par pour obtenir le nombre d’arêtes (Théorème 1).
- Pour tester l’existence d’un graphe : vérifier que la somme des degrés est paire, c’est-à-dire que le nombre de sommets de degré impair est pair.
Exemple : des degrés donnent arêtes ; des degrés (somme ) sont impossibles.
Méthode 2 — écrire la matrice d’adjacence.
- Fixer l’ordre des sommets (celui de l’énoncé).
- Lister les arêtes (ou les arcs) : si et sont reliés (ligne = départ, colonne = arrivée pour un graphe orienté), sinon.
- Contrôler : matrice symétrique et diagonale nulle pour un graphe simple non orienté ; somme de la ligne égale à .
Exemple : le graphe d’arêtes , , , a pour matrice ; le graphe orienté d’arcs , , , a pour matrice , non symétrique.
Méthode 3 — compter les chemins de longueur .
- Écrire la matrice d’adjacence (Méthode 2).
- Calculer (à la main pour ou , sinon à la calculatrice ou en Python).
- Lire le coefficient ligne , colonne : c’est le nombre de chemins de longueur de à (Théorème 3), à vérifier si possible en listant les chemins.
def produit(A, B):
n = len(A)
C = [[0] * n for _ in range(n)]
for i in range(n):
for j in range(n):
for k in range(n):
C[i][j] += A[i][k] * B[k][j]
return C
def puissance(A, n):
n_som = len(A)
P = [[1 if i == j else 0 for j in range(n_som)] for i in range(n_som)] # identité
for _ in range(n):
P = produit(P, A)
return P
A = [[0, 1, 1, 0],
[1, 0, 1, 0],
[1, 1, 0, 1],
[0, 0, 1, 0]]
print(puissance(A, 3)[0][0]) # 2 : chemins de longueur 3 de A à A
Exemple : avec le graphe , , , : , donc (l’unique chemin ) et .
Méthode 4 — décider de l’existence d’une chaîne eulérienne.
- Vérifier que le graphe est connexe (Définition 3).
- Compter les sommets de degré impair.
- Conclure avec le Théorème 4 : sommet impair = cycle eulérien (départ quelconque) ; sommets impairs = chaîne eulérienne entre ces deux sommets ; sinon, aucun parcours eulérien.
Exemple : le graphe d’arêtes , , , a deux sommets de degré impair ( de degré , de degré ) : est une chaîne eulérienne de à . Les ponts de Königsberg (quatre sommets impairs) n’admettent aucun parcours.
Quiz — Graphes
10 questions · correction immédiate · sans inscription