Adloun

Le modèle des graphes

Cours · informatique (MP2I/MPI), chapitre 13 · MP2I et MPI · le début du chapitre, la suite sur Adloun

Un graphe : des sommets reliés par des arêtes.

13.1 Un modèle, et presque tout devient un graphe

Le programme range les graphes parmi les « structures de données relationnelles », et le mot est juste : là où l'arbre impose une hiérarchie, le graphe ne dit rien de plus que « ces objets sont reliés ». C'est cette pauvreté qui fait sa portée.

Il demande de « mettre en avant des applications importantes et si possible modernes : réseau de transport, graphe du web, réseaux sociaux, bio-informatique », et de « préciser autant que possible la taille typique de tels graphes ». Ces ordres de grandeur ne sont pas anecdotiques — ils décident de l'algorithme qu'on a le droit d'écrire.

GrapheSommetsArcsCe qu'un donnerait
Métro d'une villeinstantané
Réseau routier français opérations : des jours
Graphe du webinconcevable
Réseau social mondialinconcevable
ImportantLa leçon de ce tableau

Sur un graphe de sommets, un algorithme en est inutilisable, et un algorithme en tourne en quelques secondes. C'est pourquoi la représentation choisie — matrice ou listes — n'est pas un détail d'écriture : elle change la complexité de tout ce qu'on bâtira dessus.

13.2 Définitions

Définition 13.1Graphe orienté, graphe non orienté

Un graphe est la donnée d'un ensemble fini de sommets (ou nœuds) et d'un ensemble de liens.

  • Si les liens sont des couples ordonnés, on parle d'arcs et le graphe est orienté.
  • Si ce sont des paires non ordonnées, on parle d'arêtes et le graphe est non orienté.

On note et . Une boucle est un arc ou une arête d'un sommet vers lui-même. Le programme précise : « on n'évoque pas les multi-arcs » — entre deux sommets, il y a au plus un lien dans chaque sens.

Définition 13.2Degrés

Dans un graphe non orienté, le degré est le nombre d'arêtes incidentes à . Dans un graphe orienté, le programme fixe les notations :

Proposition 13.3Lemme des poignées de main

Dans un graphe non orienté, . Dans un graphe orienté, .

Démonstration

Chaque arête est comptée une fois dans et une fois dans : la somme des degrés compte donc chaque arête deux fois. Chaque arc , lui, est compté une seule fois dans et une seule dans .

Définition 13.4Chemins et cycles

Un chemin de à est une suite de sommets où chaque est un arc (ou une arête). Sa longueur est , le nombre d'arcs — et non de sommets.

Un cycle est un chemin de longueur non nulle dont l'origine et l'extrémité coïncident. Dans un graphe non orienté, on exige de plus qu'il n'emprunte pas deux fois la même arête, faute de quoi tout aller-retour serait un cycle.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre