Corrigé TD N 2. Le graphe de l exercice est planaire car on peut le représenter de la façon suivante : C D E A 6 10 B 8

Documents pareils
Chapitre 5 : Flot maximal dans un graphe

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

BACCALAUREAT GENERAL MATHÉMATIQUES

Programmation linéaire

Comparaison de fonctions Développements limités. Chapitre 10

1 Première section: La construction générale

Université Paris-Dauphine DUMI2E 1ère année, Applications

1 Définition et premières propriétés des congruences

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Chapitre 6. Fonction réelle d une variable réelle

Introduction à la théorie des graphes. Solutions des exercices

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Séquence 10. Géométrie dans l espace. Sommaire

Programmation Linéaire - Cours 1

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chapitre 2 Le problème de l unicité des solutions

Continuité et dérivabilité d une fonction

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Cours d Analyse. Fonctions de plusieurs variables

Chp. 4. Minimisation d une fonction d une variable

Corrigé du baccalauréat S Asie 21 juin 2010

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Intégration et probabilités TD1 Espaces mesurés Corrigé

Polynômes à plusieurs variables. Résultant

Limites finies en un point

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

DOCM Solutions officielles = n 2 10.

Fonctions de plusieurs variables

6. Les différents types de démonstrations

Structures algébriques

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Optimisation Discrète

Analyse en Composantes Principales

1S Modèles de rédaction Enoncés

Résolution d équations non linéaires

La classification automatique de données quantitatives

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

2.4 Représentation graphique, tableau de Karnaugh

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

MIS 102 Initiation à l Informatique

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Le théorème de Thalès et sa réciproque

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

Votre succès notre spécialité!

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

3 Approximation de solutions d équations

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

chapitre 4 Nombres de Catalan

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Probabilités sur un univers fini

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Image d un intervalle par une fonction continue

Fonctions homographiques

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Premiers exercices d Algèbre. Anne-Marie Simon

Exercices de géométrie

Le produit semi-direct

Plus courts chemins, programmation dynamique

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Deux disques dans un carré

Chapitre 14. La diagonale du carré

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Calcul différentiel sur R n Première partie

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Continuité d une fonction de plusieurs variables

Angles orientés et trigonométrie

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Cours 02 : Problème général de la programmation linéaire

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Construction d un cercle tangent à deux cercles donnés.

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Algorithmique et Programmation Fonctionnelle

NOTIONS DE PROBABILITÉS

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Algorithmes de recherche

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Cours Fonctions de deux variables

LE PROBLEME DU PLUS COURT CHEMIN

Continuité en un point

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Perrothon Sandrine UV Visible. Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

ÉPREUVE COMMUNE DE TIPE Partie D

CALCUL DES PROBABILITES

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Transcription:

Corrigé TD N 2 GESTION D AUTOROUTES (1) Le graphe G = (X, E, v) correspondant au réseau autoroutier, où les sommets sont les villes et deux villes sont reliées s il existe une autoroute entre ces deux villes, est donné donc par sa matrice d adjacence, où : M(i, j) = v(i, j) = coût du trajet allant de i à j Cette matrice est symétrique, le graphe est donc non orienté Un graphe simple non orienté est dit planaire si et seulement s il admet une représentation dans le plan, où les sommets sont des points et les arêtes sont des segments de droite, telle que deux segments ne s intersectent pas (en dehors éventuellement de leurs extrémités lorsqu ils sont adjacents). On parle alors de planarité. Pour quelques résultats dans ce domaine très riche voir le poly Le graphe de l exercice est planaire car on peut le représenter de la façon suivante : C D E 5 5 10 14 10 15 A 10 B H 12 G 12 F (2) Le problème consiste à calculer les itinéraires les plus économique à partir de la ville A, c est donc un problème de plus courts chemins d un sommet vers tous les autres, le critère à minimiser est ici le coût monétaire des chemins. Pour cela on peut appliquer l algorithme de DIJKSTRA, il est applicable car toutes les valuations sont positives À chaque étape, le graphe est partitionné en trois sous-ensembles de sommets : les sommets visités, V, sommets x pour lesquels on connaît définitivement la plus courte distance de A à x, les sommets atteints, A, sommets non visités, voisins des précédents, pour lesquels on a une estimation de la distance, et les autres, c est-àdire ceux de X (V A), pour lesquels la distance est infinie Initialement V contient A, A contient ses voisins, B, C, D, G et H, leurs distances estimées correspondent aux valuations des arêtes correspondantes, soit,, 5, et 15, et les autres sommets ont une distance infinie L étape courante de l algorithme consiste simplement à prendre dans A un des sommets x dont la distance estimée est la plus petite, ce sommet devient visité, ses voisins non visités ni atteints deviennent atteints. Leurs distances estimées est celle de x plus la valuation de l arête et ses voisins déjà atteints peuvent voir leurs distances estimées diminuer et leurs prédécesseurs changer, voir suite L algorithme se termine quand tous les sommets sont visités 1

Etape initiale : V = {A}, d(a) = 0, A = {B, C, D, G, H} (ce sont les voisins de A) avec d(b) =, d(c) =, d(d) = 5, d(g) = et d(h) = 15 et p(b) = d(c) = p(d) = p(g) = p(h) = A, tous les autres sommets ont une distance infinie et leurs prédécesseurs sont à 0 Première étape : D est choisi donc V = {A, D} et sa distance (définitive) est d(d) = 5, A = {B, C, E, G, H}, d(b) =, d(c) =, d(e) = 11, d(g) = et d(h) = 15, p(b) = p(c) = p(g) = p(h) = A et p(e) = D, les autres sommets ont un distance infinie et sont sans prédécesseur. Dans la suite, nous ne mentionnerons plus ces sommets, seuls seront mentionnés les sommets de V et A Deuxième étape : C est choisi, G aurait pu être choisi à sa place, donc V = {A, C, D} et sa distance est d(c) =, d où A = {B, E, G, H}, d(b) =, d(e) = 11, d(g) = et d(h) = 14, p(b) = p(g) = A, p(e) = D et p(h) = C Troisième étape : G est choisi donc V = {A, C, D, G} et sa distance est d(g) =, d où A = {B, E, F, H}, d(b) =, d(e) = 11, d(f) = 1 et d(h) = 14, p(b) = A, p(e) = D, p(f) = G et p(h) = C Quatrième étape : B est choisi, on aurait pu choisir C, donc V = {A, B, C, D, G} et sa distance est d(b) =, d où A = {E, F, H}, d(e) = 11, d(f) = 1 et d(h) = 14, p(e) = D, p(f) = B et p(h) = C Cinquième étape : E est choisi donc V = {A, B, C, D, E, G} et sa distance est d(e) = 11, d où A = {F, H}, d(f) = 1 et d(h) = 14, p(f) = B et p(h) = C Sixième étape : H est choisi, donc V = {A, B, C, D, E, G, H} et sa distance est d(h) = 14, d où A = {F}, d(f) = 1 et p(f) = B Septième et dernière étape (car à l issue de cette étape tous les sommets sont visités) : F est choisi donc V = {A, B, C, D, E, F, G, H} sa distance est d(f) = 1 et p(f) = B On peut aussi représenter, de façon assez pertinente, les différentes étapes par un tableau : B C D E F G H V = {A}, A, A 5, A, A 15, A V = {A, D}, A, A - 11, D, A 15, A V = {A, C, D}, A - - 11, D, A 14, C V = {A, C, D, G}, A - - 11, D 1, G - 14, C V = {A, B, C, D, G} - - - 11, D 1, B - 14, C V = {A, B, C, D, E, G} - - - - 1, B - 14, C V = {A, B, C, D, E, G, H} - - - - 1, B - - V = {A, B, C, D, E, F, G, H}, A, A 5, A 11, D 1, B, A 14, C La première colonne contient l évolution de l ensemble des sommets visités. Dans chaque case figurent la distance de A au sommet concerné (qu elle soit finie ou infinie) et le précédent, quand il existe (soit de façon définitive soit relativement à la distance estimée) dans le plus court chemin de A à ce sommet. Lorsque qu un couple (distance, précédent) est définitif il est affiché en gras 2

Le graphe partiel correspondant aux plus courts chemins est obtenu en utilisant le tableau des prédécesseurs, cela donne le graphe suivant : C () D (5) E (11) 5 A(0) B () H (14) G () F (1) (3) Si l agence envisage de s installer en B, quels sont alors les meilleurs itinéraires aux autres villes? Il n est pas nécessaire de tout recalculer : entre A et B le plus court chemin est (A, B), et comme le plus court chemin de A à F est (A, B, F) alors le plus courts chemins de B à F est (B, F), d après le principe d optimalité Il reste donc à calculer les plus courts chemins de B à C, D, E, G et H En appliquant l algorithme de DIJKSTRA à partir de B, nous obtenons facilement les plus courts chemins (B, D), (B, G) et (B, E), qui sont adjacents à B, puis (B, A, C) et (B, G, H), ou (B, A, C, H) D où le nouveau graphe partiel des plus courts chemins à partir de B : C (14) D (10) E (14) 10 14 A () B (0) 10 H (22) 12 G (10) F () Il s agit maintenant de comparer les itinéraires obtenus d une part à partir de A et d autre part à partir de B Si l on est en A, le coût moyen d un itinéraire pour aller à l une des autres villes est égal à / 7, alors qu à partir de B, le coût moyen est de / 7. Pour les «touristes», il est plus économique de rester en A, pour l agence il est sans doute plus «rentable» de s installer en B 3

(4) Il faut construire un graphe partiel du réseau autoroutier, autrement dit un graphe obtenu à partir du graphe de départ en supprimant certaines arêtes, qui permette d atteindre toute ville à partir de toute autre ville et qui soit à la fois minimal en nombre de liaisons et le plus rentable possible pour la société gérant le réseau. La structure cherchée correspond donc à un Arbre Recouvrant, car connexe et minimal en nombre d arêtes. Il faut aussi que celui-ci soit de rentabilité maximale, il correspond donc un Arbre Recouvrant de coût Maximal Rappelons quelques propriétés caractérisant les Arbres, c est-à-dire les graphes simples non orientés connexes et sans cycle (voir les polycopiés «Graphes» et «Arbre Recouvrant Minimal») : Théorème Si G = (X, E) est un graphe simple non orienté ayant au moins deux sommets alors les propriétés suivantes sont équivalentes : (a) G est un arbre (ie connexe sans cycle) (b) G est sans cycle et m = n 1 (c) G est connexe et m = n 1 (d) G est sans cycle et l ajout d une arête entre deux sommets quelconque créé exactement un cycle (e) G est connexe et la suppression d une arête quelconque le déconnecte (f) Dans G tout couple de sommets est relié par une chaîne unique Précisons que l ajout (resp. la suppression) d une arête entre deux sommets x et y consiste uniquement à rajouter (resp. supprimer) la liaison entre ces sommets (pas de sommet ajouté ni supprimé) Ci-dessous une preuve possible de ce Théorème Tout d abord, une propriété utile : un arbre a toujours au moins deux feuilles Considérons une chaîne élémentaire (sans répétition de sommets) maximale, c est-à-dire qu on ne peut pas prolonger, il en existe au moins une car le graphe est fini, alors ses deux extrémités sont des feuilles sinon elles auraient chacune un autre voisin dans la chaîne, créant ainsi au moins un cycle (a) (b) Par récurrence sur n C est vrai si n = 2, 3, Supposons la propriété vraie jusqu à n 1 (n 3). Soit G un graphe connexe sans cycle, alors G a au moins un sommet pendant, x. Donc G x est connexe et sans cycle, et a donc (hypothèse de récurrence) n 2 arêtes. G a donc n 1 arêtes (b) (c) Si G n est pas connexe soient G 1, G 2, et G k ses composantes connexes, elles sont connexes et sans cycle, donc, d après (a) (b), m i = n i 1 pour chacune d entre elles. D où : D où k = 1, autrement dit : G est connexe k k n " 1 = m = # m i = # ( n i " 1 ) = n " k i = 1 i = 1 (c) (d) G est sans cycle sinon par suppressions successives d arêtes on crée un graphe partiel G de qui est connexe (trivialement la suppression de n importe quelle arête d un cycle ne déconnecte pas le graphe) et sans cycle ayant m < n 1 arêtes, ce qui est impossible d après (a) (b) Si l ajout d une arête ne crée pas de cycle, on obtient un graphe connexe sans cycle ayant n arêtes, ce qui est impossible d après (a) (b), ce cycle créé est nécessairement unique sinon il en existait déjà un dans G, impossible 4

(d) (e) G est connexe car si l ajout d une arête quelconque xy crée un cycle cela signifie que x et y était déjà connectés dans G. De même si la suppression d une arête xy ne déconnecte pas G c est qu il existe une chaîne C reliant x à y dans G xy, donc C + xy est un cycle de G : impossible par hypothèse (e) (f) Soient x et y deux sommets quelconques de G. S il existe deux chaînes distinctes reliant x et y dans G elles diffèrent au moins par un sommet donc par deux arêtes, la suppression de l une d entre elles ne déconnecte donc pas G (f) (a) Par hypothèse G est connexe et s il G contenait un cycle il existerait deux chaînes distinctes reliant deux sommets de G Revenons à notre problème Nous pouvons utiliser soit l algorithme de KRUSKAL soit l algorithme de PRIM, qui permettent de construire un Arbre Recouvrant de coût Minimal. En effet, pour obtenir un Arbre Recouvrant de valuation Maximale, il suffit, par exemple, de calculer un Arbre Recouvrant de valuation Minimale en considérant une nouvelle valuation v = v M v où v M est une constante strictement supérieure à toute valuation v(x, y) Dans notre exemple, nous pouvons prendre par exemple v M = 20, d où le graphe G : C D E 15 12 14 15 10 12 10 12 5 A 14 10 B 12 H G F Avec cette nouvelle valuation v, pour tout arbre recouvrant A de G, on a : v' (A) = # v' (a) = (n $1)vM $ # v(a) = (n $1)vM $ v(a) a" A a" A car tout arbre recouvrant de G a exactement n 1 arêtes Soit A 0 l Arbre Recouvrant Minimal trouvé avec v et A, un arbre recouvrant quelconque de G, alors : v (A 0 ) = (n 1)v M v(a 0 ) v (A) = (n 1)v M v(a) Donc : v(a 0 ) v(a), ce qui démontre que l arbre trouvé, A 0, est bien un Arbre Recouvrant Maximal Détaillons les algorithmes sur le graphe G 5

L algorithme de KRUSKAL considère les arêtes de G dans l ordre croissant des coûts, donc dans l ordre : AH, BE, FG, GH, BD, BG, EF, AB, BF, CH, DE, AC, AG et AD, en prenant, à coût égal, l ordre lexicographique Une arête n est retenue que si elle ne forme pas de cycle avec celles déjà retenues. L algorithme se termine dès que n 1 arêtes sont obtenues Les arêtes retenues sont donc : AH, BE, FG, GH, BD, BG et CH. Les arêtes EF, AB et BF sont rejetées car elles forment respectivement les cycles (B, E, F, G, B), (A, B, G, H, A) et (B, F, G, B) Remarquons que EF aurait pu être choisie à la place de BG L algorithme de PRIM, partant d un sommet initial, construit l arbre par voisinage en stockant, à chaque étape, l arête de coût minimal reliant l arbre en construction avec le reste du graphe. Il se termine lorsque tous les sommets sont atteints Dans notre cas, en partant du sommet A, nous obtenons successivement les arêtes AH, HG, GF, GB, BE, BD et HC. Remarquons, là aussi, qu au lieu de GB, on aurait pu choisir FE, de même coût, 10 Question : appliquer à nouveau l algorithme en partant d un autre sommet que A Nous obtenons alors l arbre recouvrant minimal : C D E 10 12 10 5 A 10 B H G F Il y a donc deux solutions possibles : soit avec BG, soit avec EF (arêtes en pointillé) L Arbre Recouvrant Maximal cherché est donc l un des deux arbres possibles, de coût 1 : C D E 10 14 10 15 A 10 B H 12 G 12 F Nous pouvons remarquer que l algorithme obtenu correspond tout simplement à appliquer l algorithme de KRUSKAL, ou de PRIM, sur le graphe initial en prenant à chaque étape l arête de plus grand coût parmi les arêtes possibles Remarquons aussi que l on aurait pu prendre des valuations de signe opposé, c est-à-dire v = - v

(5) Si la liaison AD n est plus utilisable alors, pour la question (2), seuls les plus courts chemins de A à D et E sont concernés, ce sont en effet les seuls utilisant l arête AD. Il faut alors reprendre l algorithme de DIJKSTRA à partir de A et recalculer ces chemins. Nous trouvons facilement (A, C, D), de longueur 11, pour D et (A, C, D, E), de longueur 17, pour E. D où le nouveau graphe partiel des plus courts chemins : C () 5 D (11) E (17) A (0) B () H (14) G () F (1) Le coût moyen d un plus court chemin est maintenant de 7 / 7 Pour la question (3), le graphe partiel des plus courts chemins partant de B reste le même car l arête AD n est pas utilisée Enfin, aucun des deux Arbres Recouvrants Maximaux solutions n utilisent l arête AD, ils restent donc les mêmes eux aussi Pour la question (2), si la liaison AB n est pas utilisable alors les plus courts chemins à modifier seront uniquement ceux de A à B et F, car ce sont les seuls à utiliser AB. Nous obtenons facilement : C () D (5) E (11) 5 10 A(0) B (15) H (14) G () 12 F (1) Le coût moyen d un plus court chemin est maintenant de 75 / 7 7

Pour la question (3), il faut calculer à nouveau les plus courts chemins de B à A et C, nous obtenons : C (15) 5 D (10) E (14) 5 10 14 A (15) B (0) 10 H (22) 12 G (10) F () Le coût moyen d un plus court chemin est maintenant de 94 / 7 mêmes Enfin, aucun des deux Arbres Recouvrants Maximaux solutions n utilisent l arête AB, ils restent donc les Si AH n est pas utilisable, les solutions restent les mêmes pour (2) et (3) car AH n y apparaît pas. Par contre, pour la question (4), le sommet A se retrouve isolé, il suffit alors de le relier au reste du graphe par l arête AB qui est l arête de coût minimal dans G, c est-à-dire de coût maximal dans G, adjacente à A