Vous êtes sur la page 1sur 19

MATHEMATIQUES

Anne Universitaire : 2015-2016

Chapitre 4 :
GRAPHES ET RESEAUX

Professeur : Tayeb OUADERHMAN

INTRODUCTION
Lhistoire de la thorie des graphes dbute avec les travaux dEuler au XVIIIe sicle et trouve
son origine dans certains problmes, tels que celui des ponts de Knigsberg :
Rive nord

le 1
11

le 2
11
Rive sud

Figure 2.1 : Carte du village de Knigsberg

s1

s2

s4

s3

Figure 2.2 : graphe du problme des ponts de Knigsberg


Les habitants se demandaient sil tait possible, en partant dun quartier quelconque de la
ville, de traverser tous les ponts sans passer deux fois par le mme et de revenir leur point de
dpart.
Lide dEuler tait trs simple et marqua le dbut de la thorie des graphes. Tout dabord, il
remplaa la carte du village par le diagramme de figure 2.2 . Sur ce graphe les sommets s1 et

s3 reprsentent les deux rives de la rivire, les sommets s2 et s4 reprsentent les deux les, et
les sept artes reliant ces sommets correspondent aux sept ponts.
Euler a donc dmontr que la rponse cette question est ngative.
Ds lors la thorie des graphes sest alors dveloppe dans diverses disciplines telle que la
chimie, la biologie, les sciences sociales
Un graphe permet de reprsenter la structure, les connections dun ensemble complexe en
exprimant les relations entre ses lments : rseau de communication, rseaux routiers,
circuits lectriques
Les graphes permettent donc de modliser une grande varit de problmes en se ramenant
ltude de sommets et darcs. Les derniers travaux en thorie des graphes sont souvent
effectus par des informaticiens, du fait de limportance quy revt laspect algorithmique.

DEFINITIONS ET PREMIERS EXEMPLES :


Il existe plusieurs manires de caractriser un graphe, nous allons en parcourir quelques unes.
Notons immdiatement quil existe deux grands types de graphes :

Les graphes orients

Les graphes non orients

Concepts orients (digrahe)


Un graphe G(S,U) est caractris par :

Unb ensemble S={s1, s2,, sn} dont les lments sont appels sommets ou noeuds

un ensemble U={ u1, u2,, um } du produit cartsien SxS dont les lments sont
appels arcs.

On appelle le cardinal de S lordre du graphe.


Pour un arc u=( si,sj), si est lextrmit initiale, sj est lextrmit finale ( ou bien origine et
destination).
u

s1

S2

figure 2.1 : Diagramme sagittal


Un arc u=( si,si) est appel une boucle :
si

Application multivoque
sj est successeur de si si ( s i , s j ) U , lensemble des successeurs de si est not ( s i ) . (si est
1
prdcesseur de s j , ( s j ) lensemble des prdcesseurs de s j ) :
:

S P(S )
s i ( s i ) S

Exemple 1 :

s1

s4

s5

s2

s3

Figure 2.2 :
Calculer (si) pour i=1,..,5
Remarques 1:
- G peut tre parfaitement dtermin par S , .

- On peut galement dfinir une fonction telle que ( s i ) reprsente lensemble


des arcs sortant de s i et rciproquement pour ( s i ) les arcs entrants.

Concepts non orients


Lors de ltude de certaines proprits, il arrive que lorientation des arcs ne joue aucun rle.
On sintresse simplement lexistence darc (s) entre deux sommets (sans en prciser
lordre). Un arc sans orientation est appel arte. u est constitu non pas de couples, mais de
paires de sommets non ordonns.
Pour une arte (si,sj) on dit que U est incidente aux sommets si et sj .
Remarque :
Dans le cas non orient, au lieu de noter G =(S,U) et u=( ei,ej) on prfre souvent G=(S,E) et
e=[ si,sj ] .

Les graphes simples et les multigraphes


Un multigraphe G=(S,E) (ou G=(S,U)) est un graphe pour lequel il peut exister plusieurs
artes entre deux sommets.
Un graphe est simple :
o Sil nest pas multigraphe
o Sil nexiste pas de boucles.

s2

s2

s1
s1

Artes multiples

Arcs multiples

Remarque : Deux arcs de sens opposs ne sont pas des arcs multiples.
On appelle p-graphe, un multigraphe dont le nombre maximum darcs liant deux sommets ne
peut jamais excder p.
Exemple 2 : Donner un exemple de chaque type de graphes suivants :

(a) : 3-graphe dordre 4

(b) 2-graphe dordre 5

Lorsque p=1, le p-graphe devient un 1-graphe, les arcs de U tant tous distincts, U devient un
ensemble de cardinal m.

adjacence et incidence
Dfinitions :
o Deux sommets distincts dun graphe G=(S,U) sont dits adjacents si et seulement si ils
sont joints par un arc : Si s i , s j S et s i , s j U alors si est adjacent s j .
o Deux arcs distincts dun graphe sont dits adjacents si et seulement si ils ont au moins
une extrmit commune.
Un arc u= si , s j U dun graphe G S, U est dit incident si vers lextrieur et incident
s j vers lintrieur.

Dans un graphe G, le nombre darcs incidents un sommet s vers lextrieur, not d G (s ) ,


sappelle le demi-degr extrieur de s. De mme, le nombre darcs incidents s vers

lintrieur, not d G (s ) , sappelle le demi-degr intrieur de s.


Le degr dun sommet s dun graphe G, not d G (s ) , est dfini comme le nombre total darcs
ayant une extrmit en s :
d G ( s) d G ( s) d G ( s )

Remarques :
On a :

d G ( s ) ( s )

et

d G ( s ) ( s )

Le degr dun sommet dun graphe non orient est le nombre dartes qui lui sont
incidentes.

Dans le cas dun 1-graphe, on peut tout aussi bien dfinir le degr dun sommet
laide de lapplication multivoque puisque :
(s )

(s )

et

(s )

1 ( s )

Une boucle augmente de deux units le degr dun sommet concern.

Thorme 2.1 :
Pour tout graphe G S, U , la somme des degrs des sommets gale deux fois le nombre
darcs.
Preuve : exercice
Corollaire 2.1 :
Pour tout graphe G S, U , il existe un nombre pair des sommets dont le degr est impair.
Proposition 2.1 :
Soit G S, U un graphe, alors g admet au moins une paire de sommets ayant le mme degr.

Autres terminologies :
o Graphe complmentaire :

G= S, U et G S , U , s i , s j U s i , s j U et s i , s j U s i , s j U , G est le
graphe complmentaire de G.
o Graphe partiel :
G= S, U et V U , G p S , V est un graphe partiel de G.
o Sous-graphe :
G= S, U et S ' S , G ' S ' , V est un sous-graphe de G, o V est la rstriction de la
fonction caractristique de U S :
V ( x, y ) /( x, y ) U ( S 'S ' )

o Sous-graphe partiel : combiner les deux


o Graphe rflexif : s i , s i U , s i S
o Graphe symtrique : s i , s j U s j , s i U
o Graphe asymtrique : s i , s j U s j , s i U
o Graphe antisymtrique : s i , s j U et s j , s i U s i s j
o Graphe transitif : s i , s j U et s j , s k U s i , s k U
o Graphe complet : s i , s j U s j , s i U
Notons quun graphe complet et antisymtrique sappelle un tournoi, car il symbolise le
rsultat dun tournoi o chaque joueur est oppos une fois chacun des autres joueurs.

REPRESENTATION DES GRAPHES


3.1.
Matrice dadjacence
Soit G= S, U un graphe dordre n : S s1 , s 2 ,..., s n
La matrice dadjacence A(G) de G est la matrice carr nxn dfinie comme suit :
A(G ) a ij ij avec a ij est le nombre dartes (arcs) de s i s j

Remarques :
Si G est non orient alors A(G) est symtrique

Si g es simple, A(G) est une matrice boolens

Une consultation complte de A(G) occupe une place mmoire dordre n 2 , cette
reprsentation est coteuse en mmoire.

Pour les graphes simples numriss, on peut remplacer 1 par la valeur numrique
de larc.

Exemples 3.1:

s2

s3

s4

s6

0
1

0
A(G )
0
0

0
2
1
0
1

2
1
1
0
0

1
1
0
0
1

0
0
0
0
0

0
A(G ) 0
0

1
1
1

1
0

1
0

s1
s5

s1
s3

0
1

s2

3.2.
Matrice dincidence sommets-arcs
Soit G= S, U un graphe n sommets et m arcs, on lui associe une matrice D(G) n lignes
(correspondant aux sommets s1 , s 2 ,..., s n ) et m colonnes (associes aux arcs u1 , u 2 ,..., u m ) :
D (G ) ( d ij ) ij avec

d ij 1
0

si le sommet s i est l ' extrmit ter min ale de u j


si le sommet s i est l ' extrmit initiale de u j
sin on

Exemple 3.2:
On obtient facilement :
s2
1
D(G ) 1
0

0
1
1

1
0
1

s1

IV.

s3

COLORATION DES SOMMETS DUN GRAPHE

Dfinition 4.1 :
Soit un graphe G= S , E un graphe non orient. Un sous-ensemble X S est un ensemble
stable sil ne comprend que des sommets non adjacents deux deux : i, j X (i, j ) E .
Comme tout sous-ensemble dun ensemble stable est un ensemble stable, il est naturel de
chercher le cardinal maximum dun ensemble stable. Ce nombre, not (G ) , est le nombre
de stabilit.
Dfinition 4.2 :
La coloration des sommets dun graphe consiste en affectation de couleurs tous les sommets
du graphe de telle sorte que deux sommets adjacents ne soient pas porteurs de la mme
couleur.
Le nombre chromatique (G ) est dfini comme le nombre minimum de couleurs distinctes
ncessaires la coloration des sommets de G.
Un graphe G tel que (G ) k qui est colorable en k couleurs est dit k-chromatique. Une
k-coloration des sommets est une partition S1 , S 2 ,..., S k de lensemble des sommets en k
ensembles stables.
Applications : De nombreux problmes concrets, tels que certains problmes dhoraire et
dallocation de ressources, peuvent se ramener la recherche dune coloration minimale des
sommets dun graphe.

4.2.

Algorithme de coloration de Welsh et Powell


La dtermination du nombre chromatique (G ) dun graphe G= S , E , ainsi que lobtention
dune coloration minimale des sommets de G, constituent un problme assez complexe.
Certes, on peut procder de la manire suivante :
Enumrer tous les ensembles stable maximaux ;
Dduire de ce recouvrement une partition S1 , S 2 ,..., S k ;

Cependant, le nombre densembles stables maximaux sera souvent trop important pour que
cette procdure soit effectivement applicable.
Il est ds lors utile, en pratique, de recourir des algorithmes de coloration heuristique mais
simple, qui mnent une coloration des sommets non ncessairement minimale. Lalgorithme
de W&P prsent ci-dessous en est un exemple. Cet algorithme est dfini ici partir dune
matrice dadjacence A(G). Lexpression colorier le ligne i de la couleur c k est substitue
attribuer x i la couleur c k .

Ranger les sommets de S par


ordre de degrs dcroissants :
Soit A la matrice dadjacence
du graphe ainsi ordonn

k=1

N=A
A
Colorer par la couleur

ck la

premire ligne non encore


colore dans N, ainsi que la
colonne correspondante

N= ensemble des lignes non


encore colores ayant un zro
dans les colonnes de couleur c
k

Non
N=

k=k+1,
Changer de
couleur

Non

Toutes les lignes


sont colores

oui

Stop, la coloration
obtenue est une
k-coloration

4.3.

Bornes pour le nombre chromatique

Comme nous lavons mentionn, cet algorithme ne conduit pas ncessairement une
coloration minimale, de mme dailleurs que beaucoup dautres algorithmes proposs dans la
littrature. Le nombre chromatique tant gnralement inconnu, il est impossible de comparer
directement le nombre k de couleurs rsultant de lapplication de lalgorithme la valeur
optimale de (G ) . A dfaut dune valeur exacte, des bornes infrieures (G ) et
suprieures (G ) peuvent cependant tre tablies pour (G ) , aux quelles il peut tre utile
de comparer k. Citons alors quelques bornes infrieures (G ) :
n
n d min
n
(G )
(G )

(G )

o d min est le degr minimum des sommets du graphe,

n2
n 2 2m
(G ) (G ) o le cardinal de plus grand clique de G

(G )

(un clique de G est un sous-graphe complet de G).


Et les bornes suprieures (G ) suivantes :
(G ) n 1 (G ) ,
(G ) d max 1 , o d max est le degr maximum des sommets du graphe.

Exemple :
Colorons les sommets du graphe G prsent ci-dessous :
La matrice dadjacence de graphe ordonn
est :

s7
s1

0
1

0
A
0

1
1

s2

s6

s3

s5

s4

0
1
0
1
0
1
0

1
0
1
0
0
0
1

0
1
0
1
0
0
1

1
0
1
0
1
0
0

0
0
0
1
0
0
0

1
0
0
0
0
0
0

0
0
1

1
0

0
0

s8

Et les degrs de chaque sommet sont les suivants :


si
d(si)

s1
4

s2
4

s3
4

s4
3

10

s5
3

s6
2

s7
2

s8
2

Par application de lalgorithme, on obtient alors la 3-coloration suivant des sommets de G :


La couleur c1 est attribue s1 et s 4
La couleur c 2 est attribue s 2 , s 6 et s 4 ,
La couleur c 3 est attribue s 3 , s 6 et s 7
Calculons les bornes infrieures et suprieures, pour le nombre chromatique :

n
n2
n
, (G ), 2
,

n 2 m (G )
n d min
8 8
4
max
,3, ,
3
5 3

3
(G ) min n 1 (G ), k ,d max 1

(G ) max

min 6,3,5
3

On en dduit que (G ) =3, la 3-coloration obtenu par lalgorithme de W&P constitue donc
ici une coloration minimale des sommets de G.
Remarques :
On peut galement se pencher sur le problme de la coloration des artes dun graphe.
On a alors la dfinition de lindice chromatique, duale de celle du nombre chromatique
pour le cas de la coloration des sommets dun graphe. Lindice chromatique q(G) est
dfini comme le nombre minimum de couleurs distinctes ncessaires la coloration
des artes de G
Lalgorithme ncessite autant dtape que le nombre k de couleurs quil associera aux
sommets de G.

V. CONNEXITE DANS UN GRAPHE


5.1.

Chemins

Beaucoup de problmes en thorie des graphes tournent autour de lexistence de chemins pour
rendre dun sommet un autre. Nous allons dfinir dans cette section, diffrents types de
chemins correspondant diffrents types de solutions.
Dfinitions 5.1 :
Dans un graphe orient G= S, U , on appelle chemin de longueur q, une squence

u , u
1

,..., u q darcs de G telle que pour tout arc u i (i q ) lextrmit terminale de u i

concide avec lextrmit initiale de u i 1 .


Un chemin est dit simple sil ne comporte pas deux fois le mme arc.
Un chemin est dit lmentaire sil ne passe pas deux fois par le mme sommet.
Un chemin est dit eulrien sil emprunte une et une seule fois chaque arc du graphe.
Un chemin est dit hamiltonien sil emprunte une et une seule fois chaque sommet du graphe.
Un chemin dont le sommet initial concide avec le sommet terminal sappelle un circuit.

11

Tous les qualificatifs relatifs aux chemins sappliquent aussi aux circuits.

12

Remarque 5.1 :
lorsquon travaille sur un graphe non orient, on parle plutt de chane au lieu de
chemin, et de cycle au lieu de circuit.
Lorsquon travaille avec un 1-graphe, on peut galement dcrire un chemin laide
dune squence de sommets. Dans ce cas, une telle description est quivalente une
squence darcs.
Exemple 5.1 :

s1

s2

s4

s3

s1

s4

s5
s2

Figure 5.1a :

s3
Figure 5.1b :

Par rapport au graphe de la figure 5.1a, la squence s1 , s 2 , s 5 est un chemin qui relie les
sommets s1 et s 5 . Ici, nous pouvons dcrire ce chemin laide dune squence de sommets
car nous avons affaires 1-graphe. Ce chemin est la fois simple et lmentaire. Par contre,
le chemin s1 , s 2 , s 2 , s 4 , s1 est simple mais non lmentaire, et il correspond un circuit. Le
chemin s1 , s 4 , s1 , s 4 nest pas un circuit et nest ni simple, ni lmentaire. Finalement, le
chemin s1 , s 2 , s 4 , s1 est un circuit simple et lmentaire.
Par rapport au graphe de la figure 5.1b, la squence [ u12 , u 21 , u11 , u13 , u 34 ] est un chemin qui
relie les sommets s1 et s 4 . Ce chemin est simple mais nest pas lmentaire (il passe deux
fois par s1 ). Le chemin [ u13 , u 32 , u 21 ] est simple et lmentaire. Il correspond aussi un
circuit. Le chemin [ u13 , u 32 , u 21 , u11 , u12 , u 21 ] est aussi un circuit simple non lmentaire.

5.2.

Connexit

Dfinitions 5.2 :
Une chane est lquivalent dun chemin mais pour un graphe non orient. Une chane de
longueur q est une squence u1 , u 2 ,..., u q darcs (ou dartes) telle que chaque arc u i de la
squence possde une extrmit en commun avec larc prcdent, et lautre extrmit en
commun avec larc suivant.

13

Un graphe G= S, U est dit (faiblement) connexe si et seulement si, pour toute paire de
sommets s i et s j , il existe une chane s i ,..., s j reliant ces deux sommets.
Un graphe G= S, U est dit fortement connexe si et seulement si, pour toute paire de
sommets s i et s j , il existe un chemin s i ,..., s j reliant ces deux sommets.
Une composante connexe dun graphe G= S, U est dfinie comme une classe de la relation
dquivalence dans SxS telle que : xy si et seulement si, x=y ou sil existe une chane de x
y. (i.e. : cest un sous ensemble de sommets tels quil existe une chane entre deux sommets
quelconques.
Un graphe est connexe sil comporte une composante connexe et une seule. Chaque
composante connexe est un graphe connexe.
Thorme 5.1 (thorme dEuler)
Un multigraphe connexe possde une chane eulrienne si et seulement si, le nombre de
sommets de degr impair gale 0 ou 2. Cette chane est un cycle si et seulement si, ce
nombre est 0 ; autrement dit, le chemin eulrien mne dun des sommets de degr impair
lautre.
1. Autres difinitions
Un arbre est un graphe non orient simple, connexe, acyclique. Un arbre comprend
n-1 artes. Laddition dune arte entre deux sommets cre un cycle et un seul.
Fort : cest un graphe non orient acyclique (pas forcement connexe). Chaque
composante connexe dune fort est un arbre.
Arborescence : cest un graphe orient o chaque sommet possde un seul prcdent
sauf un qui nen a pas : la racine. s S , un chemin unique de la racine s. On
considre un nud si darborescence T, de racine sr, un nud sk quelconque sur le
chemin unique de sr vers si est appel anctre de si ; si est un descendant de sk . si le
dernier arc sur le chemin de sr vers si est (sp, si), alors sp est le pre de si , si est un fils
de sp . si deux nuds ont le mme pre, ils sont frres. Un nud sans fils est une
feuille. La longueur du chemin entre sr et si est la profondeur de si dans T. la plus
grande profondeur de T est la hauteur de T. Si chaque nud a au maximum deux fils,
on parle darborescence binaire.
Exemple 6.2 :

14

s1
s2

s4

s3

s5

s6

s1

s8

s7

s9

7.1.

s1

s1

Figure 6.1 : Arborescence

Arbre maximal de poids minimum

7.1.1. Graphe valu (numris)


Jusqu prsent, les graphes avec lesquels nous avons travaill ont toujours reprsent un
ensemble de sommets et un ensemble darcs (artes). Dans cette section, nous considrons un
dernier type de graphe o nous associons une valeur chacun de ces liens.
Dfinition 7.3 :
Un graphe valu G= S , E , est un graphe G= S , E auquel on a associ une application
: E dite fonction de valuation, de lensemble des artes (arcs) dans un ensemble de

valeurs .
Les valeurs associes aux artes peuvent reprsenter, selon le type de problmes, soit des
poids, soit des cots ou encore autres proprits pertinentes.
Exemple 7.1 :
Un exemple de graphe valu o les sommets pourraient reprsenter des villes et les artes les
routes reliant ces villes. La valeur associe chaque arte correspondrait alors la distance
entre deux villes le long dune route donne :

15

25
s1

11
7

s3

s2

s4

12

17

s7
28

16
5

s5
9
Figure 7.3 :

s6

Dfinitions 7.4 :
Soit G= S , E , un graphe valu. On dfinit le poids de G, comme somme des poids de
chacun de ses artes (arcs) :
( a)
aE

Si G est connexe, on appelle arbre maximal (graphe partiel de G qui est un arbre) de poids
minimum, larbre maximal de G dont le poids est minimum.
Il existe plusieurs algorithmes pour trouver larbre maximal de poids minimum dun graphe
valu. Nous en prsentons un ici, lalgorithme dit de Kruskal.

7.2.

Algorithme de Kruskal

soit G= S , E , un graphe connexe valu o S n . Alors, lalgorithme suivant ncessite


exactement n-1 tapes pour produire un arbre maximal de poids minimum de G. ltape k,
on dfinit lensemble E k form de k artes distinctes de G :
E k a1 , a 2 ,..., a k
La dfinition suivante de lalgorithme de Kruskal est inductive.
Etape k=1 : soit larte a1 E dont la valeur ( a1 ) est minimum. On choisit alors
E k a1

Etape k+1 : soit E k lensemble des artes obtenues ltape k. ltape k+1, il sagit de
choisir larte a E \ E k dont la valeur (a ) est minimum et qui nengendre aucun cycle
avec les artes de E k . Alors a k 1 a et :
E k 1 a1 , a 2 ,..., a k , a k 1

A la fin des n-1 tapes, le graphe G= S , E n 1 , est un arbre maximal de poids minimum.
Exemple 7.2 :
Appliquons lalgorithme de Kruskal sur lexemple de la figure 7.3. la premire tape consiste
choisir larte dont le poids minimum. Cest larte s 6 , s 7 dont la valeur est 5 :

16

25
s1

11
7

s7

s3

s2

s4

12

28

16
5

17

s5
9
Figure 7.3a :

s6

Ensuite, parmi les artes restantes, il sagit den choisir une de poids minimum et qui
nengendre aucun cycle. La deuxime arte s 6 , s 7 est de poids minimum mais engendre le
cycle s 6 , s 7 , s 6 ; on ne peut donc pas le choisir. Notre deuxime choix est donc larte

s1 , s 2

comme le montre le graphe suivant :


25

s1

11
7

12
s3

s2

s4

17

s7
28

16
5

s5
9
Figure 7.3b :

s6

Ensuite on choisit larte s 2 , s 3 car cest elle dont la valeur est maintenant minimum et elle
nengendre aucun cycle. De mme, on choisit par la suite larte s 5 , s 6 . On obtient le
graphe suivant :

17

25
s1

11
7

s7

s3

s2

s4

12

28

16
5

17

s5
9
Figure 7.3c :

s6

A cette tape, on voudrait maintenant choisir larte s1 , s 3 , mais celle-ci engendrerait le


cycle s1 , s 2 , s 3 , s1 . On choisit donc larte s 3 , s 4 . De mme, larte de poids minimum
suivante est s 5 , s 7 . Cependant, cette arte engendrerait le cycle s 5 , s 6 , s 7 , s 5 . Elle doit
donc tre rejete. On choisit donc larte s 2 , s 5 qui nous donne le graphe suivant :
25
s1

11
7
s2

s4

12
s3

s7
28

16

17

s5
9
Figure 7.3d :

s6

A ce graphe, on ne peut plus ajouter aucune arte sans crer de cycle. En vertu de lalgorithme
de Kruskal, on peut donc affirmer que ce graphe (celui en trait plein) correspond un arbre
maximal de poids minimum. La somme des valeurs des ses artes gale
5+7+8+9+12+17=58

18