GRAPHES PROBLÈMES CÉLÈBRES Jeudi 3 décembre Option Informatique Ecole Alsacienne
PLAN 1. Parcours eulériens 2. Parcours hamiltoniens 3. Des problèmes très difficiles 4. Graphes planaires 5. Colorations de graphes
PARCOURS EULÉRIENS
QUEL EST LE POINT COMMUN entre des ponts et une enveloppe? Parcours eulériens
LEONHARD PAUL EULER Mathématicien suisse du XVIII e siècle Extrêmement prolifique : Formule d'euler : e iπ + 1 = 0 Angles d'euler (mécanique du solide) Droite, cercle et relation d'euler pour un triangle Développement en séries : n=1 1 n² = π² 6 Equation d'euler (dynamique des fluides) Constante d'euler : γ = lim n (1 + 1 2 + 1 3 + + 1 n ln n ) Parcours eulériens
LES SEPT PONTS DE KÖNIGSBERG Ville de Königsberg, en Prusse, traversée par la rivière Pregolia Quatre zones géographiques Deux rives Deux îles Questions : Un habitant peut-il faire un tour de la ville et passer exactement une fois par chacun des ponts? Même sans revenir à son lieu de départ? Parcours eulériens
QUEL EST LE LIEN AVEC UNE ENVELOPPE? Parcours eulériens
PARCOURS EULÉRIEN Définition : Un parcours eulérien d'un graphe G est un parcours qui contient exactement une fois chaque arête du graphe. Sauf indication contraire, on parle de parcours eulériens fermés, c est-à-dire en revenant au sommet de départ. Parcours eulériens
OBSERVONS LES DEGRÉS DES SOMMETS Question : Que peut-on dire des degrés des sommets de ce graphe? Réponse : Ils sont tous pairs! Parcours eulériens
THÉORÈME D'EULER Théorème d'euler : Un graphe connexe admet un parcours eulérien si et seulement si tous ses sommets sont de degré pair. Parcours eulériens
QUE ÉTAIT DONC LE POINT COMMUN entre des ponts et une enveloppe? Ils n'admettent pas de parcours eulériens! Parcours eulériens
PARCOURS EULÉRIEN OUVERT Extension naturelle du théorème d'euler : Un graphe admet un parcours eulérien ouvert si et seulement si tous ses sommets sauf deux sont de degré pair. Remarque : Le cas échéant, tout parcours eulérien ouvert a nécessairement pour extrémités les deux sommets de degré impair Parcours eulériens
EXEMPLES Application smartphone : "One Touch Drawing" Parcours eulériens
PARCOURS HAMILTONIENS
ET AVEC LES SOMMETS? Question : Est-il possible de trouver un parcours passant exactement une fois par chacun des sommets de ce graphe? Parcours hamiltoniens
LE PROBLÈME DU VOYAGEUR DE COMMERCE Un problème célèbre : Le problème du voyageur de commerce (en anglais travelling salesman problem, ou TSP) Question : Quel est le plus court chemin passant par chacune des villes d'une carte exactement une fois? Parcours hamiltoniens
LE PROBLÈME DU CAVALIER Question : Existe-t-il une suite de coups qui permettent à un cavalier de parcourir toutes les cases de l'échiquier sans repasser deux fois par la même case? Parcours hamiltoniens
LE PROBLÈME DU CAVALIER Question : Existe-t-il une suite de coups qui permettent à un cavalier de parcourir toutes les cases de l'échiquier sans repasser deux fois par la même case? Parcours hamiltoniens
PARCOURS HAMILTONIEN Un parcours hamiltonien est un parcours dans un graphe passant exactement une fois par chacun des sommets de ce graphe. Un cycle hamiltonien est un parcours hamiltonien dont le point de départ et le point d'arrivée sont confondus Un graphe hamiltonien est un graphe qui contient un cycle hamiltonien Parcours hamiltoniens
DES PROBLÈMES TRÈS DIFFICILES
UNE QUESTION NAÏVE Question : Comment tester si un graphe est hamiltonien? Réponse possible : Tester tous les chemins possibles! Remarques : Cette méthode risque de prendre beaucoup de temps Mais on ne sait pas faire vraiment mieux aujourd'hui! Des problèmes très difficiles
DES PROBLÈMES TRÈS DIFFICILES Il existe un certain nombre de problèmes qu on ne sait aujourd hui résoudre qu en testant tous les cas possibles. Exemple 1 : Tester si un graphe est hamiltonien Variante : Problème du voyageur de commerce Des problèmes très difficiles
DES PROBLÈMES TRÈS DIFFICILES Il existe un certain nombre de problèmes qu on ne sait aujourd hui résoudre qu en testant tous les cas possibles. Exemple 2 : Problème du sac à dos Des problèmes très difficiles
DES PROBLÈMES TRÈS DIFFICILES Il existe un certain nombre de problèmes qu on ne sait aujourd hui résoudre qu en testant tous les cas possibles. Exemple 3 : Coloration de graphes Des problèmes très difficiles
NP-COMPLÉTUDE Il existe un certain nombre de problèmes qu on ne sait aujourd hui résoudre qu en testant tous les cas possibles. On ne sait pas faire vraiment mieux : On arrive généralement à trouver des optimisations pour ne tester qu'une partie des cas possibles Mais on n'a pas trouvé de méthode vraiment plus efficace Ces problèmes sont dits NP-complets Remarques : On ne sait pas aujourd'hui si des méthodes vraiment plus efficaces existent (c'est une question à un million de dollars) Tous ses problèmes sont équivalents : si on trouve une méthode vraiment plus efficace pour l'un d'entre eux, on pourra en déduire de nouvelles approches pour tous les autres problèmes NP-complets Des problèmes très difficiles
ET DES PROBLÈMES IMPOSSIBLES Il y a même des problèmes qu on sait qu on ne pourra jamais résoudre Exemple : le problème de l arrêt : Parfois, un programme se met à tourner en boucle et on finit par l'interrompre pour l arrêter Dans l idéal, on aimerait disposer d un outil qui analyse le code du programme et affiche un avertissement si le programme va tourner en boucle. Problème : Un tel outil n existe pas. Pire : Un tel outil ne peut exister : il n est pas possible d écrire un outil qui analyse un programme et déclare à coup sur si ce programme va tourner en boucle ou non. Des problèmes très difficiles
PROBLÈME DE PAVAGE DU PLAN On dispose de n types de tuiles : Chaque tuile comporte 4 zones Chaque zone porte une certaine couleur On dispose d'un nombre illimité de tuiles de chaque type Question : Ces n types de tuiles sont-ils suffisant pour réaliser un "pavage du plan", c'est-à-dire : Chaque case du plan doit recevoir une tuile Deux zones voisines doivent avoir la même couleur (à la frontière entre deux tuiles) Des problèmes très difficiles
PROBLÈME DE PAVAGE DU PLAN Il est impossible de concevoir un algorithme qui prend en argument une collection de tuiles et indique si un pavage du plan est possible avec cette collection de tuiles. Des problèmes très difficiles
GRAPHES PLANAIRES
HISTOIRES DE CARTOGRAPHES Graphes planaires
HISTOIRES DE CARTOGRAPHES Au fait, le Groenland est-il plus vaste que l'amérique du Sud? Graphes planaires
HISTOIRES DE CARTOGRAPHES Superficies réelles : Amérique du Sud : 17,8 millions de km² Groenland : 2,1 millions de km² Graphes planaires
HISTOIRES DE CARTOGRAPHES Projection de Mercator Respecte la forme des continents Projection de Peters Respecte la superficie des continents Graphes planaires
HISTOIRES DE CARTOGRAPHES Et bien d'autres Graphes planaires
HISTOIRES DE CARTOGRAPHES A vous maintenant! Défi : Tracer une carte du Continent des Cinq Royaumes Un continent composé de 5 pays Chacun pays est voisin des 4 autres (en plus d'un point) Exemple : La Terre aux Quatre Provinces Province de l'ouest Province de l'est Province du Centre Province du Bord Graphes planaires
3 MAISONS, 3 RESSOURCES On souhaite relier 3 maisons à 3 réseaux Eau Electricité Téléphone Les câbles/conduites ne peuvent se croiser Graphes planaires
LE DÉFI DES 5 POINTS Question : Peut-on trouver une façon de relier chacun de ces sommets aux 4 autres sans que les arêtes ne se croisent? Graphes planaires
GRAPHE PLANAIRE Définition : Un graphe est dit planaire s'il existe une représentation de ce graphe dont les arêtes ne se croisent jamais. Une telle représentation (sans croisement d'arêtes) est appelée une représentation plane du graphe. Remarque : Les arêtes ne sont pas forcément droites. Graphes planaires
UNE ANALOGIE POSSIBLE le circuit imprimé : Les pistes métalliques ne doivent pas se croiser! Graphes planaires
EXEMPLES Ces graphes sont-ils planaires? Graphes planaires
EXEMPLES Ces graphes sont-ils planaires? Graphes planaires
RAPPEL : DÉFINITION D'UN GRAPHE Un graphe, c'est : Un ensemble X de sommets Ex : X = { x, y, z } Un ensemble d'arêtes E constitué de paires d'éléments de X Ex : E = { (x, y), (x, z) } x z y Graphes planaires
PLUSIEURS REPRÉSENTATIONS D'UN MÊME GRAPHE Graphes planaires
FACES : DÉFINITIONS Définition : Les arêtes d'une représentation plane d'un graphe découpe le plan en zones appelées faces. La zone entourant le graphe est une face particulière, non bornée, appelée face extérieure. Graphes planaires
FACES : EXEMPLES Combien voyez-vous de faces? Graphes planaires
FACES ET CONNEXITÉS Un graphe planaire n'est pas nécessairement connexe : Graphes planaires
FACES : PROPRIÉTÉS Propriété sympa mais fausse : Toute arête est la frontière entre deux faces Sa suppression entraîne la fusion entre ces deux faces Propriété presque aussi sympa mais vraie : Toute arête d'un cycle est la frontière entre deux faces Sa suppression entraîne la fusion entre ces deux faces Graphes planaires
FORMULE D'EULER Pour toute représentation plane d'un graphe connexe Si l'on note f le nombre total de faces (en comptant la face extérieure) n le nombre de sommets du graphe m le nombre d'arêtes du graphe Alors n + f = m + 2 Graphes planaires
ILLUSTRATIONS n + f = m + 2 Graphes planaires
K 5 EST NON PLANAIRE Propriété : Le graphe complet à 5 sommets (chacun étant relié aux 4 autres), noté K 5, est non planaire. Démonstration : Par l'absurde, supposons que K 5 est planaire. Il vérifie donc la formule d'euler : n + f = m + 2, soit donc 5 + f = 10 + 2 On a donc notamment f = 7 Le nombre moyen f d'arêtes bordant une face est donc f = 2 m f = 20 7 < 3 Pour que ce nombre moyen f d'arêtes par face soit strictement inférieur à 3, il faut qu'il existe au moins une face qui soit bordée par 2 arêtes ou moins. Or une face est toujours bordée par au moins 3 arêtes. Contradiction! Graphes planaires
CONSÉQUENCES CARTOGRAPHIQUES Conséquence : Le Continent des Cinq Royaumes n'existe pas! Par contre, le graphe complet à 4 sommets est planaire, c'est pourquoi la Terre aux Quatre Provinces existe. Province de l'ouest Province de l'est Province du Centre Province du Bord Graphes planaires
K 3,3 EST NON PLANAIRE Propriété : Le graphe biparti à 3x3 sommets (cf schéma cidessous), noté K 3,3, est non planaire. Démonstration : Par l'absurde, supposons que K 3,3 est planaire. Il vérifie donc la formule d'euler : n + f = m + 2, soit donc 6 + f = 9 + 2 On a donc notamment f = 5 Le nombre moyen f d'arêtes bordant une face est donc f = 2 m f = 18 5 < 4 Pour que ce nombre moyen f d'arêtes par face soit strictement inférieur à 4, il faut qu'il existe au moins une face qui soit bordée par 3 arêtes ou moins. Or une face correspond à un cycle, et tout cycle dans un tel graphe est au moins de longueur 4. Contradiction! Graphes planaires
3 MAISONS, 3 RESSOURCES Conséquence : Le problème des 3 maisons et des 3 ressources n'a pas de solution Et maintenant on sait pourquoi! Graphes planaires
COLORATIONS DE GRAPHE
COLORATION OU COLORIAGE? Coloration VS Coloriage Les deux mots existent, mais ce n'est pas ce que vous croyez Colorations de graphe
PAR CONTRE Colorations de graphe
COLORATION DE SOMMETS Définition : On appelle coloration des sommets d'un graphe toute attribution d'une couleur à chaque sommet. On s'intéresse en pratique aux colorations dites valides, c'est-à-dire telles que deux sommets voisins n'ont pas la même couleur : Colorations de graphe
CAS CLASSIQUES Colorations de graphe
AVEC DES GRAPHES PLANAIRES? Théorème des six couleurs : Tout graphe planaire peut être colorié avec maximum 6 couleurs. Colorations de graphe
PLUS DIFFICILE Théorème des cinq couleurs (Heawood, 1890) Tout graphe planaire peut être colorié avec au plus 5 couleurs. Théorème des quatre couleurs (1976, Appel & Haken) Tout graphe planaire peut être colorié avec au plus 4 couleurs. Remarque : la démonstration de ce dernier théorème comporte des calculs infaisables à la main Colorations de graphe
PEUT-ON FAIRE ENCORE MIEUX? Il n'y aura jamais de théorème des trois couleurs. Colorations de graphe
AU PASSAGE Nous avons confirmation que K 5 n'est pas planaire car il serait alors coloriable avec au plus 4 couleurs. Colorations de graphe
CALCUL DU PLUS COURT CHEMIN
PETIT TEST DE MÉMOIRE Qu'est-ce qu'une distance dans un graphe? g a d e b f c Définition : Dans un graphe connexe G = (X, E), la distance entre deux sommets x, y X 2 est la longueur de la plus courte chaîne entre ces deux points. Calcul du plus court chemin
CALCUL DU PLUS COURT CHEMIN DANS UN GRAPHE Comment calculer le plus court chemin de a à f? g a d e b f c Calcul du plus court chemin
ET AVEC UN GRAPHE ÉTIQUETÉ? Calcul du plus court chemin
ALGORITHME DE DIJKSTRA Intuition : Plutôt que d'utiliser un parcours en largeur, on va traiter les sommets "les plus proches" de la source. Calcul du plus court chemin
ALGORITHME DE DIJKSTRA : DEUXIEME EXEMPLE Calcul du plus court chemin
PROCHAINE SÉANCE Jeudi 10 décembre [TD] GRAPHES ET LABYRINTHES