Maths Experte Graphes & Matrices graphessommetsarêtesdegréchaînecycleconnexitématrice d'adjacencecheminsgraphe orienté

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).

Faire le quiz →

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(s)d(s) d’un sommet ss est le nombre d’arêtes dont il est une extrémité (une boucle compte pour 22).

Définition 2 — graphe simple, graphe complet. Un graphe est simple s’il n’a ni boucle ni arête multiple. Le graphe complet KnK_n est le graphe simple à nn 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 A→BA \to B va de AA vers BB. 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 11 à nn. La matrice d’adjacence du graphe est la matrice carrée A=(aij)A = (a_{ij}) d’ordre nn dont le coefficient aija_{ij} est le nombre d’arêtes (ou d’arcs) allant du sommet ii au sommet jj. Pour un graphe non orienté, AA est symétrique et la somme de la ligne ii vaut d(i)d(i) (graphe simple) ; pour un graphe orienté, la ligne ii décrit les arcs qui partent de ii et la colonne jj ceux qui arrivent en jj. 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 :

∑sd(s)=2×(nombre d’areˆtes)\sum_{s} d(s) = 2 \times (\text{nombre d'arêtes})

Démonstration : chaque arête possède deux extrémités et contribue donc pour 22 à la somme des degrés. □\square

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 3,3,2,2,13, 3, 2, 2, 1 (somme 1111).

Théorème 2 (arêtes du graphe complet). Dans KnK_n, chaque sommet est de degré n−1n - 1 et le nombre d’arêtes vaut

n(n−1)2\frac{n(n-1)}{2}

C’est le nombre de paires de sommets distincts ; on le retrouve par le Théorème 1 : n(n−1)2=12∑d(s)\frac{n(n-1)}{2} = \frac{1}{2}\sum d(s). Exemple : K6K_6 a 6×52=15\dfrac{6 \times 5}{2} = 15 arêtes.

Théorème 3 (nombre de chemins de longueur nn). (démonstration exigible, par récurrence) Soit AA la matrice d’adjacence d’un graphe (orienté ou non) et n≥1n \geq 1 un entier. Le coefficient (An)ij(A^n)_{ij} est le nombre de chemins de longueur nn allant du sommet ii au sommet jj (suites de nn arêtes consécutives, répétitions de sommets ou d’arêtes autorisées).

Démonstration : initialisation, (A1)ij=aij(A^1)_{ij} = a_{ij} est le nombre d’arêtes de ii à jj. Hérédité : un chemin de longueur n+1n+1 de ii à jj est un chemin de longueur nn de ii vers un sommet kk, suivi d’une arête de kk à jj ; pour kk fixé il y en a (An)ik akj(A^n)_{ik}\,a_{kj}, et en sommant sur les pp sommets intermédiaires possibles : ∑k=1p(An)ik akj=(AnA)ij=(An+1)ij\sum_{k=1}^{p} (A^n)_{ik}\, a_{kj} = (A^nA)_{ij} = (A^{n+1})_{ij}. □\square

Conséquences : dans un graphe simple non orienté, (A2)ii=d(i)(A^2)_{ii} = d(i) (un aller-retour par arête incidente) ; le plus court chemin de ii à jj a pour longueur le plus petit entier nn tel que (An)ij≠0(A^n)_{ij} \neq 0.

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.

  1. Calculer la somme des degrés (ou la lire dans l’énoncé).
  2. Diviser par 22 pour obtenir le nombre d’arêtes (Théorème 1).
  3. 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 2,3,3,42, 3, 3, 4 donnent 122=6\frac{12}{2} = 6 arêtes ; des degrés 3,3,2,2,13, 3, 2, 2, 1 (somme 1111) sont impossibles.

Méthode 2 — écrire la matrice d’adjacence.

  1. Fixer l’ordre des sommets (celui de l’énoncé).
  2. Lister les arêtes (ou les arcs) : aij=1a_{ij} = 1 si ii et jj sont reliés (ligne = départ, colonne = arrivée pour un graphe orienté), 00 sinon.
  3. Contrôler : matrice symétrique et diagonale nulle pour un graphe simple non orienté ; somme de la ligne ii égale à d(i)d(i).

Exemple : le graphe d’arêtes ABAB, ACAC, BCBC, CDCD a pour matrice A=(0110101011010010)A = \begin{pmatrix} 0&1&1&0 \\ 1&0&1&0 \\ 1&1&0&1 \\ 0&0&1&0 \end{pmatrix} ; le graphe orienté d’arcs A→BA \to B, B→CB \to C, C→AC \to A, A→CA \to C a pour matrice M=(011001100)M = \begin{pmatrix} 0&1&1 \\ 0&0&1 \\ 1&0&0 \end{pmatrix}, non symétrique.

Méthode 3 — compter les chemins de longueur nn.

  1. Écrire la matrice d’adjacence AA (Méthode 2).
  2. Calculer AnA^n (à la main pour n=2n = 2 ou 33, sinon à la calculatrice ou en Python).
  3. Lire le coefficient ligne ii, colonne jj : c’est le nombre de chemins de longueur nn de ii à jj (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 ABAB, ACAC, BCBC, CDCD : A2=(2111121111301101)A^2 = \begin{pmatrix} 2&1&1&1 \\ 1&2&1&1 \\ 1&1&3&0 \\ 1&1&0&1 \end{pmatrix}, donc (A2)AD=1(A^2)_{AD} = 1 (l’unique chemin A−C−DA - C - D) et (A2)CC=3=d(C)(A^2)_{CC} = 3 = d(C).

Méthode 4 — décider de l’existence d’une chaîne eulérienne.

  1. Vérifier que le graphe est connexe (Définition 3).
  2. Compter les sommets de degré impair.
  3. Conclure avec le Théorème 4 : 00 sommet impair = cycle eulérien (départ quelconque) ; 22 sommets impairs = chaîne eulérienne entre ces deux sommets ; sinon, aucun parcours eulérien.

Exemple : le graphe d’arêtes ABAB, ACAC, BCBC, CDCD a deux sommets de degré impair (CC de degré 33, DD de degré 11) : D−C−A−B−CD - C - A - B - C est une chaîne eulérienne de DD à CC. Les ponts de Königsberg (quatre sommets impairs) n’admettent aucun parcours.

Quiz — Graphes

10 questions · correction immédiate · sans inscription

Tester →