Introduction aux graphes

Objectifs pédagogiques
  • Comprendre ce qu’est un graphe.
  • Identifier les composants d’un graphe (sommets, arêtes).
  • Découvrir les types de graphes (orienté, non orienté, pondéré…).
  • Comprendre les applications concrètes des graphes.

Notions de base

Qu’est-ce qu’un graphe ?

Définition
Un graphe est une structure mathématique composée de sommets (ou nœuds) reliés entre eux par des arêtes (ou liens).

Un graphe permet de modéliser des relations ou des connexions entre objets. C’est un outil puissant pour représenter des situations complexes de manière visuelle et abstraite.

Exemples :

Les graphes sont très utilisés en informatique, en mathématiques, en logistique, et dans bien d’autres domaines où il faut représenter des objets interconnectés.

Composants d’un graphe

Un graphe est généralement noté G = (V, E), où :

Exemple
Soit G = (V, E) avec : V = {A, B, C} E = {(A, B), (B, C)}

Le graphe contient trois sommets (A, B, C) et deux arêtes : l’une relie A à B, l’autre relie B à C.

Les arêtes peuvent être de plusieurs types

Types de graphes

Les graphes peuvent être classés selon plusieurs critères, en fonction de la nature des arêtes et de la structure globale du graphe.

Type de grapheCaractéristiques
OrientéLes arêtes ont un sens (on parle alors d’arc). L’ordre des sommets est important.
Non orientéLes arêtes n’ont pas de sens : la relation est réciproque entre les deux sommets.
PondéréChaque arête possède une valeur numérique appelée poids (distance, coût, temps…).
Non pondéréLes arêtes ne comportent aucun poids : toutes les connexions sont équivalentes.
CycliqueLe graphe contient au moins un cycle : on peut revenir à un sommet déjà visité.
AcycliqueLe graphe ne contient aucun cycle : on ne repasse jamais par le même sommet.

Exemple visuel

Le cas particulier des DAG (Directed Acyclic Graph)

Un graphe orienté acyclique — ou DAG (Directed Acyclic Graph) — est un graphe orienté qui ne contient aucun cycle.

Cela signifie qu’on ne peut jamais revenir en arrière en suivant le sens des flèches. Les DAG sont particulièrement utiles pour modéliser des relations de dépendance où l’ordre est important.

Exemple
Un projet comporte 3 étapes : A → B → C Ici, la tâche B dépend de A, et C dépend de B. Ce graphe est un DAG.

Représenter un graphe

Un graphe peut être représenté de différentes façons, selon les besoins : stockage en mémoire, visualisation, ou traitement algorithmique. Chaque représentation met en valeur un aspect particulier de la structure du graphe.

1. Liste d’adjacence

La liste d’adjacence consiste à associer à chaque sommet la liste des sommets voisins avec lesquels il est directement connecté par une arête.

Cette forme est économe en mémoire pour les graphes peu connectés (c’est-à-dire avec peu d’arêtes par rapport au nombre total de sommets). Elle permet aussi de parcourir rapidement les voisins d’un sommet.

Exemple — Graphe non orienté avec les sommets A, B, C, D et les connexions suivantes :

Liste d’adjacence :

A : B, D
B : A, C
C : B, D
D : A, C

Lecture : le sommet A est relié à B et D, etc.

2. Matrice d’adjacence

La matrice d’adjacence est une table de correspondance carrée de taille n × n (où n est le nombre de sommets). Chaque case (i, j) de la matrice contient :

Cette méthode permet de savoir immédiatement s’il existe un lien entre deux sommets, mais elle consomme plus de mémoire, surtout si le graphe est peu dense.

Exemple avec le même graphe (non orienté) :

ABCD
A0101
B1010
C0101
D1010

Lecture : la case (A, B) contient 1 → il existe une arête entre A et B ; la case (A, C) contient 0 → A et C ne sont pas connectés.

3. Représentation graphique (ou schéma visuel)

C’est la représentation la plus intuitive : chaque sommet est un point (ou cercle), et chaque arête est une ligne (ou flèche si le graphe est orienté) qui relie deux sommets.

Elle est très utile pour :

Exemple visuel :

     A —— B
     |    |
     D —— C

Lecture : A est relié à B et D, etc.

Exemple simple de graphe

Voici un graphe non orienté entre 4 villes, où chaque sommet représente une ville, et chaque arête représente une route bidirectionnelle entre deux villes :

A —— B
|    |
D —— C

Ce graphe peut modéliser un petit réseau routier

Par exemple :

Ce graphe permet de visualiser les connexions possibles et de raisonner sur les trajets.

Représentation sous différentes formes

  1. Liste d’adjacence :
A : B, D
B : A, C
C : B, D
D : A, C
  1. Matrice d’adjacence :
ABCD
A0101
B1010
C0101
D1010
  1. Représentation pondérée (facultative) : Si on veut ajouter des distances, on peut imaginer :

Dans ce cas, le graphe devient pondéré. On peut alors l’utiliser pour calculer des trajets optimaux (le plus court chemin, par exemple).


Glossaire

Éléments de base du graphe

Mot-cléDéfinition rapide
GrapheStructure composée de sommets et arêtes représentant des relations entre objets.
Sommet (ou nœud)Élément représentant une entité dans le graphe (ex : ville, utilisateur, tâche).
ArêteConnexion entre deux sommets. Peut être orientée, non orientée, pondérée ou non.
ArcTerme spécifique pour une arête orientée.
BoucleArête qui relie un sommet à lui-même.

Types de graphes

Mot-cléDéfinition rapide
Graphe orientéLes arêtes ont un sens (ex : A → B).
Graphe non orientéLes arêtes n'ont pas de sens, la relation est symétrique entre sommets.
Graphe pondéréLes arêtes ont une valeur ou poids (ex : distance, temps, coût).
Graphe non pondéréToutes les arêtes sont égales (aucune valeur particulière).
Graphe simpleGraphe sans boucles ni arêtes multiples entre les mêmes sommets.
MultigrapheGraphe autorisant plusieurs arêtes entre une même paire de sommets.
Graphe completTous les sommets sont reliés entre eux.
Graphe cycliqueContient au moins un cycle.
Graphe acycliqueNe contient aucun cycle.
DAG (Directed Acyclic Graph)Graphe orienté sans cycle, souvent utilisé pour représenter des dépendances.

Représentations d’un graphe

Mot-cléDéfinition rapide
Liste d’adjacencePour chaque sommet, on indique la liste de ses voisins.
Matrice d’adjacenceTableau indiquant l’existence d’une arête entre deux sommets.
Matrice d’incidenceTableau indiquant les liens entre sommets et arêtes.
Représentation graphiqueDessin visuel avec points (sommets) et traits/flèches (arêtes).

Propriétés et parcours

Mot-cléDéfinition rapide
CheminSuite de sommets reliés successivement par des arêtes.
CycleChemin fermé qui revient au point de départ sans repasser deux fois par la même arête.
Composante connexeEnsemble de sommets connectés entre eux par des chemins.
Parcours en profondeur (DFS)Exploration récursive : on suit un chemin jusqu’au bout avant de revenir en arrière.
Parcours en largeur (BFS)Exploration par niveaux : on visite les voisins en priorité.
Degré d’un sommetNombre d’arêtes liées à un sommet. En graphe orienté, on distingue degré entrant et sortant.