2.39k likes | 2.78k Views
Cours de Graphes. Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux. Applications. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Floyd-Warshall, Dijkstra et Bellmann-Ford Arbres
E N D
Cours de Graphes Les arbres et arborescences. Les arbres de recouvrement. Les arbres de recouvrement minimaux. Applications. Cours de graphes 3 - Intranet
Les grandes lignes du cours • Définitions de base • Connexité • Les plus courts chemins • Floyd-Warshall, Dijkstra et Bellmann-Ford • Arbres • Arbres de recouvrement minimaux • Problèmes de flots, Ford & Fulkerson • Coloriage de graphes • Couplage • Chemins d’Euler et de Hamilton • Problèmes NP-complets Cours de graphes 3 - Intranet
E X E M P L E S E T D E F I N I T I O N S Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- Un arbre (non orienté) ! Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- Un arbre (non orienté) ! Une arborescence (orientée) ! Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . • Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . • Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. • D’abord, il n’y a qu’une seule racine ! Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . • Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. • D’abord, il n’y a qu’une seule racine ! • On n’a pas de chemins multiples, ni de circuits ! Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . • Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. • D’abord, il n’y a qu’une seule racine ! • On n’a pas de chemins multiples, ni de circuits ! Les arbres d’algorithmique sont des arborescences ! Cours de graphes 3 - Intranet
Les arbres----------------------------------------------------------------- Les arbres et arborescences sont toujours irréflexifs ! • Définitions : • Un arbre est un graphe non orienté dans lequel il existe un et un seul chemin entre toute paire de sommets. • Ce chemin sera donc simple, le plus court, . . . • Une arborescence est un graphe orienté quasi-fortement connexe tel qu’il existe un et un seul chemin orienté de la racine vers tout autre sommet. • D’abord, il n’y a qu’une seule racine ! • On n’a pas de chemins multiples, ni de circuits ! Les arbres d’algorithmique sont des arborescences ! Cours de graphes 3 - Intranet
D E F I N I T I O N S E Q U I V A L E N T E S D E S A R B R E S Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. • Définition 2 : Un arbre est un graphe connexe, sans cycle. Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. • Définition 2 : Un arbre est un graphe connexe, sans cycle. • Déf 1 => Déf 2 : • Comme il existe un chemin de tout sommet à tout sommet, le graphe est connexe ! Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. • Définition 2 : Un arbre est un graphe connexe, sans cycle. • Déf 1 => Déf 2 : • Comme il existe un chemin de tout sommet à tout sommet, le graphe est connexe ! • Par absurde, s’il y avait des cycles . . . il y aurait plusieurs chemins simples, ce qui est contraire à l’hypothèse ! v u Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. • Définition 2 : Un arbre est un graphe connexe, sans cycle. • Déf 1 => Déf 2 : OK ! • Déf 2 => Déf 1 : • Par absurde ! S’il y avait deux sommets non reliés par un chemin, le graphe ne serait pas connexe ! Cours de graphes 3 - Intranet
Quelques définitions des arbres----------------------------------------------------------------- • Uniquement pour les graphes non orientés ! • Définition 1 : Un arbre est un graphe dans lequel il existe un et un seul chemin simple entre toute paire de sommets. • Définition 2 : Un arbre est un graphe connexe, sans cycle. • Déf 1 => Déf 2 : OK ! • Déf 2 => Déf 1 : • Par absurde ! S’il y avait deux sommets non reliés par un chemin, le graphe ne serait pas connexe ! • Par absurde ! S’il y avait deux sommets reliés par plusieurs chemins simples, le graphe aurait des cycles ! v u Cours de graphes 3 - Intranet
S I X D E F I N I T I O N S E Q U I V A L E N T E S D E S A R B R E S Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Des définitions équivalentes basées sur la connexité ! Les chemins uniques Connexe,sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Des définitions équivalentes basées sur la connexité ! Les chemins uniques Connexe,sans cycles Des définitions équivalentes basées sur l’absence de cycles ! Cours de graphes 3 - Intranet
E N M A I N T E N A N T L A C O N N E X I T E . . . Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe, minimal Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- L'idée : Si nous enlevons une arête du chemin unique, nous cassons la connexité ! Connexe, minimal Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- L'idée : Si nous enlevons une arête du chemin unique, nous cassons la connexité ! Connexe, minimal Les chemins uniques Connexe, sans cycles Définition : Un graphe est connexe, minimal s’il est connexe et n’a pas plus d’arêtes qu’aucun autre graphe connexe ! Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe, minimal => connexe, sans cycles : Connexe, minimal Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe, minimal => connexe, sans cycles : Par absurde ! S’il y avait des cycles, nous pourrions enlever une arête sans casser la connexité. Ceci est contraire à l’hypothèse que le graphe est minimal ! Connexe, minimal Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
> Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes Les implications que nous allons prouver ! => Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles A ce moment, le graphe connexe qui n’a que | V | - 1 arêtes est aussi minimal ! Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles Par induction sur | V | : - Trivial pour 1 sommet et 0 arêtes ! Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles Par induction sur | V | : - Trivial pour 1 sommet et 0 arêtes ! - Enlevez un sommet u quelconque. Pour relier les | V | - 1 sommets restants, il faut au moins | V | - 2 arêtes. Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal Connexe avec | V | - 1 arêtes Prouvons que pour être connexe, il faut | V | - 1 arêtes au moins ! Connexe, minimal => Les chemins uniques Connexe, sans cycles Par induction sur | V | : - Trivial pour 1 sommet et 0 arêtes ! - Enlevez un sommet u quelconque. Pour relier les | V | - 1 sommets restants, il faut au moins | V | - 2 arêtes. - Ensuite, il faut au moins une arête pour relier u aux autres ! Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => - Les chemins uniques impliquent la connexité ! Connexe, minimal => => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => • - Les chemins uniques • impliquent la connexité ! • Preuve par récurrence sur le nombre d’arêtes : • - Si le graphe est réduit à 1 sommet, il y a 0 arêtes ! Connexe, minimal => => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => • - Les chemins uniques • impliquent la connexité ! • Preuve par récurrence sur le nombre d’arêtes : • - Si le graphe est réduit à 1 sommet, il y a 0 arêtes ! • - Sinon, il existe au moins un sommet u de degré 1 ! A défaut, • on pourrait toujours continuer et donc faire des cycles ! Connexe, minimal => => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => • - Les chemins uniques • impliquent la connexité ! • Preuve par récurrence sur le nombre d’arêtes : • - Si le graphe est réduit à 1 sommet, il y a 0 arêtes ! • - Sinon, il existe au moins un sommet u de degré 1 ! A défaut, • on pourrait toujours continuer et donc faire des cycles ! • - Enlevez un tel sommet u de degré 1 et son unique arête ! Connexe, minimal => => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Les chemins uniques => Connexe avec | V | - 1 arêtes Connexe avec | V | - 1 arêtes => • - Les chemins uniques • impliquent la connexité ! • Preuve par récurrence sur le nombre d’arêtes : • - Si le graphe est réduit à 1 sommet, il y a 0 arêtes ! • - Sinon, il existe au moins un sommet u de degré 1 ! A défaut, • on pourrait toujours continuer et donc faire des cycles ! • - Enlevez un tel sommet u de degré 1 et son unique arête ! • - Recommencez pour le graphe restant qui est à chemins uniques. Connexe, minimal => => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
> Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes => Connexe, minimal => Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes Connexe, minimal Les chemins uniques Connexe, sans cycles Cours de graphes 3 - Intranet
E N M A I N T E N A N T L ’ A B S E N C E D E C Y C L E S . . . Cours de graphes 3 - Intranet
Six définitions équivalentes des arbres----------------------------------------------------------------- Connexe avec | V | - 1 arêtes Connexe, minimal Les chemins uniques Connexe,sans cycles Sans cycles, maximal Cours de graphes 3 - Intranet