Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes

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

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

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

Introduction à la théorie des graphes

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

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

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

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

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

MIS 102 Initiation à l Informatique

6. Les différents types de démonstrations

Cours d Analyse. Fonctions de plusieurs variables

Resolution limit in community detection

Chapitre 5 : Flot maximal dans un graphe

BACCALAUREAT GENERAL MATHÉMATIQUES

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

Programmation par contraintes. Laurent Beaudou

Plus courts chemins, programmation dynamique

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.

Développements limités. Notion de développement limité

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

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

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

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

Angles orientés et fonctions circulaires ( En première S )

Algorithmes récursifs

Calcul intégral élémentaire en plusieurs variables

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

Cours d Analyse 3 Fonctions de plusieurs variables

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

Introduction au maillage pour le calcul scientifique

par Denis-Charles Cisinski & Georges Maltsiniotis

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Programmation linéaire

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Fonctions de deux variables. Mai 2011

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

Feuille d exercices 2 : Espaces probabilisés

Amphi 3: Espaces complets - Applications linéaires continues

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Fonctions de plusieurs variables

LE PROBLEME DU PLUS COURT CHEMIN

Optimisation des fonctions de plusieurs variables

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Correction du baccalauréat S Liban juin 2007

Raisonnement par récurrence Suites numériques

Continuité d une fonction de plusieurs variables

Initiation à LabView : Les exemples d applications :

Mesures gaussiennes et espaces de Fock

chapitre 4 Nombres de Catalan

Statistique : Résumé de cours et méthodes

108y= 1 où x et y sont des entiers

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Programmation Par Contraintes

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

OM 1 Outils mathématiques : fonction de plusieurs variables

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

DOCM Solutions officielles = n 2 10.

Théorie des graphes et optimisation dans les graphes

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

Statistiques Descriptives à une dimension

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

Big Data et Graphes : Quelques pistes de recherche

Angles orientés et trigonométrie

CHAPITRE VIII : Les circuits avec résistances ohmiques

Algèbre binaire et Circuits logiques ( )

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

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

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

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 =

Réseaux de preuves booléens sous-logarithmiques

Réseau SCEREN. Ce document a été numérisé par le CRDP de Bordeaux pour la. Base Nationale des Sujets d Examens de l enseignement professionnel.

3 Approximation de solutions d équations

CH.6 Propriétés des langages non contextuels

Quelques tests de primalité

Programmes des classes préparatoires aux Grandes Ecoles

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

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

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Logique. Plan du chapitre

DISQUE DUR. Figure 1 Disque dur ouvert

Structures algébriques

Texte Agrégation limitée par diffusion interne

Cours de Master Recherche

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

Travaux dirigés d introduction aux Probabilités

Commun à tous les candidats

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Cours d arithmétique Première partie

Chp. 4. Minimisation d une fonction d une variable

On ne peut pas entendre la forme d un tambour

Calcul différentiel. Chapitre Différentiabilité

Correction du baccalauréat ES/L Métropole 20 juin 2014

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

Probabilités sur un univers fini

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

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

Limites finies en un point

Transcription:

de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Olivier Togni, IEM/LE2I olivier.togni@u-bourgogne.fr Modifié le 4 janvier 2016

2 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Plan 1. Historique et motivation 2. s 3. Chemins, cycles, connexité 4. Sous-graphes et isomorhpisme 5. Classes de graphes Graphes planaires Graphes triangulés 6. Représentations des graphes

de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Historique et motivation Un peu d histoire... 1736 : Leonhard Euler, les ponts de Konigsberg 1852 : De Morgan, coloriage des cartes géographiques en au plus 4 couleurs

4 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Historique et motivation Pourquoi les graphes? Ils sont partout (et surtout en Informatique) mêmes problématiques dans différents domaines intérêt de trouver des solutions génériques objets mathématiques (relativement) simples mais sur lesquels il y a de nombreux problèmes difficiles

5 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes s Graphe orienté G = (V, E), avec V un ensemble fini ou infini d éléments appelés sommets (ou nœuds) et E V V ensemble de couples de sommets appelés arcs Rem : E est une relation sur V Exemple : V = {A, B, C, D, E}, E = {(A, D), (B, A), (C, A), (D, B), (D, C), (E, B)} A C B D E

6 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes s Graphe G = (V, E) non orienté si E est un ensemble de paires de sommets, appelées des arêtes. Pour simplifier, on note xy l arête {x, y}. Rem : Correspond à une graphe orienté symétrique (E est une relation symétrique : (x, y) E (y, x) E) Rem : très fréquents on précise plutôt quand le graphe est orienté Exemple : V = {A, B, C, D, E}, E = {AD, BA, CA, DB, DC, EB} A C B D E

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes s Extensions graphe valué : des poids (réels ou entiers) sont associé à chaque arête et/ou sommet ; multigraphe : il peut y avoir plusieurs arêtes (arêtes parallèles) entre deux sommets ; hypergraphe : les (hyper)arêtes peuvent relier plus de deux sommets.

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes s Un peu de vocabulaire Pour un graphe G = (V, E) orienté ou non, n = V (G) est l ordre de G m = E(G) est la taille de G une boucle est un arc (x, x) ou une arête xx deux sommets joints par un arc ou une arêtes sont dits voisins ou adjacents le degré d(x) d un sommet x est le nombre d arcs ou arêtes auxquels x appartient (nombre de voisins) si G est orienté, le degré sortant d + (x) est le nombre d arcs issus de x et son degré entrant d (x) est le nombre d arcs pointant sur x

9 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes s Premières propriétés Proposition Pour tout graphe G = (V, E), d(x) = 2 E x V Corollaire Pour tout graphe G = (V, E), le nombre de sommets de degrés impairs est pair.

10 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Chemins, cycles, connexité Chemin dans un graphe Un chemin de longueur p dans un graphe G = (V, E) orienté ou non est un suite de sommets x 0, x 1, x 2,..., x p dans laquelle deux sommets consécutifs sont joints par un arc ou une arête. Rem : on peut passer plusieurs fois par un même sommet ou par un même arc ou arête Ex : E, B, A, D, B est un chemin de longueur 4 mais B, D, C, A n est pas un chemin A C B D E

11 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Chemins, cycles, connexité Cycle dans un graphe Un circuit (cycle) de longueur p dans un graphe G = (V, E) orienté (non orienté) est un chemin x 0, x 1,..., x p 1, x 0 (qui reboucle sur lui-même). Ex : B, A, D, B est un circuit de longueur 3 A C B D E

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Chemins, cycles, connexité Connexité Un graphe G = (V, E) (non orienté) est connexe s il existe un chemin entre toute paire de sommets. Un graphe G = (V, E) orienté est fortement connexe s il existe un chemin entre toute couple de sommets. Il est connexe si le graphe non orienté sous-jacent est connexe. Rem : si le graphe est non orienté, c est facile à voir! Ex : G = ({A, B, C, D, E}, {(A, D), (B, A), (C, A), (D, B), (D, C), (E, B)}) est non fortement connexe mais connexe

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Chemins, cycles, connexité Distance et diamètre Dans un graphe G = (V, E) orienté ou non, la distance d(x, y) entre deux sommets x et y est la longueur d un plus court chemin entre eux. Le diamètre D(G) du graphe G est la plus grande des distances dans G : D(G) = max x,y V d(x, y). Ex : G = ({A, B, C, D, E}, {AD, BA, CA, DB, DC, EB} d(b, D) = 2 et il y a deux plus courts chemins entre B et D : B, A, D ou B, C, D D(G) = 3 = d(d, E)

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Sous-graphes et isomorphisme Sous-graphes Un graphe H = (V H, E H ) est un sous-graphe du graphe G = (V G, E G ) si V H V G et E H E G. H est sous-graphe induit de G si x, y V H, xy E G xy V H Ex : graphe G sous-graphe induit sous-graphe (non induit)

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Sous-graphes et isomorphisme Isomorphisme Deux graphes G = (V G, E G ) et H = (V H, E H ) sont isomorphes s il existe une bijection h : V G V H telle que si xy E G alors h(x)h(y) E H. Ex :

16 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Classes de graphes communes Graphe complet K n a n sommets : x, y V (K n ), xy E(K n ) (E est une relation totale) Graphe chemin P n a n sommets : V = {x 1, x 2,..., x n } et E = {x i x i+1, i = 1..n 1} Graphe cycle C n a n sommets : V = {x 1, x 2,..., x n } et E = {x i x i+1, i = 1..n 1} {x n x 1 }

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Abres, forêts Une forêt est un graphe sans cycle. Un arbre est une forêt connexe. Quelques propriétés : Un arbre vérifie V = E + 1 Un graphe est un arbre ssi il existe un unique chemin entre toute paire de sommets Un arbre d ordre au moins 2 contient au moins deux sommets de degré 1 (feuilles)

18 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes bipartis Un graphe G = (V, E) est biparti s il est possible de partitionner V and deux sous-ensembles X et Y de sorte que chaque arête joigne un sommet de X et un sommet de Y. Proposition Un graphe est biparti ssi il ne contient pas de cycle de longueur impaire. Graphe biparti complet K m,n : V = X Y avec X = {x 1,..., x m } et Y = {y 1,..., y n } et E = {x i y j, 1 i m, 1 j n}

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes planaires Graphes planaires Un graphe est planaire s il peut être dessiné sur le plan (ou la sphère) de sorte qu aucune arête n en coupe une autre. Une face est une région connexe du plan délimitée par des arêtes (la face extérieure est infinie sur le plan, les faces sont toutes finies sur la sphère).

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes planaires Caractérisation d Euler Proposition Soit un graphe planaire G dessiné sur le plan sans croisement d arête et soit v = V (G), e = E G et f le nombre de faces. On a v e + f = 2 Rem : se généralise à des graphes dessinés sur des surfaces de genre g 1 (sphères a g trous) Ex : l icosaédron a 12 sommets, 30 arêtes et 20 faces

21 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes planaires Caractérisation des graphes planaires Une subdivision d un graphe H est un graphe H obtenu en plaçant sur chaque arête de H, 0, 1 ou plusieurs sommets de degré 2. Théorème (Kuratowski, 1930) Un graphe G est planaire si et seulement si il ne contient pas de sous-graphe qui est une subdivision de K 5 ou K 3,3.

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes triangulés Graphes triangulés Un graphe triangulé (ou cordal) est un graphe dans lequel chaque cycle de longueur au moins 4 a une corde, ou, de façon équivalente, qui ne contient pas de cycle induit de longueur supérieure à 3. Ex :

23 de 26 Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Classes de graphes Graphes triangulés Ordre simplicial Un sommet simplicial d un graphe est un sommet dont les voisins induisent une clique (sous-graphe complet). Un ordre simplicial d un graphe G d ordre n est un ordre x 1, x 2,..., x n tel que x i est un sommet simplicial du sous-graphe de G induit par les sommets x i+1,..., x n.. Théorème Tout graphe triangulé admet un ordre simplicial. Ex :

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Représentation des graphes Représentation des graphes Deux structures générales : matrice d adjacence et tableau de listes d incidence + Structures adaptées suivant les graphes à traiter (arbre, graphe régulier,...) La meilleure façon de coder le graphe doit être décidée en fonction du type de graphe à traiter, de l algorithme à implanter, du temps de développement,...

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Représentation des graphes Matrice d adjacence Graphe G d ordre n avec sommets numérotés 0, 1,..., n 1 La matrice d adjacence A(G) du graphe G est un tableau n n de booléens tel que A[i, j] = 1 sommets i et j sont voisins. Ex : 0 1 2 3 4 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 Test de la présence d une arête : O(1) Parcours du voisinage : O(n) Parcours de toutes les arêtes : O(n 2 ) Facile à implanter mais coûteux en place si le graphe a peu d arête

Licence 3 Informatique : cours Graphes I6S3 Chapitre I : Généralités sur les graphes Représentation des graphes Listes d incidence Graphe G d ordre n et taille m avec sommets numérotés 0, 1,..., n 1 Le tableau de listes d incidence I (G) du graphe G est un tableau de taille n tel que I [j] contient la liste des voisins du sommet n i. Ex : 0 1 4 3 2 3 0 0 1, 2 1 Test de la présence d une arête : O( ) ( = degré max) Parcours du voisinage : O( ) Parcours de toutes les arêtes : O(m) Moins facile à implanter mais plus compact.