Graphes et applications aux réseaux

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

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

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

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

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

Chapitre 5 : Flot maximal dans un graphe

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

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

Introduction à la théorie des graphes

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

Faculté des sciences Département de mathématiques. Théorie des graphes

Programmation linéaire

MIS 102 Initiation à l Informatique

BACCALAUREAT GENERAL MATHÉMATIQUES

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

Colorations identiantes de graphes

Cryptographie et fonctions à sens unique

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Exercices de dénombrement

Feuille d exercices 2 : Espaces probabilisés

Université de La Rochelle. Réseaux TD n 6

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

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

Chapitre 7. Récurrences

Pourquoi l apprentissage?

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Chaine de transmission

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

S initier aux probabilités simples «Un jeu de cartes inédit»

Réseaux grande distance

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

MABioVis. Bio-informatique et la

Théorie des graphes et optimisation dans les graphes

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Fête de la science Initiation au traitement des images

Resolution limit in community detection

Le D.O.N.T. Le DONT. Première partie. Son maître mot est la DISTRIBUTION. Alerte. Principes du DONT

CHAPITRE I INTRODUCTION

RSA ADAPTIVE AUTHENTICATION

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Systèmes de transmission

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

CHAPITRE 5. Stratégies Mixtes

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Représentation d un entier en base b

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

Les réseaux cellulaires

Fonctions homographiques

Une introduction aux codes correcteurs quantiques

Licence Sciences et Technologies Examen janvier 2010

2.4 Représentation graphique, tableau de Karnaugh

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

Le bridge c'est quoi? Laval Du Breuil École de bridge Picatou, Québec

Les Conditions aux limites

Estimation: intervalle de fluctuation et de confiance. Mars IREM: groupe Proba-Stat. Fluctuation. Confiance. dans les programmes comparaison

Problèmes autour des graphes

Gestion des Incidents (Incident Management)

Alarme domestique- Présentation

YANN ROUDAUT - Professeur de l Ecole Française de Poker - roudaut@ecolefrancaisedepoker.fr

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Programmation Linéaire - Cours 1

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

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2011/26

Architecture matérielle des systèmes informatiques

Cisco Certified Network Associate

Table des matières. 1 Programmation linéaire 1

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Expérience 3 Formats de signalisation binaire

document proposé sur le site «Sciences Physiques en BTS» : BTS AVA 2015

HORAIRES VACANCES SCOLAIRES *

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Château des Ducs de Bretagne, France : l accessibilité permet la réappropriation par les habitants de Nantes du château-musée

Indications pour une progression au CM1 et au CM2

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

S initier aux probabilités simples «Question de chance!»

Transmission de données. A) Principaux éléments intervenant dans la transmission

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

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

La Stratégie de l'entame à Sans Atout

Comparer l intérêt simple et l intérêt composé

TP3 Test immunologique et spécificité anticorps - déterminant antigénique

Probabilités Loi binomiale Exercices corrigés

APPROCHER LES QUANTITES ET LES NOMBRES en Moyenne Section

TUTORIAL Microsoft Project 2010 Fonctionalités de base

- 1 - Calendrier 2016 des Formations Diagnostiqueur immobilier Titre II

Quelques algorithmes simples dont l analyse n est pas si simple

Rapport de stage de première année de Master Optimisation de cache d instructions

Votre Réseau est-il prêt?

S initier aux probabilités simples «Question de chance!»

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

2. DIFFÉRENTS TYPES DE RÉSEAUX

TSTI 2D CH X : Exemples de lois à densité 1

Gestion des Clés Publiques (PKI)

U.F.R. Sciences Fondamentales et Appliquées. pour obtenir. le grade de Docteur en Sciences. Spécialité : informatique

Algèbre binaire et Circuits logiques ( )

Transcription:

Graphes et applications aux réseaux Frédéric Havet MASCOTTE, commun I3S(CNRS/UNSA)-INRIA Sophia Antipolis Science culture au Lycée Lycée du Rempart 24 novembre 2011

Graphe Graphe: ensemble de sommets

Graphe Graphe: ensemble de sommets reliés par des arêtes.

Graphe: modèle naturel pour les réseaux Réseaux routiers: Sommets villes. Arêtes routes. Réseaux d ordinateurs: Sommets ordinateurs/routeurs. Arêtes liens physiques ou WIFI. Réseaux sociaux: Sommets personnes. Arêtes entre deux amis....

Les Ponts de Königsberg La rivière Pregel partage la ville de Königsberg en 4 quartiers. Les habitants se demandent s il est possible de faire un tour par chaque pont une et une seule fois. A votre avis?

Les Ponts de Königsberg La réponse est NON! Si un tel tour existait, chaque quartier devrait être relié à un nombre pair de ponts. Un pont pour arriver et un pour repartir à chaque fois qu on passe par un quartier.

Les Ponts de Königsberg Et si on veut faire une balade (le départ et l arrivée ne sont pas le même quartier) par chaque pont une et une seule fois?

Les Ponts de Königsberg La réponse est encore NON! Si une telle balade existait, tous les quartiers sauf deux (le départ et l arrivée) devraient être reliés à un nombre pair de ponts: un pont pour arriver et un pour repartir à chaque fois qu on passe par un quartier.

Modélisation par les graphes Quartiers sommets. Ponts arêtes.

Parcours et tour eulérien Parcours: suite v 0, e 1, v 1, e 2, v 2..., e n, v n telle que: e i = v i 1 v i pour tout 1 i n; Si v 0 = v n, le parcours est un tour. Degré d un sommet v, d(v), nb d arêtes incidentes à v. Parcours eulérien: qui passe par toutes les arêtes une et une seule fois. Euler: Un graphe a un parcours eulérien si et seulement si le nombre de sommets de degré impair est 0 ou 2.

Dessiner sans lever la main Pouvez-vous dessiner chacune des figures ci-dessous sans lever le crayon et en ne passant qu une seule fois sur chaque trait?

Dessiner sans lever la main Pouvez-vous dessiner chacune des figures ci-dessous sans lever le crayon et en ne passant qu une seule fois sur chaque trait?

Dessiner sans lever la main Pouvez-vous dessiner chacune des figures ci-dessous sans lever le crayon et en ne passant qu une seule fois sur chaque trait? 4 3 4 3 4 4 4 4 4 3 3 3 4 3

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Trouver un parcours eulérien Algorithme 1. Partir d un sommet de degré impair. 2. Avancer tant qu on peut. 3. Si on est bloqué, -Trouver un sommet où une arête est libre - Couper le chemin en ce sommet. - Repartir par une arête libre jusqu à revenir au sommet.

Quelques applications du tour eulérien et ses généralisations Tournée de camions poubelles. Trouver un ensemble de tours T 1,... T p tel que chaque rue (= arête) est dans au moins un de ces tours. On veut un tel ensemble de longueur minimum. Diagnostic ou maintenance d un réseau par un robot. Bioinformatique: reconstruction de séquences ADN à partir de fragments.

Le problème Gaz-Eau-Electricité Peut-on relier trois maisons à l eau, le gaz et l électricité sans que les canalisations se croisent?

Graphe planaire Graphe planaire: dessinable sans croisement d arêtes.

Formule d Euler Euler: graphe planaire (connexe), S + F = A + 2 S: nombre de sommets A: nombre d arêtes F : nombre de faces. f 2 f 3 f 1 f 5 f 4 Ici S = 7, A = 10, F = 5. On a bien 7 + 5 = 10 + 2.

Relation degré des faces nombre d arêtes degré d une face f, d(f ): nombre d arêtes autour de f. d(f 2 ) =3 d(f 1 ) = 4 d(f 3) = 3 d(f 5 ) = 6 d(f 4 ) = 4 Une arête est autour de deux faces. Ainsi f face d(f ) = 2 A. Ici: d(f 1 ) + d(f 2 ) + d(f 3 ) + d(f 4 ) + d(f 5 ) = 4 + 3 + 3 + 4 + 6 = 20 = 2 10.

Nombre maximum d arêtes d un graphe planaire Une face a au moins 3 arêtes donc 2A = d(f ) 3F. f face soit F 2 3 A. A = S + F 2 S + 2 3 A 2 1 3 A S 2 D où A 3S 6.

Réponse problème Gaz-Eau-Electricité Dans notre graphe, les faces seraient de taille au moins 4. Reprenons le calcul: 2A = f face M1 M2 M3 E G d(f ) 4F, soit F 1 2 A. A = S + F 2 S + 1 2 A 2 1 2 A S 2 D où A 2S 4. Or le graphe à réaliser a 6 sommets et 9 arêtes. Il ne peut pas être planaire. E

Application des graphes planaires Conception de circuits intégrés (sans croisement). Combinaison de milliers de transistors sur une puce. Planification de réseaux: routiers, de télécommunications,...

Colorer une carte 1852 Francis Guthrie: Peut-on colorer les régions (connexes) d une carte avec 4 couleurs de manière à ce que deux régions voisines (ayant une frontière en commun) aient des couleurs différentes.

Colorer un graphe planaire Un sommet dans chaque région. Deux sommets reliés si les régions sont voisines. On obtient un graphe planaire.

Colorer un graphe planaire Colorer les régions = colorer le graphe planaire. Donner des couleurs aux sommets tels que deux sommets adjacents aient des couleurs différentes.

Colorer un graphe planaire Guthrie: Peut-on colorer n importe quel graphe planaire avec 4 couleurs? 4 couleurs nécessaires pour certains graphes. Graphe complet à 5 sommets n est pas planaire. Nb d arêtes: (5 4)/2 = 10 > 9 = 3 5 6

Colorer un graphe planaire avec 6 couleurs A 3S 6 et v sommet d(v) = 2A. Donc d(v) 6S 12 < 6S. v sommet Il existe v tel que d(v) < 6, soit d(v) 5. Ordre (v 1,..., v n ) des sommets t.q. v i a au plus 5 voisins dans {v 1,..., v i 1 }. En colorant suivant cet ordre, on utilise au plus 6 couleurs.

Exemple

Exemple

Exemple 11

Exemple 11

Exemple 10 11

Exemple 10 11

Exemple 10 9 11

Exemple 10 9 11

Exemple 8 10 9 11

Exemple 8 10 9 11

Exemple 8 10 9 11 7

Exemple 8 10 9 11 7

Exemple 8 10 9 11 7 6

Exemple 8 10 9 11 7 6

Exemple 8 10 7 9 11 6 5

Exemple 8 10 7 9 11 6 5

Exemple 8 9 11 10 4 5 7 6

Exemple 8 9 11 10 4 5 7 6

Exemple 8 10 7 9 11 5 4 3 6

Exemple 8 10 7 9 11 5 4 3 6

Exemple 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Exemple 1 8 10 7 9 11 5 4 3 2 6

Théorème des 4 couleurs Kempe en 1879 et Tait en 1880 donnent une preuve. Des erreurs sont trouvées par Heawood (1890) et Petersen (1891). 1976: Preuve par Appel et Haken. Réduction à 1478 graphes critiques. Utilisation de l ordinateur pour résoudre ces cas. Problème pour la validation: Vérification de l algorithme. Vérification de l implémentation. 1995: Nouvelle preuve par Robertson, Sanders, Seymour et Thomas. Réduction à 633 cas. Le preuve donne un algorithme en O(n 2 ) pour colorer un graphe planaire.

Colorer un graphe planaire avec 3 couleurs Quel est le meilleur temps d exécution (au pire) possible pour un algorithme résolvant le problème suivant: Entrée: un graphe G (planaire). Question: peut-on colorer G avec 3 couleurs? n fois Il y a 3 n = { 3 3 }} 3 { colorations (non forcément propres) donc on peut le faire en O (3 n ). Conjecture: C est impossible en temps polynomial. C est P NP, une des conjectures du millénaire. 1 million de dollars est offert pour qui la montre ou la réfute. Le même problème avec 2 couleurs se fait facilement en temps polynomial.

Applications de la coloration Ordonnancement. Sommets = tâches. Arêtes entre des tâches concurrentes. Couleurs = intervalles de temps. Coloration du graphe = ordonnancement possible des tâches. Minimiser le nombre de couleurs = minimiser le temps pour effectuer toutes les tâches. Allocation de fréquences. Sommets = transmetteurs. Arêtes entre des transmetteurs dont les zones s intersectent. Couleurs = fréquences. Coloration du graphe = allocation de fréquences sans interférences. Minimiser le nombre de couleurs = minimiser la largeur de bande nécessaire.

Allocation de fréquences

Allocation de fréquences

Allocation de fréquences

Allocation de fréquences

BONUS: Tour de cartes

Tour de cartes le truc A chaque carte, on associe un nombre en binaire à 5 bits comme suit: Les deux derniers bits représentent la couleur de la carte. 00=coeur, 10=carreau, 01 =trèfle et 11=pique. Ainsi le tout dernier bit nous dit si la carte est rouge ou noire. Les trois premiers bits représentent la valeur de la carte. 000=as; 001=7; 010=8; 011=9; 100=10; 101=valet; 110 =dame; 111=roi.

Tour de cartes le truc On range les cartes de telle manière que le code de chaque carte est obtenu à partir de la suivante par décalage. Cela revient à trouver un cycle hamiltonien dans le graphe de de Bruijn. 00101 01010 01011 00001 00011 00010 10010 00110 10011 10110 10111 00111 01111 00000 10001 00100 11011 01110 11111 10000 11000 01000 01001 01100 11001 01101 11101 11110 11100 10100 10101 11010

Tour de cartes le truc 5e bit de 1e carte = 1e de la 5e carte. 5e bit de 2e carte = 2e de la 5e carte. 5e bit de 3e carte = 3e de la 5e carte. 5e bit de 4e carte = 4e de la 5e carte. 5e bit de 5e carte = 5e de la 5e carte. 00101 01010 01011 00001 00011 00010 10010 00110 10011 10110 10111 00111 01111 00000 10001 00100 11011 01110 11111 10000 11000 01000 01001 01100 11001 01101 11101 11110 11100 10100 10101 11010

Tour de cartes le truc Un cycle hamiltonien est A -A -A -7-9 -D -10 -A -7-8 -V -8 -V -9 -D -V - 9 -R -R -R -D -10-7 -9 -R -D -V -8-10 -7-8 - 10 00101 01010 01011 00001 00011 00010 10010 00110 10011 10110 10111 00111 01111 00000 10001 00100 11011 01110 11111 10000 11000 01000 01001 01100 11001 01101 11101 11110 11100 10100 10101 11010

Applications des graphes de Bruijn Quasi-optimum pour le problème (, D). Réseaux de faible degré et faible diamètre. Séquençage de chaînes d ADN. Grande flexibilité pour gérer les duplications, inversions ou transpositions.