Synthèse
Cette synthèse suit les grands chapitres des notes du professeur, mais ne développe que la matière effectivement vue au cours ou nécessaire pour les TP déjà actifs. L’objectif est d’avoir une structure stable pendant tout le quadrimestre, sans ajouter des blocs isolés séance après séance.
Architecture du cours
Section intitulée « Architecture du cours »| Chapitre | Thème | État |
|---|---|---|
| 1 | Graphes connexes, eulériens et bipartis | Actif |
| 2 | Plus courts chemins | Actif |
| 3 | Arbres et connectivité | Actif — CM3 |
| 4 | Graphes hamiltoniens | À venir |
| 5 | Couplages et couvertures | À venir |
| 6 | Colorations, indépendants, cliques et Ramsey | À venir |
| 7 | Graphes planaires | À venir |
| 8 | Flots et coupes | À venir |
| 9 | Algèbre linéaire en théorie des graphes | À venir |
| 10 | Complexité algorithmique : P, NP et NP-complétude | À venir |
Les chapitres 4 à 10 seront remplis lorsque la matière correspondante aura réellement été vue.
1. Graphes connexes, eulériens et bipartis
Section intitulée « 1. Graphes connexes, eulériens et bipartis »1.1 Graphe, sommets, arêtes et degré
Section intitulée « 1.1 Graphe, sommets, arêtes et degré »Un graphe est un triplet
où :
- est l’ensemble fini des sommets ;
- est l’ensemble fini des arêtes ;
- est la fonction d’incidence qui associe à chaque arête son ou ses sommets incidents.
Deux sommets incidents à une même arête sont adjacents.
Une boucle est une arête incidente deux fois au même sommet. Deux arêtes sont multiples si elles relient les mêmes sommets.
Le degré d’un sommet , noté , est le nombre d’incidences d’arêtes en . Une boucle compte donc pour deux.
Un graphe est simple s’il ne possède ni boucle ni arêtes multiples. Dans un graphe simple à sommets,
Un sous-graphe de est obtenu en ne gardant qu’une partie des sommets et/ou des arêtes. Le sous-graphe induit par conserve les sommets de et toutes les arêtes de dont les deux extrémités sont dans .
Isomorphisme
Section intitulée « Isomorphisme »Deux graphes sont isomorphes s’ils ne diffèrent que par le nom donné aux sommets et aux arêtes : il existe des bijections qui préservent l’incidence, donc l’adjacence.
Conséquence pratique : toute propriété intrinsèque du graphe est conservée par isomorphisme. Par exemple, deux graphes ayant un nombre différent de triangles ne peuvent pas être isomorphes.
La réciproque est fausse pour beaucoup d’invariants : avoir la même liste de degrés ne suffit pas à garantir l’isomorphisme.
1.2 Théorème des poignées de main et degrés
Section intitulée « 1.2 Théorème des poignées de main et degrés »Théorème des poignées de main
Pour tout graphe non orienté fini,
Chaque arête contribue exactement deux incidences à la somme des degrés.
Deux conséquences immédiates :
pour le degré moyen, et le nombre de sommets de degré impair est toujours pair.
Dans un graphe simple à sommets,
Réflexes sur une liste de degrés
Section intitulée « Réflexes sur une liste de degrés »Pour une liste , commencer par vérifier
Ce sont des conditions nécessaires, pas suffisantes.
Autre raisonnement utile : si un sommet est de degré , il est relié à tous les autres. On peut alors le retirer et diminuer de les degrés restants.
Enfin, dans un graphe simple à sommets, les degrés et ne peuvent pas apparaître simultanément. Il n’y a donc qu’au plus valeurs de degré possibles pour sommets : deux sommets ont nécessairement le même degré.
1.3 Parcours, chemins, cycles et distance
Section intitulée « 1.3 Parcours, chemins, cycles et distance »Un parcours est une suite alternée
telle que chaque arête relie à .
Sa longueur est son nombre d’arêtes, ici .
Un parcours est fermé si
Un chemin est un parcours dont les sommets sont distincts, sauf éventuellement les deux extrémités dans le cas fermé. Un cycle est un chemin fermé.
Le support actuel emploie surtout les termes parcours fermé et cycle. Le terme circuit n’est pas défini séparément dans les slides vues : s’il apparaît dans un énoncé, il faut vérifier la convention utilisée.
La distance entre deux sommets dans un graphe non pondéré est
Un parcours de longueur minimale est toujours un chemin : si un sommet était répété, on pourrait supprimer le détour entre deux occurrences.
1.4 Connexité et composantes connexes
Section intitulée « 1.4 Connexité et composantes connexes »Un graphe non orienté est connexe si toute paire de sommets peut être reliée par un parcours.
Une composante connexe est un sous-graphe connexe maximal.
Pour un graphe simple connexe à sommets,
La borne inférieure exprime qu’il faut au moins arêtes pour relier sommets. La borne supérieure correspond au graphe complet.
Plus généralement, si un graphe possède sommets, arêtes et composantes connexes,
Pour maximiser le nombre d’arêtes tout en gardant un graphe simple non connexe, on prend un graphe complet sur sommets et un sommet isolé. Ainsi,
Donc un graphe simple possédant strictement plus de
arêtes est nécessairement connexe.
1.5 Parcours eulériens
Section intitulée « 1.5 Parcours eulériens »Un parcours eulérien utilise chaque arête du graphe exactement une fois.
Un graphe est eulérien s’il possède un parcours eulérien fermé.
Théorème d'Euler
Un graphe connexe est eulérien si et seulement si tous ses sommets sont de degré pair :
Pourquoi la condition est nécessaire
Section intitulée « Pourquoi la condition est nécessaire »Dans un parcours eulérien fermé, chaque fois que l’on arrive en un sommet par une arête, on doit en repartir par une autre. Les arêtes incidentes au sommet se mettent donc par paires : son degré est pair.
Sens difficile : construction de Hierholzer
Section intitulée « Sens difficile : construction de Hierholzer »Preuve constructive vue au tableau
Supposons le graphe connexe et tous ses degrés pairs.
- Partir d’un sommet arbitraire .
- Avancer en utilisant uniquement des arêtes encore non visitées.
- On ne peut pas rester bloqué dans un sommet différent de : si l’on vient d’y entrer, un nombre impair d’arêtes incidentes a été utilisé ; le degré total étant pair, il reste au moins une arête pour en ressortir.
- Le parcours finit donc par revenir en . On obtient un parcours fermé .
- Si toutes les arêtes ont été utilisées, est eulérien.
- Sinon, la connexité garantit qu’il existe un sommet de incident à une arête non encore utilisée.
- Depuis , construire de la même manière un nouveau parcours fermé avec les arêtes restantes.
- Insérer dans au sommet et recommencer.
La parité garantit que chaque parcours partiel se referme. La connexité garantit qu’on peut continuer tant qu’il reste des arêtes.
Cette preuve donne directement l’algorithme de Hierholzer. Sa complexité annoncée au cours est
Parcours eulérien ouvert
Section intitulée « Parcours eulérien ouvert »Existence d'un parcours eulérien
Un graphe connexe possède un parcours eulérien si et seulement si le nombre de sommets de degré impair vaut 0 ou 2.
- sommet impair : le parcours peut être fermé ;
- sommets impairs : ils sont les deux extrémités du parcours ouvert.
Dans le cas de deux sommets impairs et , on peut ajouter artificiellement l’arête , appliquer Euler au graphe obtenu puis supprimer cette arête du parcours fermé.
Algorithme de Fleury
Section intitulée « Algorithme de Fleury »Fleury construit directement un parcours eulérien. À chaque étape, il choisit une arête non encore visitée qui n’est pas un pont du graphe restant, sauf si aucun autre choix n’est possible.
Un pont est une arête dont la suppression augmente le nombre de composantes connexes.
L’intuition est simple : ne pas couper trop tôt l’accès à une partie du graphe contenant encore des arêtes à visiter.
Dans la version présentée au cours,
Reconnaître un problème eulérien
Section intitulée « Reconnaître un problème eulérien »Penser immédiatement à Euler lorsque l’énoncé demande de :
- parcourir chaque arête exactement une fois ;
- tracer une figure sans lever le crayon et sans repasser sur un segment ;
- construire un parcours couvrant toutes les arêtes.
Le premier contrôle est alors : connexité + nombre de sommets de degré impair.
1.6 Représentations matricielles
Section intitulée « 1.6 Représentations matricielles »Pour des sommets , la matrice d’adjacence est la matrice carrée dont l’entrée est le nombre d’arêtes entre et .
Pour des arêtes , la matrice d’incidence est la matrice dont l’entrée vaut le nombre de fois que est incident à .
Dans la matrice d’incidence :
- la somme d’une ligne donne le degré du sommet correspondant ;
- la somme d’une colonne vaut .
C’est une manière matricielle de retrouver le théorème des poignées de main.
Matrice d'adjacence et nombre de parcours
Pour tout entier ,
Ce résultat servira de modèle au chapitre 2 pour calculer les plus courts chemins avec le semi-anneau .
1.7 Graphes orientés et forte connexité
Section intitulée « 1.7 Graphes orientés et forte connexité »Dans un graphe orienté, une arête est un couple ordonné : son sens compte.
On distingue :
- : degré sortant ;
- : degré entrant.
Pour tout graphe orienté fini,
Un graphe orienté est fortement connexe lorsqu’il existe un parcours dirigé de tout sommet vers tout autre.
Deux sommets sont dans la même composante fortement connexe s’ils sont mutuellement atteignables.
Pour tester la forte connexité à partir d’un sommet , il suffit de vérifier :
- que tous les sommets sont atteignables depuis ;
- que est atteignable depuis tous les sommets.
La deuxième condition peut se tester en inversant toutes les arêtes puis en explorant à nouveau depuis .
Dans un graphe orienté fortement connexe, la version dirigée du critère d’Euler est
1.8 Graphes bipartis
Section intitulée « 1.8 Graphes bipartis »Un graphe est biparti s’il existe une partition
telle que toute arête relie un sommet de à un sommet de .
Caractérisation des graphes bipartis
Un graphe est biparti si et seulement si tous ses cycles sont de longueur paire.
Équivalemment :
L’idée constructive de la réciproque est de choisir un sommet et de séparer les sommets selon la parité de leur distance à :
Hypercube
Section intitulée « Hypercube QkQ_kQk »Les sommets de sont les -uplets de et de . Deux sommets sont adjacents s’ils diffèrent en exactement une coordonnée.
Chaque sommet possède exactement voisins :
Il y a sommets, donc
Une bipartition naturelle sépare les sommets ayant un nombre pair de de ceux ayant un nombre impair de .
1.9 Repères complémentaires déjà rencontrés
Section intitulée « 1.9 Repères complémentaires déjà rencontrés »Tournois et rois
Section intitulée « Tournois et rois »Un tournoi est une orientation du graphe complet : pour toute paire de sommets distincts , exactement une des deux arêtes ou existe.
Un sommet est un roi si tout autre sommet est atteignable depuis en au plus deux arêtes dirigées.
Le résultat utilisé au TP est : un sommet de degré sortant maximum est un roi. La preuve se fait par contradiction : si un sommet n’était pas atteignable en au plus deux étapes depuis , alors battrait et tous les voisins sortants de , ce qui donnerait .
Eulérien versus hamiltonien
Section intitulée « Eulérien versus hamiltonien »Pour éviter une confusion fréquente :
| Notion | Objet visité exactement une fois |
|---|---|
| Eulérien | les arêtes |
| Hamiltonien | les sommets |
Un chemin hamiltonien passe par chaque sommet exactement une fois. Un cycle hamiltonien fait de même en revenant à son sommet de départ. Les théorèmes hamiltoniens appartiennent au chapitre 4 et ne sont pas encore matière active.
2. Les plus courts chemins
Section intitulée « 2. Les plus courts chemins »2.1 Graphes pondérés
Section intitulée « 2.1 Graphes pondérés »Une fonction de poids
associe un poids à chaque arête. Un graphe muni d’une telle fonction est un graphe pondéré.
Le poids d’un parcours est la somme des poids de ses arêtes.
La distance pondérée entre et est
Dans un graphe dirigé, il faut garder en tête que
en général.
Plus court parcours et plus court chemin
Si tous les poids sont non négatifs, le plus court parcours et le plus court chemin entre deux sommets ont la même longueur.
Idée de preuve. Si un parcours minimal répète un sommet, il contient un cycle. Ce cycle a un poids , donc le supprimer ne peut pas augmenter le poids. En répétant l’opération, on obtient un chemin de même longueur minimale.
L’hypothèse
est donc centrale.
2.2 Algorithme de Dijkstra
Section intitulée « 2.2 Algorithme de Dijkstra »Problème
Section intitulée « Problème »À partir d’une source , calculer les distances minimales vers les autres sommets d’un graphe pondéré dont les poids sont non négatifs.
Dijkstra détermine progressivement les distances exactes. Il maintient un ensemble des sommets dont la distance est déjà définitivement connue et un label pour les autres.
Initialisation
Section intitulée « Initialisation »Relaxation
Section intitulée « Relaxation »Quand vient d’être ajouté à , pour chaque :
Ensuite, choisir hors de un sommet de label minimal et l’ajouter à .
Invariant de Dijkstra
Après chaque mise à jour :
- pour ,
et un plus court chemin vers reste dans ;
- pour , est la longueur du plus court chemin connu dont tous les sommets internes sont déjà dans , donc
Cet invariant est le cœur de la preuve de correction : lorsqu’on choisit le sommet de label minimal hors de , les poids non négatifs empêchent un détour futur par des sommets encore hors de d’améliorer sa distance.
Conditions, sortie et arrêt
Section intitulée « Conditions, sortie et arrêt »Dijkstra fonctionne pour :
- un graphe dirigé ou non ;
- des poids
Il fournit les distances depuis une source. En mémorisant un prédécesseur lors des relaxations, on peut aussi reconstruire les chemins.
Si seule une cible nous intéresse, on peut arrêter lorsque entre dans .
Si toutes les arêtes ont le même poids strictement positif, Dijkstra se réduit essentiellement à une recherche en largeur (BFS).
Complexité annoncée au cours
Section intitulée « Complexité annoncée au cours »Les slides présentent un temps de l’ordre de
ce qui est de l’ordre de
pour un graphe dense.
2.3 Graphe dirigé pondéré
Section intitulée « 2.3 Graphe dirigé pondéré »Dijkstra ne dépend pas de la symétrie des arêtes. Il s’applique donc également aux graphes dirigés, à condition de respecter le sens des arêtes et de conserver l’hypothèse de poids non négatifs.
C’est le cadre naturel pour modéliser, par exemple, des routes à sens unique.
2.4 Plus courts chemins par calcul matriciel
Section intitulée « 2.4 Plus courts chemins par calcul matriciel »On note la longueur du plus court parcours de exactement arêtes de vers .
On obtient la récurrence
À comparer avec le comptage des parcours :
La structure est la même, mais les deux opérations changent :
2.5 Semi-anneau
Section intitulée « 2.5 Semi-anneau (min,+)(\min,+)(min,+) »Sur
on définit
Les éléments neutres sont :
et
Le produit matriciel associé devient
La matrice identité pour ce produit contient sur la diagonale et ailleurs.
2.6 Puissances et distances
Section intitulée « 2.6 Puissances (min,+)(\min,+)(min,+) et distances »Soit la matrice d’adjacence pondérée, avec
s’il n’existe pas d’arête de vers .
Alors
contient les longueurs des plus courts parcours de exactement arêtes.
En introduisant l’identité ,
contient les plus courts parcours de au plus arêtes.
Pour un graphe à sommets, les slides donnent
comme matrice des plus courts chemins.
Par mises au carré successives, la complexité indiquée au cours est
Le point conceptuel à retenir est l’analogie :
la multiplication matricielle classique compte les parcours ; la multiplication matricielle dans le semi-anneau minimise leur poids.
3. Arbres et connectivité
Section intitulée « 3. Arbres et connectivité »Ce chapitre reprend les notions travaillées au CM3 : explorer un réseau, conserver la connexité avec le moins d’arêtes possible, optimiser le coût d’un arbre couvrant, puis mesurer sa résistance aux défaillances. Les derniers résultats (Menger et Harary) complètent la partie « connectivité » du support thématique.
3.1 Exploration : BFS et DFS
Section intitulée « 3.1 Exploration : BFS et DFS »Problème. Depuis un sommet de départ , découvrir les sommets accessibles et les arêtes permettant de les atteindre. Dans un graphe non connexe, un seul lancement n’explore que la composante de .
On marque les sommets au moment de leur découverte pour éviter de les visiter plusieurs fois. Le choix de la structure de données détermine l’ordre d’exploration :
| Exploration | Structure | Règle | Propriété utile |
|---|---|---|---|
| BFS (largeur) | File FIFO | Premier entré, premier sorti | Découvre les sommets par distance croissante en nombre d’arêtes |
| DFS (profondeur) | Pile LIFO ou récursion | Dernier entré, premier sorti | Explore une branche aussi loin que possible, puis revient en arrière |
BFS donne les plus courts chemins d’un graphe non pondéré (ou dont les arêtes ont toutes un poids identique strictement positif). DFS ne garantit pas cela.
Invariant commun. Chaque sommet marqué est atteignable depuis ; un sommet n’est marqué qu’une fois. Tant qu’il reste un sommet accessible non marqué, une arête relie une partie déjà découverte à une partie non découverte et l’exploration peut progresser. À la fin, tous les sommets atteignables depuis ont été marqués.
Avec des listes d’adjacence, chaque sommet et chaque arête sont traités un nombre constant de fois :
Pour calculer toutes les composantes connexes, on relance BFS ou DFS depuis un sommet non marqué jusqu’à ce que tous les sommets soient marqués.
Graphes orientés : forte connexité
Section intitulée « Graphes orientés : forte connexité »Une exploration dirigée respecte le sens des arcs. Un graphe orienté est fortement connexe si, pour toute paire ordonnée de sommets , il existe un chemin dirigé de vers .
Pour tester la forte connexité, choisir , puis :
- Explorer depuis dans : tous les sommets doivent être atteignables depuis .
- Inverser tous les arcs pour obtenir le graphe transposé et explorer depuis : tous les sommets doivent pouvoir atteindre dans .
Si les deux tests réussissent, pour tous , on peut suivre . Coût total : .
Attention. Être fortement connexe ne veut pas dire que deux sommets sont reliés par une seule arête, ni même par deux. Il suffit qu’un chemin dirigé existe dans chaque sens.
3.2 Arbres, forêts et caractérisations
Section intitulée « 3.2 Arbres, forêts et caractérisations »Un arbre est un graphe non orienté connexe et sans cycle. Une forêt est un graphe sans cycle ; chacune de ses composantes est un arbre.
Intuition : un arbre relie tout le monde sans redondance. Une arête supprimée coupe la connexion ; une arête supplémentaire entre deux sommets non adjacents crée un cycle.
Caractérisations équivalentes des arbres
Pour un graphe non orienté à sommets et arêtes, les conditions suivantes sont équivalentes :
- est connexe et sans cycle ;
- est sans cycle et ;
- est connexe et ;
- est connexe et supprimer n’importe quelle arête le déconnecte ;
- est sans cycle et ajouter n’importe quelle nouvelle arête entre sommets distincts non adjacents crée exactement un cycle ;
- Il existe un unique chemin simple entre chaque paire de sommets distincts.
Réflexe en exercice. Le seul comptage ne suffit pas : vérifier en plus la connexité ou l’absence de cycle. Un arbre peut avoir un sommet de degré supérieur à (par exemple une étoile).
Idée de preuve à reconstruire. Dans un arbre, supprimer une arête sépare ses extrémités, sinon il existerait un autre chemin et donc un cycle. Ajouter une arête referme l’unique chemin préexistant entre et . Le nombre d’arêtes peut se démontrer par suppression successive des feuilles (ou induction).
3.3 Arbres sous-tendants et poids minimum
Section intitulée « 3.3 Arbres sous-tendants et poids minimum »Arbre sous-tendant (ou couvrant) : arbre qui conserve tous les sommets de , mais seulement certaines arêtes.
Existence
Tout graphe non orienté connexe possède un arbre sous-tendant.
Construction. Tant qu’il reste un cycle, enlever une de ses arêtes : le graphe reste connexe. Sans cycle, il devient un arbre couvrant.
Objectif : minimiser le coût total (MST)
Section intitulée « Objectif : minimiser le coût total (MST) »Si chaque arête a un coût , le poids d’un arbre est :
On cherche l’arbre sous-tendant pour lequel est minimal.
MST ≠ plus court chemin :
- MST : minimiser la somme des coûts de toutes les arêtes retenues pour relier tous les sommets.
- Plus court chemin : minimiser le coût du trajet entre deux sommets.
3.4 Kruskal et Prim : deux algorithmes gloutons
Section intitulée « 3.4 Kruskal et Prim : deux algorithmes gloutons »Même objectif : construire un arbre sous-tendant de poids minimum d’un graphe connexe pondéré. Deux façons de grandir :
Kruskal — fusionner des morceaux
Section intitulée « Kruskal — fusionner des morceaux »Idée : considérer les arêtes de la moins chère à la plus chère, sans jamais former de cycle.
- Trier toutes les arêtes par poids croissant.
- Ajouter l’arête suivante si elle ne crée pas de cycle ; sinon l’ignorer.
- Arrêter lorsqu’on a arêtes.
Image mentale : plusieurs petits arbres se rejoignent en une seule structure.
- Choix : poids minimal parmi les arêtes encore examinables, à l’échelle du graphe.
- Contrôle : éviter les cycles, avec union-find (composantes disjointes).
- Complexité : avec (tri dominant).
Prim — étendre un seul arbre
Section intitulée « Prim — étendre un seul arbre »Idée : partir d’un sommet et toujours relier un nouveau sommet au réseau déjà construit.
- Choisir un sommet et poser .
- Choisir l’arête la moins chère entre et .
- Ajouter cette arête et le sommet atteint ; répéter jusqu’à .
Image mentale : un seul arbre s’étend étape par étape.
- Choix : poids minimal parmi les arêtes sortant de l’arbre courant, pas parmi toutes les arêtes du graphe.
- Contrôle : une extrémité dans , l’autre en dehors.
- Structure : file de priorité.
- Complexité : avec une implémentation adaptée (par exemple un tas de Fibonacci), .
Différence à mémoriser
Section intitulée « Différence à mémoriser »- Kruskal : plusieurs composantes qui fusionnent ; aucun cycle.
- Prim : un arbre unique qui grandit ; toujours vers un nouveau sommet.
Point commun : si est connexe, les deux algorithmes produisent un MST. En cas de poids égaux, plusieurs MST distincts peuvent exister.
3.5 Coupes et preuve d’optimalité par échange
Section intitulée « 3.5 Coupes et preuve d’optimalité par échange »Une coupe sépare les sommets en deux ensembles non vides, et . Ses arêtes traversent cette séparation :
Observation : tout arbre sous-tendant doit contenir au moins une arête de chaque coupe, sinon les deux côtés ne seraient pas reliés.
Arête légère d'une coupe
Si une coupe ne traverse aucune arête déjà choisie, sélectionner une arête de poids minimum de cette coupe est un choix sûr : il existe un MST compatible avec ce choix et tous les précédents.
Preuve en quatre étapes — argument d’échange
Section intitulée « Preuve en quatre étapes — argument d’échange »Soit un MST contenant les arêtes déjà retenues, mais pas la nouvelle arête .
- Ajouter à crée exactement un cycle.
- Le cycle franchit la coupe au moins deux fois ; il possède donc une autre arête qui la traverse. n’appartient pas aux arêtes déjà retenues.
- Comparer les coûts : comme est de poids minimum sur la coupe, .
- Échanger : supprimer et garder . On obtient encore un arbre sous-tendant et
Le nouvel arbre est donc lui aussi optimal, et il contient .
Piège : les arêtes d’un cycle n’ont pas forcément le même poids. L’inégalité provient de la coupe, pas du cycle.
Application : Prim utilise la coupe entre l’arbre courant et les autres sommets ; Kruskal utilise une coupe séparant une composante de sa forêt des autres.
3.6 Cayley : compter les arbres sous-tendants
Section intitulée « 3.6 Cayley : compter les arbres sous-tendants »désigne le nombre d’arbres sous-tendants du graphe .
Graphe complet
Section intitulée « Graphe complet »Théorème de Cayley
Pour le graphe complet à sommets étiquetés :
Exemple : . Ne pas confondre arbres étiquetés et formes d’arbres à isomorphisme près.
Suppression-contraction
Section intitulée « Suppression-contraction »Compter par deux cas
Pour une arête qui n’est pas une boucle :
Pourquoi additionner ? Chaque arbre sous-tendant :
- exclut : on le compte dans (suppression) ;
- contient : on le compte dans (contraction, fusion des extrémités).
Conserver les arêtes parallèles éventuelles après contraction : ce sont des choix distincts.
Cas de base : arbre → ; graphe non connexe → ; cycle → .
3.7 Connectivité : combien de pannes un réseau supporte-t-il ?
Section intitulée « 3.7 Connectivité : combien de pannes un réseau supporte-t-il ? »Un arbre est économique mais fragile : une seule arête supprimée suffit à le déconnecter.
Deux mesures différentes :
- , connectivité : taille minimale d’une coupe de sommets qui déconnecte (convention : ).
- , arête-connectivité : taille minimale d’une coupe d’arêtes qui déconnecte .
Interprétation immédiate :
- -connexe → reste connexe après suppression arbitraire de sommets au plus.
- -arête-connexe → reste connexe après suppression arbitraire de arêtes au plus.
Lien entre les connectivités
En notant le degré minimum :
Pourquoi ? Supprimer toutes les arêtes d’un sommet de degré minimum l’isole.
Piège d’examen : résister à la suppression de deux arêtes exige une 3-arête-connexité, et non une 2-arête-connexité.
3.8 Menger : plusieurs chemins indépendants
Section intitulée « 3.8 Menger : plusieurs chemins indépendants »Intuition : si plusieurs chemins indépendants relient deux sommets, une seule panne ne suffit pas à tous les détruire.
Théorème de Menger — sommets
Pour un graphe non orienté d’au moins sommets : est -connexe si et seulement si toute paire de sommets distincts possède au moins chemins intérieurement disjoints.
« Intérieurement disjoints » : les chemins peuvent partager leurs deux extrémités, pas leurs sommets intermédiaires.
Cas (Whitney) : deux sommets distincts d’un graphe 2-connexe appartiennent à un même cycle.
Version arêtes : est -arête-connexe si et seulement si toute paire de sommets distincts est reliée par au moins chemins sans arête commune. Ils peuvent partager des sommets intérieurs.
Réflexe : quand l’énoncé exige plusieurs itinéraires indépendants, déterminer si l’indépendance concerne les sommets ou les arêtes.
3.9 Harary : robustesse avec un minimum d’arêtes
Section intitulée « 3.9 Harary : robustesse avec un minimum d’arêtes »Problème : construire un graphe -connexe à sommets avec le moins d’arêtes possible.
Comme chaque sommet doit avoir un degré au moins , les poignées de main donnent :
D’où la borne :
Graphes de Harary : ils atteignent cette borne et sont -connexes.
- Si est pair : placer les sommets sur un cercle et relier chacun aux voisins précédents et aux suivants (modulo ).
- Exemple : a 6 sommets, 6 arêtes et est 2-connexe.
- Si est impair : construction légèrement différente ; même borne optimale.
Limite : trouver un MST est efficace avec Kruskal/Prim ; rechercher un sous-graphe -connexe de poids minimum dans un graphe pondéré général est un problème nettement plus difficile.
3.10 Identifier la bonne méthode dans un énoncé
Section intitulée « 3.10 Identifier la bonne méthode dans un énoncé »| Signal dans l’énoncé | Outil ou résultat pertinent |
|---|---|
| Explorer des sommets accessibles | BFS / DFS |
| Trouver une distance en nombre d’arêtes | BFS |
| Vérifier la forte connexité orientée | Deux explorations : graphe puis transposé |
| Graphe connexe, sans cycle, arêtes | Caractérisations des arbres |
| Relier tous les sommets au coût total minimal | MST : Kruskal ou Prim |
| Justifier un choix glouton | Coupe + échange d’arêtes |
| Compter les arbres couvrants de | Cayley : |
| Compter des arbres couvrants d’un graphe quelconque | Suppression-contraction |
| Maintenir un réseau après des pannes | / , coupes |
| Exiger plusieurs chemins indépendants | Menger |
| Réseau -connexe avec très peu d’arêtes | Borne , Harary |
Repères de reconnaissance — chapitres 1 et 2
Section intitulée « Repères de reconnaissance — chapitres 1 et 2 »| Si l’énoncé parle de… | Penser à… |
|---|---|
| somme des degrés, nombre d’arêtes | poignées de main |
| même liste de degrés | invariant utile, mais pas preuve d’isomorphisme |
| relier tous les sommets, nombre de composantes | connexité |
| chaque arête exactement une fois | Euler / Hierholzer / Fleury |
| 0 ou 2 sommets de degré impair | parcours eulérien |
| absence de cycle impair | graphe biparti |
| chaque sommet exactement une fois | hamiltonien — chapitre ultérieur |
| poids non négatifs, source, distance minimale | Dijkstra |
| mise à jour | relaxation de Dijkstra |
| toutes les arêtes de même poids | BFS |
| à la place de et à la place de | semi-anneau |