Cours Asd Graphe
Cours Asd Graphe
Cours Asd Graphe
Ghislain PANDRY
Chercheur, Traitement du signal et des images
INTRODUCTION
GRAPHE FINI NON ORIENTE
GRAPHE FINI ORIENTE
SOUS-GRAPHE
SITUATIONS MODÉLISÉES
Les graphes modélisent de nombreuses situations concrêtes où
interviennent des objets en interaction :
Circuit électronique : lien entre les composants ;
Web : chaque page est un sommet du graphe, chaque lien
hypertexte est une arête. entre deux sommets ;
Réseau social : les sommets sont les personnes, deux personnes
sont adjacentes dans ce graphe lorsqu'elles sont
amies. Si la notion d'amitié n'est pas réciproque, le
graphe est orienté.
SITUATIONS MODÉLISÉES
Mathématiques : algèbre, combinatoire,· · · ;
Recherche opérationnelle : tournées de distribution,
ordonnancement de tâches,· · · ;
Cartographie :coloriage de carte, le plan d'une ville et de ses rues
en sens unique,routière, ferroviaire ou aériennes entre
diérentes agglomérations· · · .
GRAPHES
GRAPHES
Dénition 1
Un graphe permet de décrire un ensemble d'objets et leurs
relations, c'est à dire les liens entre les objets.
Les objets sont appelés les n÷uds, ou encore les sommets
du graphe ;
Un lien entre deux objets est appelé une arête ou un arc.
Dénition
Un graphe non orienté G est un couple (V,E), noté G=(V,E) où :
V = {vi |i ∈ I } est un ensemble ni non vide
d'objets,I :ensemble des indices. Les objets (ou éléments) de V
sont appelés les sommets {v , v , v , · · · , vn } du graphe ;
1 2 3
graphe.
E = {(vi , vj ) ∈ V × V / le sommet vi est en relation avec le
sommet vj } ;
E est un ensemble de couples non ordonnés de sommets
(vi , vj ) ∈ V × V .
lorsque les deux sommets sont confondus, on parle de boucle,
noté ek = (vi , vi ).
Ghislain PANDRY Chapitre 1: GRAPHES
INTRODUCTION
GRAPHE FINI NON ORIENTE
GRAPHE FINI ORIENTE
SOUS-GRAPHE
NOTATION
Une paire (vi , vj ) est appelée une arête ek , et est représentée
graphiquement par vi − vj . On dit que les sommets vi et vj sont
adjacents. L'ensemble des sommets adjacents au sommet vi ∈ V
DÉFINITION
1On appelle ordre d'un graphe G = (V , E ) le nombre de ses
sommets V , i.e c'est card(V ) noté également ]V .
2On appelle taille d'un graphe G = (V , E ) le nombre de ses
arêtes E , i.e c'est card(E ) noté également ]E .
EXEMPLE 1
EXEMPLE 2
Dénition
Un graphe non orienté est simple s'il ne contient ni boucle ni arête
parallèle.
PROPRIÉTÉ
Soit G un graphe simple d'ordre n. Le nombre d'arêtes m de G
vérie la relation suivante : m 6 n(n− )
2
1
EXERCICE
(d, a); (d, b); (d, e); (d, h); (d, g ) (c, b); (c, e)
δ(d) = 5 δ(c) = 2
INTERROGATION/10 MINUTES
G = (V ; E ) est-il bien déni pour :
1 V = {v ; v ; v ; v ; v } et E = ∅.
1 2 3 4 5
TD
1 Construire un graphe non orienté dont les sommets sont les
entiers compris 1 et 12 et dont les arcs représentent la relation
suivante :"LA SOMME EST MULTIPLE DE 3".
2 Déterminer le degré du graphe, l'ordre et la taille.
Dénition
Un graphe orienté G est un couple (V,E), noté G=(V,E) où :
V = {vi |i ∈ I } est un ensemble ni non vide
d'objets,I :ensemble des indices. Les objets (ou éléments) de V
sont appelés les sommets {v , v , v , · · · , vn } du graphe ;
1 2 3
graphe.
E = {(vi , vj ) ∈ V × V / le sommet vi est en relation avec le
sommet vj } ;
E est un ensemble de couples ordonnés de sommets
(vi , vj ) ∈ V × V .
lorsque les deux sommets sont confondus, on parle de boucle,
noté ek = (vi , vi ).
Ghislain PANDRY Chapitre 1: GRAPHES
INTRODUCTION
GRAPHE FINI NON ORIENTE
GRAPHE FINI ORIENTE
SOUS-GRAPHE
NOTATION
Un couple (vi , vj ) est appelé un arc ek , et es par la Fig.2
NOTATION
vj est un successeur de vi , tandis que vi est un prédécesseur
de vj .
L'ensemble des successeurs d'un sommet vi ∈ V est noté
succ(vi ) = {vj ∈ V , (vi , vj ) ∈ E }.
L'ensemble des prédécesseurs d'un sommet vi ∈ V est noté
pred(vi ) = {vj ∈ V , (vi , vj ) ∈ E }.
vi ∈V δ(vi ) = 2]E
P
EXERCICE D'APPLICATION 1
EXERCICE D'APPLICATION 2
Degrés entrants :
δ − (a) = 3,δ − (b) = 1,
δ − (c) = 2, δ − (d) = 0.
Degrés sortants :
δ + (a) = 0,δ + (b) = 2,
δ + (c) = 1, δ + (d) = 3.
CORRECTION
Degrés entrants : − (v = δ − (a) + δ − (b) + δ− (c) +
P
Pδ
vi ∈V i)
δ − (d) ⇒ vi ∈V δ − (vi ) = 6.
Degrés sortants : Pδ (vi ) += δ (a) + δ (b)
+ + + + δ+ (c) +
P
vi ∈V
δ (d) ⇒ vi ∈V δ (vi ) = 6.
+
EXERCICE D'APPLICATION
1Construire un graphe dont les sommets sont les entiers
compris 1 et 16 et dont les arcs représentent la relation
suivante :"ÊTRE PREMIER AVEC".
2Déterminer le degré de chaque sommet.
INTERROGATION LICENCE 2
1 Construire un graphe orienté dont les sommets sont les entiers
compris 1 et 21 et dont les arcs représentent la relation
suivante :"ÊTRE DIVISEUR DE".
2 Déterminer le degré entrant et le degré sortant de chaque
sommet.
DÉFINITION : SOUS-GRAPHE
un sous-graphe G 0 d'un graphe G donné est un graphe obtenu en
supprimant certains sommets et/ou arêtes.
DÉFINITION 1
Un sous-graphe de G = (V ; E0 ) (orienté ou0 non) 0engendré par un
sous-ensemble de sommets V ⊂ V est G = (V ; E 0 ) où E 0
représente toutes les arêtes de E ayant leur deux extrémités dans
V .
0
DÉFINITION 2
Un sous-graphe G = (V ; E ) (orienté ou non) est obtenu en
supprimant des sommets de V et les arêtes (ou arcs) qui lui sont
incidentes.
EXPLICATION
Un sous-graphe de G (orienté ou non) consiste à considérer
seulement une partie des sommets de V et les liens induits par E .
Ghislain PANDRY Chapitre 1: GRAPHES
INTRODUCTION SOUS-GRAPHE INDUIT
GRAPHE FINI NON ORIENTE SOUS-GRAPHE PARTIEL
GRAPHE FINI ORIENTE Chemin
SOUS-GRAPHE Chaine et cycle eulériens
REMARQUE
Dans le cas général, un sous-graphe a moins de sommets et moins
d'arêtes(ou arcs).
DÉFINITION 2
Un graphe partiel est obtenu en supprimant des arêtes (ou arcs).
REMARQUE
un graphe partiel H ⊂ G a exactement les mêmes sommets que le
graphe de départ G (orienté ou non).
DÉFINITION : Chemin
Un chemin d'un sommet v vers un sommet vj est une liste
0
DÉFINITION : Longueur
La longueur du chemin correspond au nombre d'arêtes parcourues,
i.e j − 0 = j
GRAPHE ORIENTE
un arc (j ≥ 1).
Circuit élémentaire : Ce circuit est élémentaire si, en plus, les
sommets v , v , ..., vj− , vj sont tous distincts. Une
1 2 1
GRAPHE ORIENTE
EXPLICATION
EXEMPLE 1
EXEMPLE 1
DÉFINITION
Une chaîne eulérienne est une chaîne composée de toutes les
arêtes du graphe, prises une seule fois.
Un cycle eulérien est une chaîne eulérienne dont les extrémités
coïncident ;
THÉORÈME DE EULER
Un graphe connexe admet une chaîne eulérienne entre les
sommets vi et vj si et seulement si vi et vj sont les seuls
sommets de degré impair.
Un graphe connexe admet un cycle eulérien si et seulement si
tous les sommets sont de degré pair.
le graphe non orienté suivant n'est pas connexe car il n'existe pas
de chaîne entre les sommets a et e . En revanche, le sous-graphe
induit par les sommets {a; b; c; d} est connexe.
Ghislain PANDRY Chapitre 1: GRAPHES
INTRODUCTION SOUS-GRAPHE INDUIT
GRAPHE FINI NON ORIENTE SOUS-GRAPHE PARTIEL
GRAPHE FINI ORIENTE Chemin
SOUS-GRAPHE Chaine et cycle eulériens
Vocabulaire
On retrouve les diérentes notions de connexités dans les graphes
orientés, en remplaçant naturellement la notion de chaîne par celle
de chemin : on parle de graphe fortement connexe au lieu de
connexe, de composante fortement connexe au lieu de
composante connexe
Dénition :Graphes et sous-graphes fortement connexes
Soit G = (V , E ) un graphe orienté. On appelle graphe réduit de G
le graphe Gr dont les sommets c ; ...; cp sont les composantes
1
EXEMPLE
DÉFINITION
Parcourir un graphe, c'est énumérer l'ensemble des sommets
accessibles par un chemin à partir d'un sommet donné, dans
l'objectif de leur faire subir un certain traitement. Diérentes
solutions sont possibles mais en règle générale celles-ci tiennent à
jour deux listes :
la liste des sommets rencontrés ( déjàVus ) ;
la liste des sommets en cours de traitement ( àTraiter )
Le fonctionnement des deux listes dière par la façon dont sont
insérés puis retirés les sommets.
Complexité
Types de parcours
Les parcours en largeur et en profondeur des graphes généralisent
les parcours similaires dans les arbres. Ces algorithmes servent à
rechercher des chemins et des cycles dans un graphe, à déterminer
les composantes connexes, etc. Ils nous serviront souvent en tant
que procédures de base pour d'autres algorithmes.
Parcours en Largeur
L'algorithme de parcours en largeur (appelé BFS, pour Breadth
First Search) consiste à utiliser une le d'attente pour stocker les
sommets à traiter : tous les voisins sont traités avant de parcourir
le reste du graphe. Ainsi, sont traités successivement tous les
sommets à une distance égale à 1 du sommet initial, puis à une
distance égale à 2, etc. Ce type de parcours est donc idéal pour
trouver la plus courte distance entre deux sommets du graphe.
Algorithme de Johnson
1 Ajouter un sommet q , relié à tous les autres avec un poids 0 ;
2 Lancer Bellman-Ford à partir de q pour trouver les poids h de
chaque sommet ;
3 Modier le graphe avec w (u, v ) = h(u) − h(v ) + w (u, v ) ;
4 Appliquer Dijkstra |S| fois sur le graphe (maintenant positif).
COLORIAGE DE GRAPHE
Dénition :k -coloration de G
Une k - coloration d'un graphe (simple, sans boucles)G = (V ; E )
est une application c : V → {1; 2; · · · ; k} de façon telle que les
sommets voisins ont des couleurs distinctes :
(vi , vj )i6=j ∈ E , ⇒ c(vi ) 6= c(vj )
COLORIAGE DE GRAPHE
Dénition : Stable
Un stable est un ensemble de sommets non adjacents donc une
k -coloration = un partitionnement du graphe en k stables.
COLORIAGE DE GRAPHE
COLORIAGE DE GRAPHE
Algorithme de Welsh et Powell
Cet algorithme couramment utilisé permet d'obtenir une assez
bonne coloration d'un graphe, c'est-à-dire une coloration n'utilisant
pas un trop grand nombre de couleurs. Cependant il n'assure pas
que le nombre de couleurs soit minimum (et donc égal au nombre
chromatique du graphe).
Étape 1 Classer les sommets du graphe dans l'ordre
décroissant de leur degré, et attribuer à chacun des sommets
son numéro d'ordre dans la liste obtenue.
Étape 2 En parcourant la liste dans l'ordre, attribuer une
couleur non encore utilisée au premier sommet non encore
coloré, et attribuer cette même couleur à chaque sommet non
encore coloré et non adjacent à un sommet de cette couleur.
Étape 3 S'il reste des sommets non colorés dans le graphe,
Ghislain PANDRY Chapitre 1: GRAPHES