0% ont trouvé ce document utile (0 vote)
46 vues51 pages

CH2 G&o

Transféré par

baccoucheoumaima11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues51 pages

CH2 G&o

Transféré par

baccoucheoumaima11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 51

Graphes et optimisation

Chapitre 2:

La connexité

Ghallabi Sameh
[email protected]
ISIMM
Accessibilité
graphe non orienté: Entre deux sommets, il existe une succession
d’arêtes.

• J est accessible depuis A


•A est accessible depuis J
•⇒l’accessibilité est symétrique
• ⇒Chaine
Définitions
Dans un graphe non orienté, une chaine est une suite finie,
débutant et finissant par un sommet.
 Une chaîne est une succession d'arêtes mises bout à bout.
 La longueur de la chaîne est le nombre d'arêtes qui la compose.
 On dit qu'une chaîne est fermée si ses extrémités coïncident.
 Un cycle est une chaîne fermée dont les arêtes sont toutes
distinctes.
On appelle distance entre deux sommets la longueur de la plus
petite chaîne les reliant.
 On appelle diamètre d’un graphe la plus longue des distances
entre deux sommets.
Exemple
Dans le graphe ci-contre,
 A – B – C – D – E est une chaîne de longueur 4.
 A – B – E – D – B – A est une chaîne fermée de longueur 5.
 B – C – D – E – B est un cycle de longueur 4.
Accessibilité
graphe orienté: Entre deux sommets, il existe une succession d’arcs

x4 est accessible depuis x9


x9 n’est pas accessible
depuis x4
⇒l’accessibilité est non
symétrique
⇒Chemin
Chaine - Cycle ! Graphe non
orienté
 Chaines (cas non orienté)
Liste d’arêtes consécutives (ou de sommets)
Longueur d’une chaine = nombre d’arêtes
 Cycle (cas non orienté)
Chaine fermée
Longueur d’un cycle = nombre d’arêtes
Exemple: (A, B, D, E) et (H, K, J, I, G, H)
Chemin - Circuit ! Graphe orienté
 Chemin (cas orienté)
Liste d’arcs consécutifs
Longueur d’un chemin = nombre d’arcs
 Circuit (cas orienté)
Chemin fermé
Longueur d’un circuit = nombre d’arcs
Exemple: (x1, x2, x6, x3) et (x7, x1, x11, x10, x8, x7)
Définitions
 Chaine/Cycle/Chemin/Circuit élémentaires
passe au maximum une seule fois par chacun des sommets
 Chaine/Cycle/Chemin/Circuit simples
passe au maximum une seule fois par chacun des arcs/arêtes

 (E, D, C, A, B): chaine élémentaire


(et simple)

(B, D, E, A, C): chaine élémentaire


(et simple)

(A, B, D, C, A, E, D): chaine simple


(non élémentaire)
Notions de connexité
 Connexité
Cas des graphes non orientés. Un graphe non orienté est connexe si
chaque sommet est accessible à partir de n’importe quel autre.
Exemple: le graphe non orienté suivant n’est pas connexe, car il
n’existe pas de chaîne entre les sommets a et e

Le sous-graphe défini par les sommets {a, b, c, d} est connexe.


Notions de connexité
Forte Connexité :
Un graphe orienté est fortement connexe si chaque sommet est
accessible à partir de n’importe quel autre.
Exemple,

Un graphe est Un graphe n’ est pas


fortement connexe fortement connexe

Graphe acyclique
Un graphe non orienté est dit acyclique si il ne contient pas de
cycle.
 Un graphe orienté est dit acyclique si il ne contient pas de circuit.
Notion de graphe eulérien
Un graphe est dit connexe si on peut relier deux quelconques de
ses sommets par une chaine.
Une chaine eulérienne est une chaine satisfaisant aux conditions
suivantes:
- elle contient toutes les arêtes du graphe
- chaque arête n’est pas décrite qu’une seule fois.
Plus simplement, on peut dire qu’un graphe est eulérien s’il
est possible de dessiner le graphe sans lever le crayon.

Exemple:

La chaîne B – A – D – B – C – D – E – A – C
est par exemple une chaine eulérienne.
Notion de graphe eulérien
 Un cycle eulérien est une chaine eulérienne fermée.

Exemple:

Dans le graphe ci-contre, la chaîne


A – B – C – D – E – F – A est un cycle eulérien.
Notion de graphe eulérien
Théorème d'Euler : Soit G un graphe connexe.

-G admet un cycle eulérien si, et seulement si, tous les sommets


de G sont de degré pair.

- G admet une chaîne eulérienne si, et seulement si, deux


sommets de G exactement sont de degré impair. Dans ce cas, la
chaîne est d'extrémité ces deux sommets.
Notion de graphe eulérien
Théorème : Un multigraphe orienté fortement connexe admet un
circuit eulérien si et seulement si d ◦+(si) = d ◦−(si) pour tout sommet si
∈ S.

Théorème : Un multigraphe orienté connexe admet un chemin


eulérien si et seulement si il existe deux sommets v0 et v1 tel que
-d +(v0) = d −(v0) + 1,
-d +(v1) = d −(v1) − 1
- pour tout v ∈ V \ {v0, v1}, d −(v) = d +(v),
Notion de graphe eulérien
Exercice: Montrer que le graphe suivant est eulérien
Graphes planaires
 Soit G un graphe orienté ou non. On dira que G est planaire s’il
admet une représentation où ses arêtes (ou arcs) ne se coupent pas.

Exemple:
Graphes planaires
Exercice : Montrer que les graphes suivants sont planaires :

Correction : on peut le représenter de la façon suivante.


Faces d’un graphe planaire
Etant donnée une représentation planaire d’un graphe G, le plan se
retrouve divisé en un certain nombre de régions qu’on appelle les
faces de la représentation planaire.

 Théorème d’Euler: s + f = 2 + a

 Par exemple, le graphe suivant :  possède 4 faces (notées A, B, C et D).


Faces d’un graphe planaire
Exercice:
Considérons un graphe G dont les degrés de ses sommets sont
4, 4, 4, 4, 3, 3.
a) Combien d’arêtes possède G ? Justifier.
b) Donner une représentation planaire de G en déterminant
d’abord le nombre de faces.
c) Vérifier que la somme des degrés des faces est égal au
double du nombre d’arêtes.
Graphes hamiltoniens
une chaine hamiltonienne passe une et une seule fois par chacun
des n sommets du graphe.
 On appelle cycle hamiltonien un cycle élémentaire de longueur n.
On dit qu’un graphe est hamiltonien s’il est possible de trouver un
cycle passant une et une seule fois par tous les sommets.
 Un graphe possédant un cycle ou une chaine hamiltonien sera dit
graphe hamiltonien.
Graphes hamiltoniens
Exemple:

G2

G1
le graphe suivant ne possède pas de
cycle hamiltonien, mais possède
Le graphe possède
une chaine hamiltonienne (< a, b, e,
un cycle hamiltonien
d, c >).
(< a, e, b, d, c, a >)
Graphes biparti
Un graphe est dit biparti s’il existe S1 et S2, deux sous-ensembles
de S tels
-qu'il n'y ait aucune arête entre éléments de S1 et aucune arête entre
éléments de S2
-S1 𝖴 S2 = S et S1 ∩ S2 = ∅
Graphes biparti
un graphe est dit biparti complet entre un ensemble de n
sommets et un ensemble à m sommets tel que:
-Chaque sommet du premier ensemble est relié à tous les sommets
du second ensemble.
-Si le premier ensemble m et le second ensemble n, le graphe
biparti complet est noté Kn,m.
Exemple:
arborescence
 Une arborescence est un graphe orienté sans circuit.
 Elle admet une racine s0 ∈ S telle que, pour tout autre sommet si
∈ S, il existe un chemin unique allant de s0 vers si .
Si l’arborescence comporte n sommets, alors elle comporte
exactement n − 1 arcs.
 Par exemple, le graphe suivant est une arborescence de racine a :

Racine: sommet de degré


entrant = 0
Feuilles: sommet de degré
sortant = 0
Arbre
 On appelle arbre tout graphe connexe sans cycle.
un graphe non orienté comportant n sommets, les propriétés
suivantes sont équivalentes pour caractériser un arbre :
-G est sans cycle et connexe,
- G est sans cycle et comporte n−1 arêtes,
-G est connexe et comporte n−1 arêtes,
-Nœuds de l’arbre = sommets du graphe

-Feuilles = sommets de degrés 1 / Noeuds interne = sommets de degré >


1
-Les sommets 1, 2 et 5 sont les feuilles
Codage et décodage d’un arbre –
Prüfer code
le codage de Prüfer est une méthode pour décrire de façon
compacte un arbre dont les sommets sont numérotés.

Ce codage représente un arbre de n sommets numérotés avec


une suite P=(x1,x2,x3,...,xn−2) de n-2 termes.

Une suite P donnée correspond à un et un seul arbre numéroté de 1


àn
Codage – Prüfer code
Codage d’un arbre – Prüfer code
Codage d’un arbre – Prüfer code
Codage d’un arbre – Prüfer code
Codage d’un arbre – Prüfer code
Décodage d’un arbre – Prüfer code
Décodage d’un arbre – Prüfer code

Construire l’arbre correspondant à codage de prufer suivant: [7, 6, 5, 4, 3]


Décodage d’un arbre – Prüfer code
Décodage d’un arbre – Prüfer code
Décodage d’un arbre – Prüfer code
Arbres couvrants
 Un graphe couvrant de G = (V, E) est un graphe partiel de G qui
est un arbre et qui contient tous les sommets de V.
Arbres couvrants de poids minimum
 Soit un graphe G=(V, E, w) est un graphe non orienté pondéré.

 On appelle arbre couvrant de poids minimum de G.


-noté ACPM ou MST (minimum Spanning Tree).
- Tout arbre couvrant dont la somme de poids des arêtes le
constituant est minimal.
Arbres couvrants de poids minimum
 Un graphe admet un arbre couvrant si, et seulement si, il est
connexe.
 L’arbre couvrant de poids minimal n’est pas forcément unique.
Application
 Soit le graphe G qui représente le réseau des rues d’une ville que
l’on cherche à câbler.
 Pour câbler de façon optimale cette ville il faut trouver un graphe
connexe tel que:
- Chaque sommet doit avoir accès au réseau.
- Le cout du câblage doit être minimum.
Problème
Entrée : Un graphe (non-orienté) G connexe, avec une pondération
des arêtes
w : E(G) → R +
Comment trouver un arbre couvrant, T , de G qui minimise
ω(T ) ?.

Sortie: : Un arbre couvrant T de G, de poids minimum


Algorithme Kruskal: Principe
Algorithme Kruskal: Principe
 Trier les arêtes par poids croissant
 À chaque itération, on choisit l’arête de coût minimal
 Ajouter une `a une les arêtes dans cet ordre sans créer de cycle.
 L’algorithme se termine lorsqu’on a un seul arbre.
Algorithme Kruskal:
Algorithme Kruskal:
Algorithme Kruskal: exemple
Algorithme Kruskal: exemple
Algorithme Kruskal: exemple
Algorithme Kruskal: exemple
Algorithme Kruskal: exemple
Exercice

Vous aimerez peut-être aussi