LES GRAPHES
1)DEFINITION
graphe ( simple orienté )
DEFINITION
• Un graphe ( simple orienté ) c’est un couple ( X, U ) avec X un ensemble fini et U une partie du produit cartésien X2
Exemple :
• X = • U = • Les éléments de X sont les sommets ou points du graphe
• Les éléments de U sont les arcs du graphe
• Un graphe est valué si à chaque arc est associé un nombre
43 21 , , , xxxx
),(),,(), , (, ) ,( , ) , ( 4221433 231 xxxxxxxxxx
Représentation X=U=
43 21 , , , xxxx
),(),,(), , (, ) ,( , ) , ( 4221433 231 xxxxxxxxxx
pré\succ x1 x2 x3 x4
x1 0 1 1 0
x2 0 0 1 1
x3 0 0 0 1
x4 0 0 0 0
x4X1
X3
X2
X4 x x
x3 x x
X2 x
x1
x1 x2 x3 x4
diagramme sagittal
tableau matriciel Diagramme cartésien
2)PLANIFICATION DE L’ORDONNANCEMENT DES TACHES :
Exemple
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
DEUX METHODES
• a)La méthode P.E.R.T • b)La méthode M.P.M.
a)La méthode P.E.R.T
méthode P.E.R.T
• Chaque arc représente une tâche il est valué par la durée de la tâche
A 5
B 4
D 2
C 6
Tâches Tâches antérieures Durée
A / 5
B / 4
C B 6
D A B 2
méthode P.E.R.T
• Chaque sommet représente une étape A 5
B 4 C 6
D 2
X1
X2
X3
X4Tâches Tâches
antérieuresDurée
A / 5
B / 4
C B 6
D A B 2
méthode P.E.R.T
• Les arcs définissent les relations d’antériorité
A 5
B 4 C 6
D 2
X1
X2
X3
X4Tâches Tâches
antérieuresDurée
A / 5
B / 4
C B 6
D A B 2
méthode P.E.R.T
• Un seul arc entre deux sommets donc introduction de tâches fictives
A 5
B 4 C 6
D 2
X1
X2
X3
X4Tâches Tâches
antérieuresDurée
A / 5
B / 4
C B 6
D A B 2
Fictive durée 0
b) La méthode M.P.M.
méthode M.P.M.
• Chaque sommet représente une tâche.
•
C 6
A 5
B 4
D 2
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
méthode M.P.M.
• . On a deux tâches fictives: DEBUT FIN
•
C 6
A 5
B 4
D 2
début fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
méthode M.P.M.
• Chaque sommet représente une tâche. On a deux tâches fictives: DEBUT FIN
•
C 6
A 5
B 4
D 2
début fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
méthode M.P.M.
• Les arcs définissent les relations d’antériorité
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
0
0
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
5
0
0
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
5
4
4
0
0
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
5
4
4
6
0
0
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
5
4
4
2
6
0
0
méthode M.P.M.• Chaque arc est valué par la durée de la tâche placée à son début.
• tâche DEBUT durée 0
début
A 5
B 4
D 2
C 6
fin
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
5
4
4
2
6
0
0
4)DEFINITIONS ET AUTRES REPRESENTATIONS
• Si (x, y) U alors les sommets x et y sont adjacents, x est l’origine de l’arc et y l’extrémité.
• x est un prédécesseur (précédent) d’y
• y est un successeur (suivant) de x
• Un sommet sans prédécesseur c’est une entrée.
• Un sommet sans successeur c’est une sortie.
Tableau ou dictionnaire des prédécesseurs
sommets prédécesseurs
X1
X2
X3
X4
Tableau ou dictionnaire des prédécesseurs
sommets prédécesseurs
X1 /
X2 X1
X3 X1 X2
X4 X2 X3
sommets prédécesseurs
A
B
C
D
sommets prédécesseurs
A /
B /
C B
D A B
Tableau ou dictionnaire des successeurs
sommets successeurs
X1
X2
X3
X4
sommets successeurs
X1 X2 X3
X2 X3 X4
X3 X4
X4 /
sommets successeurs
A
B
C
D
sommets successeurs
A D
B C D
C /
D /
Matrice adjacente ou booléenne
A B C D fin
pr\suc x1 x2 x3 x4 Début 0 0
x1 0 1 1 0 A 5
x2 0 0 1 1 B 4 4
x3 0 0 0 1 C 6
x4 0 0 0 0 D 2
Dans un graphe valué on remplace les 1 par la valuation
5)ALGORITHME PERMETTANT D’OBTENIR LES NIVEAUX ( graphe sans circuit )
a) Définitions
• Un chemin c’est une suite de points d’un graphe, telle que deux points qui se suivent sont reliés par un arc direct.
• Ex:Chemins: ( x1, x3, x4 ) ; ( x1, x2, x3, x4 )
N’est pas un chemin ( x1, x3, x2 )
• Un circuit c’est un chemin non vide dont l’origine et l’extrémité sont confondus.
• Une boucle c’est : un arc (x, x)
• La longueur d’un chemin ( au sens des arcs ) c’est le nombre d’arcs qu’il faut parcourir pour aller de l’origine à l’extrémité du chemin.
• Ex:
Le chemin ( x1, x2, x3, x4 ) est de longueur
3
• Le niveau d’un sommet x c’est la longueur du plus long chemin au sens des arcs entre l’entrée et le sommet x.
• Ex:
x3 est de niveau 2 et x4 est de niveau 3
b) Recherche des niveaux • méthode :• sommets de niveau 0 : ceux qui n’ont pas de prédécesseurs.
• sommets de niveau 1 : ceux qui n’ont pas de prédécesseurs quand on a supprimé ceux de niveau 0 ,et ainsi de suite.
sommets de niveau 0 : ceux qui n’ont pas de prédécesseurs
sommets Sommets précédents
X1 /
X2 X1
X3 X1 X2
X4 X2 X3
NIVEAUX
sommets de niveau 0 : ceux qui n’ont pas de prédécesseurs
sommets Sommets précédents
X1 /
X2 X1
X3 X1 X2
X4 X2 X3
NIVEAUX N0 :X1
sommets de niveau 1 : ceux qui n’ont pas de prédécesseurs quand on a supprimé ceux de niveau 0
sommets Sommets précédents
X1 /
X2 X1 /
X3 X1 X2 X2
X4 X2 X3 X2 X3
NIVEAUX N0 :X1 N1:
sommets de niveau 1 : ceux qui n’ont pas de prédécesseurs quand on a supprimé ceux de niveau 0
sommets Sommets précédents
X1 /
X2 X1 /
X3 X1 X2 X2
X4 X2 X3 X2 X3
NIVEAUX N0 :X1 N1:X2
et ainsi de suite
sommets Sommets précédents
X1 /
X2 X1 /
X3 X1 X2 X2 /
X4 X2 X3 X2 X3 X3
NIVEAUX N0 :X1 N1:X2 N2:X3
et ainsi de suite
sommets Sommets précédents
X1 /
X2 X1 /
X3 X1 X2 X2 /
X4 X2 X3 X2 X3 X3 /
NIVEAUX N0 :X1 N1:X2 N2:X3 N3:X4
sommets de niveau 0 : ceux qui n’ont pas de prédécesseurs
Sommets Sommets précédents
A /
B /
C B
D A B
NIVEAUX
sommets de niveau 0 : ceux qui n’ont pas de prédécesseurs
Sommets Sommets précédents
A /
B /
C B
D A B
NIVEAUX N0 :A B
sommets de niveau 1 : ceux qui n’ont pas de prédécesseurs quand on a supprimé ceux de niveau 0
Sommets Sommets précédents
A /
B /
C B /
D A B /
NIVEAUX N0:A B N1:C D
3)ALGORITHME PERMETTANT D’OBTENIR LE CHEMIN DE VALEUR OPTIMALE.Cas du MPM.
Exemple
Tâches Tâches antérieures
Durée
A / 5
B / 4
C B 6
D A B 2
Date de début au plus tôt d’une tâche: valeur du chemin maximal depuis le début.
Date de début au plus tôt d’une tâche: valeur du chemin maximal depuis le début.
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
2D
6C
0
4B
0
fin
2
6
Date de début au plus tôt d’une tâche: valeur du chemin maximal depuis le début.
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
2D
4
6C
0
4B
0
fin
2
6
Date de début au plus tôt d’une tâche: valeur du chemin maximal depuis le début.
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
5
2D
4
6C
0
4B
0
fin
2
6
Date de début au plus tôt d’une tâche: valeur du chemin maximal depuis le début.
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
5
2D
4
6C
0
4B
0
10
fin
2
6
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
5
2D
4
6C
0
4B
0
1010
fin
2
6
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
4
6C
0
4B
0
1010
fin
2
6
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
30
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
0
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Date de début au plus tard d’une tâche: durée totale moins la valeur du chemin maximal de cette tâche à la fin.(donc valeur minimale).
30
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Graphe M.P.M.
30
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Tâche critique
• Une tâche est critique si tout retard apporté à son début au plus tôt retarde la date de fin au plus tôt du projet (date de début au plus tôt = date de début au plus tard ) .
Tâche critique(date de début au plus tôt = date de début au plus tard ) .
30
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Chemin critique
• Chemin critique : il est formé des tâches critiques
• Une tâche est critique si tout retard apporté à son début au plus tôt retarde la date de fin au plus tôt du projet (date de début au plus tôt = date de début au plus tard ) .
Chemin critique (date de début au plus tôt = date de début au plus tard ) .
30
5A
Début au plus tard
Début au plus tôt
duréetâche
début
0
5
4
4
2
85
2D
44
6C
00
4B
0
1010
fin
2
6
Marges
Marge totale d’une tâche
• le retard maximal que l’on peut admettre au démarrage d’une tâche sans remettre en cause la durée du projet.
• (date de début au plus tard de la tâche)-( date de début au plus tôt de la tâche)
Marge totale d’une tâche
Marges totales
date de début au plus tard de la tâche
moins date de début au plus tôt de la tâche
A: 3 - 0 = 3
B: 0 - 0 = 0
C: 4 - 4 = 0
D: 8 - 5 = 3
Marge libre d’une tâche :
• le retard maximal que l’on peut admettre au démarrage d’une tâche sans remettre en cause le début au plus tôt des tâches suivantes.
• (plus petit début au plus tôt qui suit)-(Date de début au plus tôt de la tâche)-(durée de la tâche))
Marge libre d’une tâche :Marges libres
plus petit début au plus tôt qui suit
moins Date de début au plus tôt de la tâche
moins durée de la tâche
A: 5 - 0 - 5 =0
B: 4 - 0 - 4 =0
C: 10 - 4 - 6 =0
D: 10 - 5 - 2 =3
• fin
6)ALGORITHME PERMETTANT D’OBTENIR LES CHEMINS DE LONGUEUR p
a) Définitions
• Un chemin c’est une suite de points d’un graphe, telle que deux points qui se suivent sont reliés par un arc direct.
• Ex:
• La longueur d’un chemin ( au sens des arcs ) c’est le nombre d’arcs qu’il faut parcourir pour aller de l’origine à l’extrémité du chemin.
• Ex:
b)Propriété
• Soit M la Matrice adjacente ou booléenne d’un graphe et soit Mp =(ci,j) la puissance p de M
• • alors ci,j est le nombre de chemins de longueur p allant du sommet i au sommet j.
c)Remarques
• Soit n le nombre de sommets• Si Mn 0 le graphe contient des circuits et si le terme diagonal ai,i 0 il existe au moins un chemin de longueur n de i à i (c’est à dire un circuit )
•
c)Remarques
• Soit n le nombre de sommets• Si Mn 0 le graphe contient des circuits et si le terme diagonal ai,i 0 il existe au moins un chemin de longueur n de i à i (c’est à dire un circuit )
• • Les colonnes de zéros de Mn permettent de retrouver les nivaux.
c)Remarques
• Soit n le nombre de sommets• Si Mn 0 le graphe contient des circuits et si le terme diagonal ai,i 0 il existe au moins un chemin de longueur n de i à i (c’est à dire un circuit )
• • Les colonnes de zéros de Mn permettent de retrouver les nivaux.
Exemple
• M =
a
b
c
0 0 10 1 01 0 1
Exemple
• M = M2 =
a
b
c
0 0 10 1 01 0 1
1 0 10 1 01 0 2
Exemple
• M = M2 =
• Chemins de longueur 2 :• de a à a :(a, c, a) et (a, a, a )• de a à c :(a, a, c)
a
b
c
0 0 10 1 01 0 1
1 0 10 1 01 0 2
Exemple
• M = M2 = M3 =
a
b
c
0 0 10 1 01 0 1
1 0 10 1 01 0 2
1 0 20 1 02 0 3
Exemple
• M = M2 = M3 =
• Chemins de longueur 3 :• de a à a :a->c->a->a et a->a->c->a et a->a->a->a
• de c à a :c->a->a->a et c->a->c->a
a
b
c
0 0 10 1 01 0 1
1 0 10 1 01 0 2
1 0 20 1 02 0 3
7) ALGORITHME PERMETTANT D’OBTENIR LA FERMETURE TRANSITIVE.
A) Opérations sur les relations
• a)Union• Soit R et R’ deux relations sur un ensemble E, leur réunion RR’ c’est la relation dont le graphe est la réunion des arcs de R et de R’.
• Exemple
R R’ R R’
• M= M’= =
a
b
c
0 0 10 1 01 0 1
0 1 01 1 00 0 0
a c
b b
a c
0 1 11 1 01 0 1
M M’Somme Booléenne
La matrice de R R’ c’est M M’
b)composition : R suivi de R’
R R’ R suivi de R’
• M= M’= =
a
b
c
0 0 10 1 01 0 1
0 1 01 1 00 0 0
a c
b b
a c
0 0 01 1 00 1 0
M M’Produit Booléen
La matrice de R suivi de R’ c’est M M’
B) Fermeture transitive de R :
• Transitivité• Une relation est transitive si :
• (x)(y)(z)• (( xRy et yRz ) xRz )
Pour la fermeture transitive si on a xRy et yRz on ajoute xRz par transitivité• R fermeture transitive
• sa matrice =
a
b
c a c
b
1 0 10 1 01 0 1
M̂
• Remarque :• La matrice de la fermeture transitive est
= M M[2] M[3] M[4] +……M̂
• fin
3)DEFINITIONS ET AUTRES REPRESENTATIONS
• Si (x, y) U alors les sommets x et y sont adjacents, x est l’origine de l’arc et y l’extrémité.
• x est un prédécesseur (précédent) d’y
• y est un successeur (suivant) de x
• Un sommet sans prédécesseur c’est une entrée.
• Un sommet sans successeur c’est une sortie.
Tableau ou dictionnaire des prédécesseurs
sommets prédécesseurs
X1
X2
X3
X4
sommets prédécesseurs
X1 /
X2 X1
X3 X1 X2
X4 X2 X3
sommets prédécesseurs
A
B
C
D
sommets prédécesseurs
A /
B /
C B
D A B
Tableau ou dictionnaire des successeurs
sommets successeurs
X1
X2
X3
X4
sommets successeurs
X1 X2 X3
X2 X3 X4
X3 X4
X4 /
sommets successeurs
A
B
C
D
sommets successeurs
A D
B C D
C /
D /
Matrice adjacente ou booléenne