Cycles eulériens et hamiltoniens Complément au chapitre 6 «La souris et la puce»

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

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

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

Eléments de Théorie des Graphes et Programmation Linéaire

Programmation linéaire

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

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

Quelques algorithmes simples dont l analyse n est pas si simple

Programmation Linéaire - Cours 1

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

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

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

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Programmation linéaire

MIS 102 Initiation à l Informatique

Chapitre 2. Eléments pour comprendre un énoncé

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

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

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

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

Ebauche Rapport finale

Chp. 4. Minimisation d une fonction d une variable

Cadre de travail sur les relations avec les gouvernements et la défense des droits. Société canadienne de la sclérose en plaques

Introduction à la théorie des graphes

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

BACCALAUREAT GENERAL MATHÉMATIQUES

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

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

Programmation linéaire et Optimisation. Didier Smets

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

L exclusion mutuelle distribuée

COLLECTE DES DECHETS MENAGERS : Recommandations techniques applicables lors de la conception de voiries, lotissements et immeubles

Algorithmes de recherche

Résolution d équations non linéaires

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Big Data et Graphes : Quelques pistes de recherche

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

Jean-Philippe Préaux

Big Data et Graphes : Quelques pistes de recherche

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Analyse Combinatoire

DEVENEZ UN POKER-KILLER AU TEXAS HOLD EM!

Intelligence Artificielle Planification

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Les indices à surplus constant

SITE INTERNET : Documents 2 ème année SOC. Taux. Déductions. Sous-total. Salaire versé. Décompte de salaire de Mme / Mlle / M

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Rallye Mathématiques de liaison 3 ème /2 nde et 3 ème /2 nde pro Epreuve finale Jeudi 21 mai 2015 Durée : 1h45

Pourquoi l apprentissage?

enquête pour les fautes sur le fond, ce qui est graves pour une encyclopédie.

Intégration de la dimension sémantique dans les réseaux sociaux

Les formulaires à remplir

Les réseaux cellulaires

Vous incarnez un surdoué en informatique qui utilise son ordinateur afin de pirater des comptes bancaires un peu partout dans le monde et s en mettre

LE PROBLEME DU PLUS COURT CHEMIN

Problèmes de dénombrement.

REGLEMENT DU CONCOURS MACIF «PRIX MACIF DU FILM ECONOMIE SOCIALE»

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Jean Dubuffet AUTOPORTRAIT II

Probabilités sur un univers fini

Jean Cuistot Traiteur

Problèmes de Mathématiques Filtres et ultrafiltres

La solution à vos mesures de pression

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Une nouvelle approche de détection de communautés dans les réseaux sociaux

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Le jeu-concours se déroulera du Mardi 28 Avril 2015 à 12h00 au dimanche 17 Mai 2015 à 19h inclus (date et heure française de connexion faisant foi).

Primaire. analyse a priori. Lucie Passaplan et Sébastien Toninato 1

Les différentes étapes de votre demande de visa Etudiant pour les USA

MegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant

Ouverture d'un point de vente L étude de la zone de chalandise.

Votre Réseau est-il prêt?

Dérivés Financiers Contrats à terme

Sujet 4: Programmation stochastique propriétés de fonction de recours

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Problème à résoudre. min f(s) s.c. s S

Utiliser le site learningapps.org pour créer des activités interactives

Gestion des Clés Publiques (PKI)

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Numéro : 300. Excédents, méthodes de calcul - Ligne 7 de la Déclaration des salaires

Livret de Stage en entreprise

Préfinancement. Tout prévoir pour l imprévu

données en connaissance et en actions?

SEGPA EREA. académie Versailles ENTRE : Nom du stagiaire : Prénom : Éducation Nationale Enseignement Supérieur Recherche

Théorèmes de Point Fixe et Applications 1

TP3 : Manipulation et implantation de systèmes de fichiers 1

Transcription:

Cycles eulériens et hamiltoniens Complément au chapitre 6 «La souris et la puce» Commençons par rappeler quelques définitions que nous avons déjà données dans le chapitre traitant des graphes de ligne. Un cycle qui passe exactement une fois par chaque arête d un graphe est dit «eulérien». Un cycle qui passe exactement une fois par chaque sommet d un graphe est dit «hamiltonien». Certains graphes ne possèdent ni cycle hamiltonien ni cycle eulérien, par exemple celuici-dessous. Notons qu on définit de la même manière les chaînes hamiltoniennes et eulériennes, en remplaçant cycle par chaîne. Le graphe ci-dessus a une chaîne hamiltonienne, par exemple : d-c-a-b. Le graphe ci-dessus a également une chaîne eulérienne, par exemple : d-c-a-b-c. Applications Un voyageur de commerce part tous les matins de son domicile représenté en noir cidessous et doit rendre visite à un ensemble de clients représentés en blanc, puis retourner à son domicile. Comment doit-il s y prendre pour minimiser la distance totale parcourue. (On suppose que les distances entre toutes les paires de clients ainsi qu entre les clients et le domicile du voyageur de commerce sont connues). On cherche ici un cycle hamiltonien de longueur minimale. Un camion de ramassage des ordures part du dépôt représenté en noir ci-dessous et doit passer sur chaque route du réseau ci-dessous pour effectuer la collecte des déchets. Comment doit-il s y prendre? On cherche ici un cycle eulérien.

Les cycles (pas nécessairement hamiltoniens ou eulériens) partagent une propriété importante que Manori fait remarquer à Sébastien lorsqu il tente de retrouver la souris. Cette propriété énoncée ci-dessous peut facilement être étendue aux chaînes. Propriété Lorsqu on dessine un cycle dans un graphe, tous les sommets sont nécessairement de degré pair car à chaque fois qu en entre en un sommet, on en ressort aussi. Lorsqu on dessine une chaîne dans un graphe, tous les sommets intermédiaires (c està-dire tous ceux qui ne sont pas les extrémités de la chaîne) sont de degré pair. C est cette propriété que Manori utilise pour retrouver la souris. En effet, le parcours de la souris depuis sa cage jusqu à sa cachette est un cycle (si elle se cache dans le laboratoire d où elle s est enfuie) ou une chaîne. Manori dessine le graphe contenant toutes les arêtes que la souris a parcourues. Il peut le faire grâce aux informations fournies par les détecteurs. Son raisonnement est le suivant : si tous les sommets du graphe sont de degré pair, la souris est revenue à son point de départ et il va être difficile de la retrouver; si le graphe ne comporte que deux sommets de degré impair, l un de ces sommets est le lieu de sa fuite, et l autre le lieu de sa cachette; si le graphe comporte plus de deux sommets de degré impair, l information récoltée est incohérente. Par chance, on se trouve dans la deuxième situation et l un des sommets de degré impair (le sommet A) est un laboratoire alors que l autre (le sommet H) est une zone entre les laboratoires avec une seule bouche d aération. La souris s y trouve donc forcément. Au 18 e siècle, le grand mathématicien Euler a résolu le problème suivant. La ville de Koenigsberg (appelée plus tard Kaliningrad) est traversée par la Praegel qui coule de part et d autre de l île de Kneiphof et possède sept ponts, comme le montre la figure cidessous. Un piéton peut-il, en se promenant, traverser une et une seule fois chaque pont?

Pour résoudre ce problème, Euler a construit un graphe G dont les sommets sont les différentes régions connexes s il n y avait pas de pont, et où chaque arête représente une liaison entre deux régions par un pont. Pour qu un piéton puisse se promener en traversant chaque pont exactement une fois, il faut que G contienne un cycle eulérien, ce qui n est pas le cas car G contient 4 sommets de degré impair. Lorsque tous les sommets d un graphe sont de degré pair, il est assez facile de dessiner un cycle eulérien. On peut s y prendre par exemple comme suit. Construction d un cycle eulérien dans un graphe où tous les sommets sont de degré pair. 1. Déterminer un cycle C quelconque. 2. Si C couvre toutes les arêtes du graphe alors STOP, sinon aller à 3. 3. Choisir un sommet v dans C qui est l extrémité d une arête hors de C. Construire un deuxième cycle C contenant v et tel que C et C n aient aucune arête en commun. 4. Fusionner C et C pour former un cycle C. Cette fusion se fait en partant du sommet v, en parcourant l ensemble du cycle C puis étant revenu au sommet v en visitant l ensemble du cycle C pour finalement terminer en v. 5. Poser C égal à C et retourner en 2. Illustration Supposons qu une distance soit associée à chaque arête. Le problème de la détermination d un cycle hamiltonien de distance totale minimale s appelle le «problème du voyageur de commerce».

Le problème du voyageur de commerce est très difficile à résoudre. Il existe cependant des logiciels permettant de déterminer de telle solutions optimales tant que le nombre de sommets ne dépasse pas quelques centaines (par exemple CONCORDE qu on peut télécharger sur le site internet http://www.tsp.gatech.edu/concorde.html). L obtention d une solution optimale peut prendre des heures, voire des jours. Lorsqu on a affaire à des gros graphes ou qu on désire obtenir des solutions très rapidement, on utilise ce qu on appelle des heuristiques qui fournissent des solutions de qualité raisonnable en des temps raisonnables. Heuristique du plus proche voisin 1) Choisir un sommet de départ x 2) Tant que tous les sommets ne sont pas encore visités faire l opération suivante se rendre au sommet le plus proche pas encore visité Exemple Cette heuristique a été comparée à ce que donne par exemple le logiciel CONCORDE. L erreur est en moyenne d environ 15%. Toute heuristique, y compris celle du plus proche voisin, peut facilement être améliorée en rajoutant à la fin une procédure de post-optimisation. Celle-ci consiste à vérifier s il existe une paire d arêtes sur le cycle qui peut être remplacée par une autre paire d arêtes (il n y a qu un remplacement possible par paire d arêtes) tout en diminuant la distance totale parcourue. Tant que de telles paires d arêtes existent, les échanges sont effectués. Illustration Cette procédure de post-optimisation permet de réduire considérablement l écart à l optimum. Par exemple, en comparant les solutions produites par le logiciel CONCORDE avec la combinaison de l heuristique du plus proche voisin suivie d une post-optimisation, on a pu constater que l erreur est en moyenne d environ 2 à 3%.

Il existe des méthodes qui permettent de réduire cet écart à quelques dixièmes de pourcent, mais ces méthodes sont beaucoup plus complexes à mettre en place. Mais revenons maintenant aux cycles eulériens. Tel que déjà mentionné, si tous les sommets d un graphe G sont de degré pair alors il est facile de déterminer un cycle eulérien alors que s il existe au moins un sommet de degré impair, le graphe ne contient aucun cycle eulérien. Dans un cycle eulérien, on impose de passer exactement une fois par chaque arête du graphe. Nous nous intéressons ici au problème consistant à déterminer un cycle passant au moins une fois par chaque arête du graphe. Supposons qu une distance soit associée à chaque arête d un graphe connexe. Le «problème du postier chinois» consiste à déterminer un cycle aussi court que possible qui passe au moins une fois par chaque arête du graphe. Contrairement au problème du voyageur de commerce, celui du postier chinois est facile à résoudre. S il n existe aucun sommet de degré impair, on a déjà vu comment déterminer un cycle eulérien et ce cycle est nécessairement le plus court puisqu il passe exactement une fois par chaque arête. Sinon, on peut s y prendre comme suit. Algorithme pour déterminer une solution optimale au problème du postier chinois dans un graphe G contenant des sommets de degré impair 1. Créer un graphe complet H dans lequel les sommets sont ceux de degré impair dans G et relier toute paire de sommets dans H par une arête de coût égal à la longueur de la plus courte chaîne dans G reliant les sommets considérés. 2. Déterminer un couplage de coût minimum dans H. 3. Pour chaque arête du couplage optimal déterminé en 2, rajouter la plus courte chaîne correspondante dans G. 4. Le graphe résultant a tous ses sommets de degré pair. On peut donc facilement construire un cycle eulérien. Illustration Dans l exemple ci-dessus, on a supposé que toutes les distances dans G sont unitaires. Remarquons en passant que pour que le point 2 de l algorithme ait un sens et qu on puisse ainsi transformer tous les sommets de degré impair dans G en des sommets de degré pair, il faut qu il y ait un nombre pair de sommets de degré impair dans G. Ceci est toujours le cas tel que démontré ci-après.

Propriété Tout graphe contient un nombre pair de sommets de degré impair. Preuve On peut définir une partition V=I P de l ensemble V des sommets d un graphe en définissant I comme l ensemble des sommets de degré impair et P comme l ensemble des sommets de degré pair. On a donc degré (v) = degré(v) + degré(v) v V v P v I Nous avons déjà montré que cette somme est paire car elle est égale au double du nombre d arêtes dans le graphe. Comme le premier terme de la somme ci-dessus est pair (c est une somme de nombres pairs), la deuxième somme doit aussi être paire. Pour qu une somme de nombres impairs soit paire, il faut sommer un nombre pair de nombres et on déduit donc que l ensemble I contient un nombre pair de sommets. Un problème similaire à celui du postier chinois consiste à déterminer une tournée de coût total minimum qui passe au moins une fois par un sous-ensemble fixé d arêtes. En pratique, le réseau d une ville est constitué de nombreuses arêtes et le ramassage des ordures ne doit se faire que sur certaines arêtes du graphe. Le camion chargé d effectuer le ramassage peut cependant emprunter les autres arêtes du graphe pour se rendre d un point à un autre. Supposons qu une distance soit associée à chaque arête d un graphe connexe G et soit D un sous-ensemble d arêtes à desservir dans G. Le «problème du postier rural» est de déterminer un cycle aussi court que possible dans G qui passe au moins une fois par chaque arête de D. Le problème du postier rural est très difficile à résoudre, comme celui du voyageur de commerce. En fait les problèmes réels sont bien plus complexes que ceux mentionnés cidessus puisqu il faut tenir compte de nombreuses contraintes, tel que la capacité des véhicules, les pauses des chauffeurs, etc. Par exemple, lorsque la quantité totale à livrer ou à collecter auprès des clients dépasse la capacité d un véhicule, il faut utiliser plusieurs camions. Le problème se complique donc puisqu en plus de déterminer la route de chaque véhicule, il faut également répartir les clients parmi les véhicules.