Vous êtes sur la page 1sur 15

REPRÉSENTATION

MATRICIELLE
DES GRAPHES

2018

Dr ARMAND KODJO ATIAMPO, Équipe


Math-Physique

Avril 2018
1.0
Légende
Table des
matières

I - Objectifs 4

II - Introduction 5

III - Matrices d'incidence et matrice d'adjacence 6

1. Matrice d'incidence ...................................................................................................................... 6

2. Matrice d'adjacence ...................................................................................................................... 7

IV - Ordonnancement par niveau d'un graphe orienté sans circuit 12

1. Dictionnaire des précédents et suivants ..................................................................................... 12

2. Procédure de détermination des niveaux des sommets d'un graphe orienté sans circuit ............ 13

V - Conclusion 15
Objectifs

A la fin de ce module, l’étudiant sera capable de :


Savoir représenter un graphe sous forme de matrice
Calculer les propriétés d'un graphe à l'aide de la représentation matricielle

4
Introduction

Il existe plusieurs façons de représenter un graphe. La représentation la plus naturelle ou la plus courante
lorsqu'il s'agit d'en parler ou celle qui a été à l'origine du concept, est la représentation sagittale ou
graphique. Mais cette représentation n'est pas adaptée si on veut faire des traitements à partir des
machines, sur des graphes. La représentation matricielle est l'une des plus adaptées. Cette léçon vient
donc compléter la leçon précédente en donnant un modèle de représentation des graphes adapté à l'usage
des ordinateurs.

5
Matrices d'incidence et matrice d'adjacence

Matrices d'incidence
et matrice d'adjacence I

Objectifs
A la fin de cette section , l’étudiant sera capable de :
Savoir identifier une matrice d'incidence
Savoir identifier la matrice d'adjacence

1. Matrice d'incidence
Définition : Matrice d'incidence aux arcs
Soit G =(X, U) un graphe orienté sans boucle tel que X={x 1,x2,...,xn} et U = {u1,...,um}. La matrice
d'incidence aux arcs de G est la n.m matrice A=(aij) telle que :

-->

Exemple : Exemple de matrice d'incidence d'un graphe orienté


Soit G le graphe dont la représentation sagittale est la suivante :
La matrice d'incidence est construite de la façon suivante :

-->

Les lignes représentent les sommets et les colonnes les numéros des arcs.

6
Matrices d'incidence et matrice d'adjacence

-->

Si on s'intéresse à la première ligne, on constate que le sommet 1 et sortant pour l'arc 1 donc M11 =
-1,
Le sommet 1 n'est un sommet de l'arc 2 donc M12= 0
Le sommet 1 est un sommet entrant pour l'arc 7 donc M17 =1

Remarque
Il faut noter que la numérotation des arcs est arbitraire

Remarque
Une matrice carrée n х n est dite uni-modulaire si son déterminant est soit 1 soit -1.
Une matrice rectangulaire m х n est dite totalement uni-modulaire si toutes les sous-matrices carrées
régulières extraites sont uni-modulaires.
La matrice d'incidence aux arcs d'un graphe orienté est totalement uni-modulaire

Définition : Matrice d'incidence aux arêtes


Soit G = (X, U) un graphe non orienté avec X={x 1,...,xn} et U={u1,...,um}. La matrice d'incidence
aux arêtes de G est la n х m matrice A=(aij) telle que :

-->

La matrice d'incidence aux arêtes d'un graphe n'est pas totalement uni-modulaire

2. Matrice d'adjacence
Définition : Matrice d'adjacence ou d'incidence sommet-sommet
Soit G = (X, U) un graphe orienté. La matrice d'adjacence de G, on dit aussi matrice booléenne, la n
х n matrice A=(aij) telle que :

-->

Définition : Matrice d'adjacence


Soit G = (X, U) un graphe non orienté simple d'ordre n. La matrice d'adjacence de G est la n х n
matrice A = (aij) telle que :

7
Matrices d'incidence et matrice d'adjacence

-->

Définition : Fermeture transitive d'un graphe


Soit G = (X, U) un graphe orienté.
On appelle fermeture transitive de G, le plus petit graphe transitif contenant G. C'est un graphe G'
=(X, U') ayant G comme graphe partiel et possédant le petit nombre d'arcs.

Méthode
Schématiquement, on construit U' en ajoutant à U un arc (x i,xk) qui n'appartient pas à U. si (xi,xj)U
et (xj,xk)U pour au moins un sommet xj et ce de façon itérative jusqu'à l'obtention d'un graphe
transitif.
Autrement dit la fermeture transitive d'un graphe est le plus petit graphe dans lequel il existe un
chemin f dans G d'origine x et d'extrémité y pour tous sommets x et y de G

Soit G le graphe suivant :

Sa fermeture transitive est alors :

Méthode : Algorithme de Roy-Warshall


Cet algorithme permet de construire la fermeture transitive d'un graphe G =(X, U) avec |X|=n.. Son
pseudo-code est le suivant :

8
Matrices d'incidence et matrice d'adjacence

-->

Définition : Somme et produit booléen


On appelle somme booléenne, la somme notée telle que : 00=0, 10=1, 01=1, 11=1
On appelle produit booléen, le produit tel que :
O0=0, 10=0, 01=0, 11=1.
La somme et le produit booléens de deux matrices s'obtiennent en substituant et aux
opérateurs et dans la somme et le produit matriciels usuels.

Fondamental
Si on considère la pième puissance booléenne (p un entier naturel non nul) de la matrice
booléenne M associée à un graphe G, (p fois). Elle représente la matrice d'adjacence d'un
graphe où un arc entre x et y signifie qu'il existe dans G un chemin de cardinalité p allant de
x à y.
La matrice booléenne de la fermeture transitive de G est : où n étant l'ordre de G.

Méthode : Fermeture transitive d'un graphe


Soit G = (X, U) un graphe de matrice d'adjacence M et de fermeture transitive G ∗ alors la matrice
d'adjacence M ∗ de G∗ vérifie :

-->

où la somme (au sens de l'algèbre de Boole binaire) est en fait une somme finie.

Remarque

-->

Exemple : Fermeture transitive à partir de la matrice d'adjacence


Soit le graphe G=(X, U) suivant :

9
Matrices d'incidence et matrice d'adjacence

-->

Déterminez alors sa fermeture transitive à partir de la matrice d'adjacence.


La matrice d’adjacence(matrice d'incidence sommet-sommet)est donnée par :

-->

Par la suite nous allons calculer M+ M2 . nous obtenons :

-->

M+ M2 est différent de M ,
Nous calculons M+ M2 +M3 . Nous obtenons

-->

La nouvelle matrice diffère de la précédente. Nous continuons le calcul en estimant M 4 et en faisant


la somme booléenne avec la matrice M* précédente

10
Matrices d'incidence et matrice d'adjacence

-->

Le résultat ne varie plus. alors la matrice M* représente la matrice d'incidence sommet-sommet de la


fermeture transitive . le graphe resultat est donc :

-->

11
Ordonnancement par niveau d'un graphe orienté sans circuit

Ordonnancement par
niveau d'un graphe II
orienté sans circuit

Objectifs
A la fin de cette section, l’étudiant sera capable de :
Savoir utiliser la matrice d'adjacence pour ordonnancer le sommets d'un graphe

L'ordonnancement par niveau d'un graphe permet une représentation plus simple du graphe (avec le
moins d'intersection possible des arcs), les sommets étant placés de gauche à droite par ordre
croissant des niveaux. D'autre part la recherche des chemins optimaux se fait plus facilement sur un
graphe ordonnancé par niveau.

1. Dictionnaire des précédents et suivants


Définition
Soit G = (X, U) un graphe orienté. On appelle dictionnaire des précédents (resp suivants), le tableau
à simple entrée qui à tout sommet x énumère les éléments précédents P(x)(resp les suivants S(x)).

Exemple : Dictionnaire des précédents


Soit le graphe G=(X, U) suivant :

-->

Alors pour chaque sommet x, le dictionnaire des précédents est donné par :

12
Ordonnancement par niveau d'un graphe orienté sans circuit

-->

Pour un sommet x donné, les précédents sont donnés par les origines des arcs qui arrivent au sommet
x. Ainsi si on s’intéresse au sommet x1, les arcs(x2, x1), (x3, x1) et (x4, x1) ont pour extrémité x1,
Par conséquent x2, x3, x4 sont les précédents de x1

Définition : Chemin de longueur k


On appelle longueur d'un chemin, entre deux sommets, i et j, sur un graphe G=(X,U), le nombre
d'arcs existant entre ces deux sommets. Un chemin est de longueur, k, s'il comprend k arcs et (k+1)
sommets. Un sommet seul, détermine un chemin de longueur 0.

Définition : Niveau d'un sommet


Soit G = (X, U) un graphe orienté sans circuit. On appelle niveau de x X, la longueur (au sens des
arcs) du plus long chemin ayant pour extrémité terminale x.

Exemple
Soit G=(X, U) le graphe suivant :

-->

Alors nous avons les résultats suivants :


Le niveau de x1 est 0, le niveau de x2 est 2, le niveau de x3 est 1 et le niveau de x4 est 3.

2. Procédure de détermination des niveaux des sommets d'un


graphe orienté sans circuit
Méthode : A l'aide du dictionnaire des précédents.
1) Soit N0 l'ensemble des sommets de G qui n'ont pas de précédents. N0 constitue l'ensemble des
sommets de G de niveau 0.

13
Ordonnancement par niveau d'un graphe orienté sans circuit

2) Barrer dans le dictionnaire des précédents les éléments de N 0 partout où ils se trouvent. Si un
sommet a tous ses éléments barrés, il est de niveau 1.
3) On réitère cette procédure en augmentant de 1, la valeur des niveaux jusqu'à ce que tous les
sommets soient barrés.

Méthode : A l'aide de la matrice booléenne


Soit G=(X, U) un graphe orienté ou non , on définit alors la matrice d'incidence sommet-sommet .

-->

Elle permet de définir le nombre d'arcs(arêtes) entre deux sommets.


Ainsi x1 est de niveau 0 puisque la colonne x1 vaut 0
x2 est de niveau 2. En effet ls arcs(x1,x2) et (x3, x2) arrivent au sommet x2. le sommet x1 n'ayant pas
de précédents On voit sur la matrice qu 'il n'y a qu 'un seul arc qui arrive en x 3 et il a pour origine x
1 qui n'as pas de précédent. Donc le plus long chemin ayant x 1 pour extrémité terminale est 2.

14
Ordonnancement par niveau d'un graphe orienté sans circuit

Conclusion

Cette seconde leçon constitue avec la leçon précédente , l’ensemble du vocabulaire de base nécessaire à la
bonne compréhension et à la manipulation des graphes. Les chapitres suivant vont utiliser toutes les
notions vues afin de montrer le pouvoir de résolution des graphes face à de nombreux problèmes
rencontrés aussi bien en informatique que dans l’étude des réseaux de télécommunication.

15

Vous aimerez peut-être aussi