Académique Documents
Professionnel Documents
Culture Documents
Graphe
Graphe
Chapitre 4 :
GRAPHES ET RESEAUX
0
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
s1
s2
s4
s3
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
1
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.
s1 u S2
figure 2.1 : Diagramme sagittal
si
2
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 :
Remarques 1:
- G peut tre parfaitement dtermin par S , .
- On peut galement dfinir une fonction telle que ( s i ) reprsente lensemble
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 ] .
3
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
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 :
Lorsque p=1, le p-graphe devient un 1-graphe, les arcs de U tant tous distincts, U devient un
ensemble de cardinal m.
4
adjacence et incidence
Dfinitions :
o Deux sommets distincts dun graphe G=(S,U) sont dits adjacents si et seulement si ils
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 )
Autres terminologies :
o Graphe complmentaire :
5
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.
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.
6
Exemples 3.1:
0 1 0 0 0 0
1 0 2 1 0 1
0 2 1 1 0 0
A(G )
0 1 1 0 0 1
0 0 0 0 0 0
s2 s3
0 1 0 1 0 0
s1
s5
s4 s6
s1 0 2 1
A(G ) 0 0 1
0 1 1
s3
s2
On obtient facilement :
s2
1 0 1
D(G ) 1 1 0
0 1 1
7
s1 s3
k-coloration des sommets est une partition S1 , S 2 ,..., S k de lensemble des sommets en k
ensembles stables.
8
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 .
k=1
N=A
A
Non
N=
9
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
(G ) o d min est le degr minimum des sommets du graphe,
n d min
n
(G )
(G )
n2
(G )
n 2 2m
(G ) (G ) o le cardinal de plus grand clique de G
(un clique de G est un sous-graphe complet de G).
Exemple :
Colorons les sommets du graphe G prsent ci-dessous :
0 1 1 0 0 1 1 0
s1 s2 1 0 1 0 1 0 1 0
1 1 0 1 0 0 0 1
0 0 1 0 1 0 0 1
s6 s3 A
0 1 0 1 0 1 0 0
1 0 0 0 1 0 0 0
1 1 0 0 0 0 0 0
0 0 1 1 0 0 0 0
s5 s4 s8
si s1 s2 s3 s4 s5 s6 s7 s8
d(si) 4 4 4 3 3 2 2 2
10
Par application de lalgorithme, on obtient alors la 3-coloration suivant des sommets de G :
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
s1 s4
s3 s4 s5
s2 s3
Figure 5.1a :
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,
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
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 s3
s5
s4 s6 s1 s8
0
s7 s1 s1
2 1
s9
Figure 6.1 : Arborescence
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
s4
s1 11 12
s7
7 s3
8 28 16
s2 5 7
17
s5
9 s6
Figure 7.3 :
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
s4
s1 11 12
s7
7 s3
8 28 16
s2 5 7
17
s5
9 s6
Figure 7.3a :
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
25
s4
s1 11 12
s7
7 s3
8 28 16
s2 5 7
17
s5
9 s6
Figure 7.3b :
Ensuite on choisit larte s 2 , s 3 car cest elle dont la valeur est maintenant minimum et elle
17
25
s4
s1 11 12
s7
7 s3
8 28 16
s2 5 7
17
s5
9 s6
Figure 7.3c :
donc tre rejete. On choisit donc larte s 2 , s 5 qui nous donne le graphe suivant :
25
s4
s1 11 12
s7
7 s3
8 28 16
s2 17 5 7
s5
9 s6
Figure 7.3d :
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