1.1 Définition d'un graphe et de ses composants
Graphe — c'est une structure de données composée d'un ensemble de sommets (ou nœuds) et d'un ensemble d'arêtes (ou arcs) reliant ces sommets. Les graphes sont largement utilisés pour modéliser et représenter divers objets et leurs interrelations.
Composants principaux d'un graphe :
Sommets :
- Éléments du graphe représentant des objets.
- Désignés par V (ensemble des sommets).
- Par exemple, V = {A, B, C, D}.
Arêtes :
- Connexions entre sommets, représentant des relations ou des liens.
- Désignées par E (ensemble des arêtes).
- Par exemple, E = {(A, B), (B, C), (C, D), (A, D)}.
Caractéristiques principales d'un graphe :
Degré d'un sommet :
- Nombre d'arêtes incidentes à un sommet donné.
- Dans un graphe non orienté, le degré d'un sommet est le nombre d'arêtes reliant ce sommet à d'autres.
- Dans un graphe orienté, on distingue le degré entrant et le degré sortant d'un sommet.
Chemin dans un graphe :
- Une séquence d'arêtes reliant une séquence de sommets.
- Par exemple, chemin de A à D : A → B → C → D.
Circuit dans un graphe :
- Un chemin qui commence et se termine au même sommet.
- Par exemple, circuit : A → B → C → A.
1.2 Types de graphes
Les graphes peuvent être très variés, mais on peut y distinguer des sous-types intéressants :
1. Graphe non orienté :
Les arêtes de ce graphe n'ont pas de direction, c'est-à-dire que la connexion entre deux sommets peut être parcourue dans les deux sens.
Exemple :
Réseaux sociaux, où les nœuds représentent des personnes et les arêtes — leurs amitiés.
2. Graphe orienté :
Les arêtes du graphe ont une direction (et sont généralement marquées par des flèches), c'est-à-dire que la connexion entre deux sommets ne peut être parcourue que dans une seule direction.
Exemple :
Graphe des liens sur les pages Web, où les nœuds sont les pages et les arêtes — les liens entre elles.
3. Graphe pondéré :
Les arêtes ont des poids (nombres) qui peuvent représenter des distances, des coûts ou d'autres mesures.
Exemple :
Graphe des routes, où les nœuds sont des villes et les arêtes — des routes avec leur longueur ou coût de passage.
4. Graphe mixte :
Contient à la fois des arêtes orientées et non orientées.
Exemple :
Systèmes de transport, où certaines routes sont bidirectionnelles et d'autres — unidirectionnelles.
5. Graphe planaire :
Un graphe qui peut être dessiné sur un plan de sorte que ses arêtes ne se croisent pas.
Exemple :
Graphe des routes en ville (sans tunnels).
6. Graphe connexe :
Un graphe dans lequel il existe un chemin entre chaque paire de sommets.
Exemple :
Graphe représentant un réseau de villes où chaque paire de villes est reliée par une route.
7. Graphe acyclique :
Un graphe sans circuits.
Exemple :
L'arbre représentant la structure d'un système de fichiers.
1.3 Exemples d'application des graphes
1. Réseaux sociaux :
- Les nœuds représentent des personnes et les arêtes — les amitiés entre elles.
- Utilisé pour analyser les relations, trouver des communautés, évaluer l'influence des utilisateurs, etc.
2. Internet et routage :
- Les nœuds représentent des routeurs ou des ordinateurs, et les arêtes — les connexions entre eux.
- Utilisé pour trouver des routes optimales de transmission de données.
3. Génomique :
- Les nœuds représentent des gènes ou des protéines, et les arêtes — les interactions entre eux.
- Utilisé pour analyser les données génomiques, rechercher des modèles, etc.
4. Logistique et transport :
- Les nœuds représentent des villes ou des nœuds de transport, et les arêtes — les routes ou chemins.
- Utilisé pour optimiser les routes de livraison, minimiser les coûts, etc.
5. Réseaux informatiques :
- Les nœuds représentent des dispositifs ou des serveurs, et les arêtes — les connexions entre eux.
- Utilisé pour la conception et la gestion des réseaux.
6. Analyse de données et machine learning :
Les graphes sont utilisés pour représenter et analyser des données, rechercher des clusters, créer des systèmes de recommandation, etc.
GO TO FULL VERSION