LES GRAPHES. 1)DEFINITION graphe ( simple orienté )

Preview:

Citation preview

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

• 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

Recommended