Vous êtes sur la page 1sur 18

THEORIE DES GRAPHES

Mostafa MASLOUHI

2020 - 2021
Sommaire

1. Un peu d’historique.

2. Vocabulaire de la théorie des graphes.

3. Plus court chemin: Algorithme de Dijkstra.

4. Arbre et recouvrement minimum: Algorithme de Kruskal.

5. Coloriage d’un graphe.

Mostafa MASLOUHI 2020 - 2021


Un peu d’historique

Problème des sept ponts de Königsberg

C Le problème consiste à déterminer s'il existe ou non

une promenade permettant, à partir d'un point de départ


A
au choix (A,B,C ou D), de passer une et une seule fois par

D chaque pont, et de revenir à son point de départ.


B

Ville de Königsberg (aujourd'hui Kaliningrad (Russie)) 

Mostafa MASLOUHI 2020 - 2021


Problème des sept ponts de Königsberg

Euler a résolu, en 1736, le problème des sept ponts de Königsberg


et a montré que ce problème n’admet pas de solution.
Les techniques qu’il a utilisé, ont donné naissance à la théorie des
graphes !

C C
C
Leonhard Euler (1707 - 1783) A
D A D A D
B

B B

Mostafa MASLOUHI 2020 - 2021


D’une manière abstraite, un graphe est un couple où est un ensemble non vide d’objets
appelé sommets (Vertices en anglais) et est l’ensemble, éventuellement vide, des “arêtes” ( Edges
en anglais) reliant des sommets. Définitions

• On appelle graphe tout couple où:

- est un ensemble fini de points appelés les sommets de ,


- est une partie de , appelé ensemble des arêtes. Chaque arête relie deux
sommets qui sont alors appelés ses extrémités.

• Si les deux extrémités d’une arête sont égales, on dit que l’arête est une boucle.

• Deux sommets sont voisins ou adjacents s’ils sont reliés par une seule arête.

• Le graphe est dit orienté, si l’on tient du sens de parcours pour se déplacer entre les arêtes.

d S = {a, b, c, d, e, f, g}
g

1.2.1
a Vocabulaire
e
des graphes
A = {(a, b), (a, c), (a, d), (a, e), (b, c), (e, c), (c, f ), (e, f ), (e, d), (d, g), ( f, g)}
1. Graphes simples:f

Un graphe est dit simple s’il est sans boucle et dans lequel deux sommets sont reliés par au plus
b
une arête.
c

Graphes
2.Graphe orientés:
non orienté
On
Mostafa MASLOUHI
dira qu’un graphe est orienté, si l’on tient compte du sens de parcours dans les arêtes. 2020 - 2021
D’une manière abstraite, un graphe est un couple où est un ensemble non vide d’objets
appelé sommets (Vertices en anglais) et est l’ensemble, éventuellement vide, des “arêtes” ( Edges
en anglais) reliant des sommets. Définitions

• On appelle graphe tout couple où:

- est un ensemble fini de points appelés les sommets de ,


- est une partie de , appelé ensemble des arêtes. Chaque arête relie deux
sommets qui sont alors appelés ses extrémités.

• Si les deux extrémités d’une arête sont égales, on dit que l’arête est une boucle.

• Deux sommets sont voisins ou adjacents s’ils sont reliés par une seule arête.

• Le graphe est dit orienté, si l’on tient du sens de parcours pour se déplacer entre les arêtes.

d > g S = {a, b, c, d, e, f, g}
<
1.2.1 < Vocabulaire des graphes
<

a e > A = {(a, b), (a, c), (d, a), (e, a), (b, c), (c, e), (e, f ), (e, d), (d, g), ( f, c), ( f, g)}
>
1. Graphes simples: f
<

Un >graphe est dit simple s’il est sans boucle et dans lequel deux sommets sont reliés par au plus
>

<

une arête.
b
> c

Graphes
2.Graphe orienté orientés:
On
Mostafa MASLOUHI
dira qu’un graphe est orienté, si l’on tient compte du sens de parcours dans les arêtes. 2020 - 2021
1.2.1 Un peu
Vocabulaire des graphes de vocabulaire …

• Graphes simples:
Un graphe est dit simple s’il est sans boucle et dans lequel deux sommets sont reliés par
au plus une arête.

• Graphe biparti:
Un graphe est dit bi-partie si on peut écrire avec et et
disjoints et tels que et et .

• Chemins et cycles:
Soit un graphe et , deux sommets de . Un chemin allant de vers est une suite
d’arêtes , tel que et .
Si de plus on a , le chemin est appelé un cycle.
La longueur d’un chemin est le nombre d’arêtes qui le composent.

L1 = ((a, d), (d, g))


{L2
d g
Chemin(s) de a vers g: = ((a, e), (e, f ), ( f, g))
a
Exemple 1.2.1.
e La figure Fig. 1.2 représente un graphe …
simple et planaire.
f
Un cycle de a vers a: C = ((a, e), (e, d), (d, a))
b Fig. 1.2 Un graphe simple
c

Mostafa MASLOUHI 2020 - 2021


1.2.2 Degré d’un sommet Degré d’un sommet

Soit un graphe.

• Si est orienté et , on note:

Nombre d’arêtes entrant dans : degré entrant de .


Nombre d’arêtes sortant de : degré sortant de .
Degré total du sommet , en comptant les boucles deux fois.

• Si n’est pas orienté, le degré du sommet , noté , est le nombre d’arêtes dont
est sommet en comptant les boucles deux fois.

Le résultat
d suivant
> donne
g une relation
d entre la somme
g des degrés et le nombre
+ des arêtes:

< Dans G1: d (e) = 3, d (e) = 1
<

a
a < e > e
>
f
Soit> f
un graphe orienté. Le nombre des arêtes de est donné
Dans par =
G2: d(e) la 4formule:
<
>

<

b
b
> c c

Graphe G1 Graphe G2
En conséquence,
Mostafa MASLOUHI 2020 - 2021
d’arêtes dont est sommet en comptant les boucles deux fois.
Degré d’un sommet: Propriétés
Le résultat suivant donne une relation entre la somme des degrés et le nombre des arêtes:

Soit un graphe orienté. Le nombre des arêtes de est donné par la formule:

En conséquence,

1.2.3 Graphes complets


Un graphe complet à sommets est tout graphe de la forme où est un ensemble à
éléments et est l’ensemble de toutes les paires , telles que et . Autrement
dit, est simple sans boucle.

1.3 Connexité et distance


Remarque 1.3.1. 1. La longueur d’un chemin est égale au nombre d’arêtes qui le constituent.
Mostafa MASLOUHI 2020 - 2021
Plus court chemin: Algorithme de Dijkstra
10
10 D
5
G
Problème:
A E
4 6 8
Trouver un chemin ayant le minimum coût pour aller de A à G ?
5 F
3 3
4 Réponse: Le coût minimum pour aller de A à G est 17 suivant
B
C le chemin (A-C-F-G).
6

A B C D E F G

A 0A 3A 5A 10A 4A ∞ ∞

B 3A 5A 10A 4A ∞ ∞

E 5A 9E 4A 10E ∞

C 5A 9E 9C ∞

D 9E 9C 19D
F 9C 17F
Edsger Dijkstra (1930-2002)
G 17F

Mostafa MASLOUHI 2020 - 2021


1.6 Graphes particuliers
Graphes Eulériens
1.6.1 Cycles et chemins eulériens

Soit un graphe connexe.

• Un chemin dans est dit eulérien si dans ce chemin on passe par toutes les arêtes du
graphe une et une seule fois.

• Un chemin eulérien fermé de est appelé un cycle eulérien.

• Le graphe est dit eulérien s’il admet (au moins) un cycle eulérien.

1.6.2 Conditions nécessaires et suffisantes c


b pour l’existence de cycles eulériens
Un théorème dû à Euler donne une condition nécessaire et f suffisante pour qu’un graphe admette un
d
chemin ou cycle Eulérien. Ceci était lorsqu’il résolut
a le fameux problème des ponts de Königsberg (
appelée maintenant Kaliningrad) sur le fleuve Praegel qui coule de part et d’autre de l’île de Kneiphof.
On supposera que tous les graphes de cette section onteun nombre
g fini de sommets et d’arêtes.

Soit un graphe connexe non orienté. Alors est eulérien si et seulement si tous ses sommets
Graphe non Eulerien
ont un degré pair. Graphe Eulerien

Remarque 1.6.1. La preuve constitue une méthode de construction d’un cycle eulérien.
Mostafa MASLOUHI 2020 - 2021
Un théorème dû à Euler donne une condition nécessaire et suffisante pour qu’un graphe admette un
chemin ou cycle Eulérien. Ceci était lorsqu’il résolut
Graphes Eulériens: Caractérisation le fameux problème des ponts de Königsberg (
appelée maintenant Kaliningrad) sur le fleuve Praegel qui coule de part et d’autre de l’île de Kneiphof.
On supposera que tous les graphes de cette section ont un nombre fini de sommets et d’arêtes.

Soit un graphe connexe non orienté. Alors est eulérien si et seulement si tous ses sommets
ont un degré pair.

Remarque 1.6.1.
c La preuve constitue une méthodec de construction d’un cycle ceulérien.
b b b
Algorithme de détermination
d d’un cycle Eulérien
f h
g d’un graphe sont de degrédpair, il exite un cycle eulériend et pour gdéter-
Lorsque tous les sommets
a l’un d’entre eux, on peut s’y prendre
miner a par exemple comme suit:. a

e e g e
f f
Non Eulerien Eulerien Eulerien

C C

A D A D Non Eulerien

B
B

Mostafa MASLOUHI 2020 - 2021


1.6 Graphes particuliers 15

Exemple 1.6.4. Soit unGraphes Hamiltoniens


entier naturel. On note le graphe complet d’ordre . On a
1.6.3 Cycles et chemin
tel que , hamiltoniens
est simple sans boucles et tel que pour tout .
Alors est hamiltonien. Voir la figure 1.12.
Soit un graphe connexe.
Remarque 1.6.5. Jusqu’à
• Un chemin dans ce dit
est moment où cessilignes
hamiltonien sont
dans ce écrites,
chemin il n’existe
on passe aucune
par tous condition
les sommets
nécessaire
du et suffisante
graphe une connue (nonfois.
et une seule triviale) pour l’existence d’un cycle Hamiltonien ou un
chemin Hamiltonien. Le théorème 1.6.6 dû à Ore suivant est le seul résultat concret efficace
connu•jusqu’à
Un chemin hamiltonien fermé de est appelé un cycle hamiltonien.
nos jours.
• Le graphe est dit hamiltonien s’il admet (au moins) un cycle hamiltonien.
Théorème 1.6.6 (Ore, 1960.). Soit
c un graphe simple, tel que
c . Si pour
b b
tous sommets on a :
d 1.10 est hamiltonien par contre celui de la figure 1.11
Exemple 1.6.3. Le graphe de la figure f
est non hamiltonien. a g d
a
alors le graphe e
est Hamiltonien. f e
Non Hamiltonien Hamiltonien
Un corollaire immédiat est

Si est un graphe simple, tel que et pour tout sommet on a


Fig. 1.10 est
alors le graphe Un Hamiltonien.
graphe hamiltonien Fig. 1.11 Un graphe non hamiltonien

Exemple
Mostafa MASLOUHI 1.6.4. Soit un entier naturel. On note le graphe complet d’ordre . On a 2020 - 2021
1.7 Arbres couvrant minimums (Minimum Spanning Tree)
Graphe particulier: Arbre
1.7.1 Arbres

• Un arbre est un graphe non orienté, connexe et sans cycle.

• Un arbre couvrant d’un graphe est un sous graphe de qui est un arbre et contenant
tous les sommets de .

Exemple 1.7.1. La figure 1.13 montre un arbre.

b c b c
f f
d d
a a
e g e g
Un arbre G: N’est pas un arbre Un arbre couvrant de G

Fig. 1.13 Un arbre

Remarque 1.7.2. 1. Un arbre est toujours un graphe bi-partie: Dans le graphe de la figure
Mostafa MASLOUHI
1.13, on peut voir que et . 2020 - 2021
Théorème 1.7.3. Un graphe est un arbre si et seulement s’il y a un unique chemin qui relie
Théorème
deux 1.7.3.
sommets
et on pose Un
donnés. et
Arbre:
graphe est un Quelques
arbre si et propriétés
seulement
. Il est clair que s’il y a un unique chemin qui relie
deux sommets donnés.

Soit un graphe simple non orienté à sommets, . Alors, est un arbre si et seulement
et donc
Soit par
un itérations
graphe successives,
simple non il existe
orienté
si est connexe et admet exactement à tel
sommets, que
arêtes. . Alors, et un
est il est facile
arbre deseulement
si et montrer que
parsiconstruction,
est connexeon et
a: admet exactement arêtes.
•La propositionpour
suivante
tout montre, qu’un arbre est un graphe bi-part
La proposition suivante montre qu’un arbre est un graphe bi-part
• et pour tout ,
Proposition
Tout arbre 1.7.4.
est unTout arbre
graphe bi-partest un graphe bi-part
et ceci termine la démonstration.
Le résultat suivant est aussi important dans la théorie des arbres.
Le résultat suivant est aussi important dans la théorie des arbres.

Tout graphe connexe a un arbre couvrant.

Remarque 1.7.5. Où peut on avoir besoin des arbres couvrant minimums ?

1. Imaginer que vous avez une station de distribution d’éléctricté à un lotissement de votre
ville et que vous souhaitez que toutes les maisons de ce lotissement soient reliées à cette
station. On peut adopter une solution banale à savoir relier toutes les maisons à la station,
mais le fil électrique coûte cher au mètre et vous souhaitez minimiser le prix de votre
installation. Ainsi, on considère la station comme sommet d’un arbre et on associera
un sommet à chaque maison et une arête à chaque liaison qu’il est possible (mais pas
Mostafa MASLOUHI 2020 - 2021
nécessaire) d’installer. Il faut alors choisir l’ensemble des liaisons les plus courtes pour
Arbre couvrant minimum

10
10 D G
5
A E
4 6 8

5 F
3 3
4
B
C
6

Problème: Comment trouver un arbre couvrant de poids minimum ?

Réponse: Algorithme de Kruskal donné en 1957 !

(1928-2010)

Mostafa MASLOUHI 2020 - 2021


Arbre couvrant minimum: Algorithme de Kruskal

Arête Poids Arête Poids


10
10 D G AB 3
5 AB 3
A AC 5 CE 3
4 E
6 8 AE 4 AE 4
F AD 10 CF 4
5 3
3 BC 6 Après classement AC 5
4 CE 3 ED 5
B CF 4 BC 6
C
6 EF 6 EF 6
ED 5 FG 8
DG 10 AD 10
FG 8 DG 10

10
10 D G
5
A E
4 6 8

5 F
3 3
4
B
C
6

Mostafa MASLOUHI 2020 - 2021


registres en compilation.
Le champ d’applications de la coloration de graphe couvre notamment le problème de l’attribution
de fréquences dans les télécommunications, la conception de puces électroniques ou l’allocation de
1.11.1 Nombre
registres en Nombre Chromatique
chromatique
compilation. d’un graphe d’un graphe

1.11.1 Nombre chromatique d’un graphe


Le nombre chromatique d’un graphe est le nombre minimal de couleurs utilisé pour colorer
les sommets du graphe sans que deux sommets adjacents aient la même couleur. Ce nombre
est noté
Le nombre chromatique d’un graphe est le nombre minimal de couleurs utilisé pour colorer
les sommets du graphe . Ce nombre est noté
• Un graphe est biparti si et seulement si il est bichromatique, c.à.d .

•• Ainsi,
Un graphe
tous lesest biparti
arbres sontsi bichromatiques.
et seulement si il est bichromatique, c.à.d .

• Ainsi, tous les arbres sont bichromatiques.

1.12 Couplage et recouvrement d’un graphe


1.12 Couplage et recouvrement
1.12.1 Couplage dans un graphe d’un graphe
1.12.1 Couplage dans un graphe
Définition 1.12.1. Soit un graphe. On appelle couplage dans toute partie
telle que toute paire d’arêtes dans n’ont aucun sommet en commun.
Définition 1.12.1. Soit un graphe. On appelle couplage dans toute partie
telle que toute paire d’arêtes dans n’ont aucun sommet en commun.
Exemple 1.12.2. Donnez un couplage de taille maximal pour le graphe donné par la figure 1.18

Exemple 1.12.2. Donnez un couplage de taille maximal pour le graphe donné par la figure 1.18
Mostafa MASLOUHI 2020 - 2021