Sunteți pe pagina 1din 43

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

SOMMAIRE
Graphes non valus............................................................................................................................................... 4
Thorie des graphes Dfinitions ...................................................................................................................... 4
Graphe orient ................................................................................................................................................ 4
Graphe non orient ......................................................................................................................................... 4
Rseau ............................................................................................................................................................ 4
Degr .............................................................................................................................................................. 4
Chemin ........................................................................................................................................................... 4
Chane ............................................................................................................................................................ 4
Circuit............................................................................................................................................................. 4
Cycle .............................................................................................................................................................. 4
Co-cycle ......................................................................................................................................................... 5
Chemin / Circuit hamiltonien ......................................................................................................................... 5
Chemin / Circuit eurlien ............................................................................................................................... 5
Connexit ....................................................................................................................................................... 5
Forte connexit............................................................................................................................................... 5
Arbre .............................................................................................................................................................. 5
Arborescence.................................................................................................................................................. 5
Reprsentation matricielle.................................................................................................................................. 5
Matrice dadjacence ....................................................................................................................................... 5
Matrice dincidence........................................................................................................................................ 6
Accessibilit ........................................................................................................................................................ 6
Fermeture transitive........................................................................................................................................ 7
Algorithme de ROY-WARSHALL............................................................................................................ 7
Parcours en profondeur dabord (dfs)............................................................................................................. 8
Numrotation prfixe ................................................................................................................................. 9
Numrotation suffixe ................................................................................................................................. 9
Algorithme rcursif.................................................................................................................................. 10
Algorithme itratif ................................................................................................................................... 10
Parcours en largeur dabord (bfs) ................................................................................................................. 10
Algorithme bfs ......................................................................................................................................... 12
Numrotation topologique............................................................................................................................ 12
Algorithme de KNUTH ........................................................................................................................... 13
Test de connexit dun graphe...................................................................................................................... 13
Algorithme de HOPCROFT, ULLMAN (TAJAN) ................................................................................. 13

Edition du 06/02/2002 23:52

Page 1 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Optimisation dans les graphes valus................................................................................................................ 14


Le plus court chemin (Pcc) ............................................................................................................................... 14
Principe doptimalit de POELLMAN......................................................................................................... 15
THEOREME - Conditions dexistence et forme du plus court chemin........................................................ 15
Plus court chemin dun sommet tous les autres..................................................................................... 15
THEOREME Ingalit de la forme ........................................................................................................... 15
Algorithme gnrique du Pcc ....................................................................................................................... 16
Optimisation de lalgorithme gnrique ....................................................................................................... 16
Graphe sans circuit................................................................................................................................... 16
Graphe valuation positive...................................................................................................................... 16
Algorithme de DIJKSTRA........................................................................................................................... 17
Algorithme de MORRE-BELLMAN (FORD)............................................................................................. 18
Algorithme de FLOYD-WARSHALL ......................................................................................................... 18
Ordonnancements ............................................................................................................................................. 19
Dfinitions.................................................................................................................................................... 19
Tches ...................................................................................................................................................... 19
Contraintes ............................................................................................................................................... 19
Ressources ............................................................................................................................................... 19
Optimisation............................................................................................................................................. 19
Diagramme de GANTT................................................................................................................................ 20
Mthode PERT............................................................................................................................................. 21
Reprsentation ......................................................................................................................................... 21
Calculs des dates ...................................................................................................................................... 21
Marge totale ............................................................................................................................................. 21
Marge libre............................................................................................................................................... 21
Optimisation............................................................................................................................................. 21
Exemple ................................................................................................................................................... 22
Mthode MPM ............................................................................................................................................. 22
Reprsentation ......................................................................................................................................... 22
Calculs des dates ...................................................................................................................................... 22
Marge totale ............................................................................................................................................. 22
Marge libre............................................................................................................................................... 23
Exemple ................................................................................................................................................... 23
Mthode SERIELLES .................................................................................................................................. 23
Objectifs................................................................................................................................................... 23
Rgles de priorits utilises...................................................................................................................... 23
Algorithme daffectation des tches......................................................................................................... 23
Optimisation............................................................................................................................................. 23
Exemple : ................................................................................................................................................. 23
Notation LAWLER ...................................................................................................................................... 25
Heuristique de SCHRACE ........................................................................................................................... 25
Rgle de JACKSON (EDD Rule) ............................................................................................................ 25
Solution de CONWAY (EAM Rule) ....................................................................................................... 25
Rgle SPT ................................................................................................................................................ 26
Solution de Mac NAUGHTON................................................................................................................ 26
Flots.................................................................................................................................................................. 26
Prsentation - Rseau de transport ............................................................................................................... 26
Loi de KIRCHHOFF.................................................................................................................................... 26
Flot maximal ................................................................................................................................................ 26
Coupe ....................................................................................................................................................... 27
Relation flot/coupe................................................................................................................................... 27
Thorme de FULKERSON .................................................................................................................... 27
Algorithme de FORD-FULKERSON ...................................................................................................... 28
Arbre couvrant de poids minimal ................................................................................................................. 30
Algorithme de KRUSKAL....................................................................................................................... 31
Algorithme de PRIM................................................................................................................................ 31
Flot maximal de cot minimal...................................................................................................................... 31
Graphe dcart associ un flot ............................................................................................................... 32
Algorithme de BUSCKER-GOWEN (ROY)........................................................................................... 32
Algorithme de KLEIN (BENNINGTON)................................................................................................ 35
Edition du 06/02/2002 23:52

Page 2 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Rseau de PETRI ................................................................................................................................................ 35


Dfinition .......................................................................................................................................................... 35
Reprsentation .................................................................................................................................................. 35
Place ............................................................................................................................................................. 35
Transition ..................................................................................................................................................... 35
Rseau .......................................................................................................................................................... 35
Marquage.......................................................................................................................................................... 36
Transition franchissable ............................................................................................................................... 36
Matrice dincidence .......................................................................................................................................... 36
Evolution du rseau .......................................................................................................................................... 37
Graphe des marquages.................................................................................................................................. 37
Accessibilit ...................................................................................................................................................... 38
t-semi flot ..................................................................................................................................................... 38
p-semi flot (Invariant) .................................................................................................................................. 38
Vivacit ............................................................................................................................................................. 40
Bornes............................................................................................................................................................... 41
Conservatif........................................................................................................................................................ 41
Verrou............................................................................................................................................................... 41
Contrle interne (par trappe) ........................................................................................................................ 42
Contrle externe (par invariant) ................................................................................................................... 42
Proprit de COMMONER............................................................................................................................... 42
Classes de rseau de Ptri................................................................................................................................ 42
Machine tats (ME) ................................................................................................................................... 42
Graphe dvnements (GE) .......................................................................................................................... 42
Rseau choix libre (CL)............................................................................................................................. 43
Rseau choix asymtrique (AC) ................................................................................................................ 43
Rseau quelconque....................................................................................................................................... 43
Complexit des algorithmes ............................................................................................................................... 43
Notation ............................................................................................................................................................ 43
Pire des cas....................................................................................................................................................... 43
Meilleur des cas................................................................................................................................................ 43
Moyenne ........................................................................................................................................................... 43

Document cr le 06 fvrier 2002 dans sa premire version


Ralis par LEFEBVRE Herv http://lifounet.multimania.com
Remerciements BESSE B. pour certains croquis et ses prises de notes complmentaires
Cette UV a t enseigne du 11/10/2001 au 24/01/2002 au CNAM - 292 rue Saint Martin - 75003 PARIS

2002

Edition du 06/02/2002 23:52

Page 3 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Graphes non valus


Thorie des graphes Dfinitions
Graphe orient
G = (X, U)
G : graphe
X : ensemble de sommets
U : ensemble darcs (sous ensemble de produit cartsien XX)
Le graphe G est dordre n, avec n = |X|.
u = (x, y) : larc u a comme extrmit initiale le sommet x et comme extrmit
terminale le sommet y .
Exemple :
G = (X, U)
X = {a, b, c}
U = {(a, a), (a, b), (c, b), (c, a)}

b
c

Graphe non orient


Un graphe non orient est dfinit par un ensemble de sommets X, et un ensemble dartes A
(qui sont des boucles ou des paires de sommets).

Rseau
Un rseau est un graphe orient valu.

Degr

Chemin
Squence darcs de U telle que lextrmit terminale dun arc concide avec lextrmit initiale
de larc suivant (sauf ventuellement pour le dernier).

Chane
Squence darcs telle que tout arc a lune de ses extrmits commune avec larc prcdent
(except pour le premier larc), et lautre avec larc suivant (except pour le dernier arc).

Circuit
Chemin dont lextrmit initiale du premier arc concide avec lextrmit terminale du dernier
arc.

Cycle
Chane dont les deux extrmits concident.
Edition du 06/02/2002 23:52

Page 4 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Co-cycle
Ensemble des artes ayant une extrmit dans le
cycle et lautre extrmit hors du cycle.

S
X

Chemin / Circuit hamiltonien


Chemin qui passe une fois et une seule par chaque
sommet.

Chemin / Circuit eurlien


Chemin qui passe une fois et une seule par chaque arc.

Connexit
Un graphe est connexe si toute paire de sommets est relie par une chane au moins.

Forte connexit
Un graphe est fortement connexe (f-connexe) si entre tout couple (x, y) de sommets existe
un chemin de x y (et donc aussi de y vers x).

Arbre
Un arbre est un graphe connexe sans cycle.

Arborescence
Une arborescence est un arbre de racine
dsigne par un sommet du graphe.

Reprsentation matricielle
Matrice dadjacence
Le matrice dadjacence du graphe G(X, U) est note A(i, j) avec i, j X ensemble des
sommets, est telle que :
Si larc (i, j ) U ensemble des arcs alors

Si (i, j ) U alors

Aij = 1

Aij = 1

sinon Aij = 0

sinon Aij = 0

Dans un graphe non orient, on a Aij = Aji.

Edition du 06/02/2002 23:52

Dans un graphe orient, i est extrmit


initiale et j est lextrmit terminale de larc
Aij.

Page 5 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

x
A=y

w
z

x y w z

0 1 0 0
1 0 1 0

0 1 0 1
0 0 1 0

x
A=y

w
z

x y w z

0 0 0 0
1 0 0 0

0 1 0 0
0 0 1 0

Matrice dincidence
Le matrice dincidence du graphe G(X, U) est note M(i, j) avec
i X ensemble des sommets et
j U ensemble des arcs

telle que :
Dans un graphe non orient :
Si le sommet i est extrmit de j
alors M ij = 1

Dans un graphe orient :


Si le sommet i est extrmit
initiale de j alors M ij = 1

Sinon M ij = 0

w
a

Si le sommet i est extrmit


terminale de j alors M ij = +1

Sinon M ij = 0

a
1
1
0
0

b
0
1
1
0

w
a

x
M =y

w
z

0
0

1
1

c
z

a b
c

x +1 0 0
M = y 1 +1 0

w 0 1 + 1
z 0 0 1

Accessibilit
Laccessibilit permet de savoir si le sommet y est accessible depuis le sommet x dans un
graphe G ( X ,U ) .
Le sommet y est accessible si et seulement sil existe un chemin de x vers y, tel que y est un
descendant de x.

Edition du 06/02/2002 23:52

Page 6 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Si ( x, y ) U alors laccessibilit est prouve.


On note tous les descendants de x par lquation logique :

x = x ( 0 ) + x (1) + x ( 2) + ... + x ( n1)


x ( 0) = I , identit de x
x ( 2 ) correspond aux descendants de x de longueur 2

Fermeture transitive
Soit le graphe G ( X ,U ) dcrit par sa matrice dadjacence A.
Tous les descendants de tous les sommets de G ( X ,U ) sont dans G = ( X , U ) .
Le graphe G = ( X , U ) sappelle la fermeture transitive de G ( X ,U ) et reflte laccessibilit
de tous les sommets de G .
Larc ( x, y ) U si et seulement si y est accessible de x.
Equation logique de la matrice :

A = A( 0) + A(1) + A( 2 ) + ... + A( n1)


A( 0 ) suppose que chaque sommet est accessible de lui-mme (boucle).
A(1) = A et A( 2) = A A

Exemple 1
Sil existe un chemin de longueur 2 : (i, j)=1 dans A2
Et Aij2 = 1 sil existe (i, j) sinon Aij2 = 0

Algorithme de ROY-WARSHALL

( )

Calcule en O m 3 la fermeture transitive dun graphe G dcrit par sa matrice dadjacence B.


Procedure ROY_WARSHALL
var A : array[1..n, 1..n] of Boolean;
var i, j, k : Integer;
Begin

{Initialisation}
for i=1 n do
for j=1 n do
begin
A[i, j]:=B[i, j];
End;
{Calcul de la matrice dadjacence A de ^G}
for k=1 n do
for i=1 n do
for j=1 n do
begin
A[i, j]:=A[i, j] or (A[i, k] and A[k, j]);
End;
End ROY_WARSHALL.

Edition du 06/02/2002 23:52

Page 7 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Parcours en profondeur dabord (dfs)


Depth First Search
On part dun sommet arbitraire x du graphe G et on visite tous les autres sommets en
sloignant dabord le plus possible de x.
A la visite dun sommet, celui-ci est mis dans une pile, et marqu afin de ne pas le visiter
une seconde fois.
Ainsi on aura tous les sommets descendants et accessibles partir de x dans une
arborescence de racine x.
On ralise un parcours en profondeur dabord sur le graphe G suivant tel que : dfs(S1)

On visite, on marque et on empile S1, puis on regarde quel


sommet suivant prendre : S3 ou S5 ?
Par convention, on prfrera ici un sommet dindice le plus faible.
On choisi donc S3.
Ensuite, on visite, on marque et on empile S3, puis on regarde le
sommet suivant.
Ensuite, on visite, on marque et on empile S2, puis on regarde le
sommet suivant.
Ensuite, on visite, on marque et on empile S5, puis on regarde le
sommet suivant.
Ensuite, on visite, on marque et on empile S4, puis on regarde le
sommet suivant.
Ensuite, on visite, on marque et on empile S6, puis on regarde le
sommet suivant.
Ensuite, on visite, on marque et on empile S7, puis on regarde le
sommet suivant.

S7
S6
S4
S5
S2
S3
S1

A cette tape, le graphe na pas t parcouru entirement, alors


on enlve un un les sommets de la pile, tant que on ne trouve
pas un autre sommet successeur non marqu visiter.
On se rend compte ici que la pile devient vide, mais il reste des
sommets non marqus.
Donc on cre un nouvel arbre de rsultat de la recherche en
profondeur, qui dbute par le sommet suivant.
On visite, on marque et on empile S8, puis on regarde le sommet
suivant.
Ensuite, on visite, on marque et on empile S9, puis on regarde le
sommet suivant.

Edition du 06/02/2002 23:52

Page 8 / 43

S9
S8

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

A cette tape, le graphe na pas t parcouru entirement, alors


on enlve un un les sommets de la pile, tant que on ne trouve
pas un autre sommet visiter.
On se rend compte ici que la pile devient vide, mais il reste des
sommets non marqus.
Donc on cre un nouvel arbre de rsultat de la recherche en
profondeur, qui dbute par le sommet suivant.
On visite, on marque et on empile S10, puis on regarde le
sommet suivant.
Mais il nexiste plus de sommet non marqu.

S10

Ainsi la recherche est termine. On dpile S10.

Rsultat de dfs(S1) :

Les diffrents arcs et sommets numrots du


graphe parcouru en profondeur :
7

S1
S3
S2

(1)

S6
S7

numrotation suffixe
Arc darbre
Arc dierct
Arc rtrograde (de retour)
Arc crois ou traversier

(3)

(4)

(5)

S4
2

numrotation prfixe

n
(2)

S5

(n)

S8

(8)

(9)

S9

10

S10

(10)

(6)

(7)

Numrotation prfixe
Cette numrotation se ralise en attribuant un nombre sincrmentant aux sommets avant
leur entre dans la pile.

Numrotation suffixe
Cette numrotation se ralise en attribuant un nombre sincrmentant aux sommets aprs
leur sortie de la pile.

Edition du 06/02/2002 23:52

Page 9 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme rcursif
Procedure Recursif_Prof(s : sommet) ;
v : sommet;
marque : boolean;
Begin
marque(s) := vrai;
Imprimer(s);{numrotation prfixe}
Pour tout v successeur de s faire
Si v non marqu alors
Recursif_Prof(v);
Fin Si
Fin Faire
Imprimer(s);{numrotation suffixe}
End.

Algorithme itratif
Procedure Iteratif_Prof(s : sommet) ;
v, u : sommet;
marque : boolean;
p : pile
Begin
vide(p);
marque(s) := vrai;
pusle(s, p);
Repeter
u := tete(p);
Pour tout v successeur de u faire
Si v non marqu alors
marque(v) := vrai;
Imprimer(v);{numrotation prfixe}
pusle(v, p);
Fin Si
Fin Faire
Imprimer(u);{numrotation suffixe}
pop(p);
Jusqu' p = vide;
End.

Parcours en largeur dabord (bfs)


Breadth First Search
On part dun sommet arbitraire s du graphe G, et on visite tous les autres sommets en
regardant dabord les plus rapidement accessibles.
Ce parcours est reprsent par une arborescence de racine s et permet de connatre toutes
les longueurs entre s et tous les autres sommets. On aura les plus courts chemins issus de s.

Edition du 06/02/2002 23:52

Page 10 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

On ralise un parcours en largeur dabord sur le graphe G suivant tel que : bfs(S1)
Graphe G :

Rsultat de bfs(S1) :

On met S1 dans la tte de la file, on le


marque et on choisit un de ses successeurs
non marqu (par convention : dindice le
plus faible).
On met S3 dans la file, on le marque.
On met S5 dans la file, on le marque.
On enlve S1 de la file, car il na pas dautre
successeur non marqu.
S3 est alors en tte de file, on choisit un de
ses successeurs non marqu.
On met S2 dans la file, on le marque.
On met S4 dans la file, on le marque.
On enlve S3 de la file, car il na pas dautre
successeur non marqu.
S5 est alors en tte de file, on choisit un de
ses successeurs non marqu.
On ne met S4 pas dans la file car il est dj
marqu.
On enlve S5 de la file, car il na pas dautre
successeur non marqu.
S2 est alors en tte de file, on choisit un de
ses successeurs non marqu.
On ne met S1 et S5 pas dans la file car ils
sont dj marqus.
On met S6 dans la file, on le marque.
On enlve S2 de la file, car il na pas dautre
successeur non marqu.

Edition du 06/02/2002 23:52

Page 11 / 43

S1

S3
S1

S5
S3
S1

S5
S3
S1

S2
S5
S3
S1

S4
S2
S5
S3
S1

S4
S2
S5
S3
S1

S4
S2
S5
S3
S1

S4
S2
S5
S3
S1

S6
S4
S2
S5
S3
S1

S6
S4
S2
S5
S3
S1

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

S4 est alors en tte de file, on choisit un de


ses successeurs non marqu.
On ne met pas S6 dans la file car il est dj
marqu.
On met S7 dans la file, on le marque.
On enlve S4 de la file, car il na pas dautre
successeur non marqu.
S6 est alors en tte de file, on choisit un de
ses successeurs non marqu.
Il ny a rien.
On enlve S6 de la file, car il na pas dautre
successeur non marqu.

S7 est alors en tte de file, on choisit un de


ses successeurs non marqu.
Il ny a rien.
On enlve S7 de la file, car il na pas dautre
successeur non marqu.

S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

S7
S6
S4
S2
S5
S3
S1

Algorithme bfs
Procedure Largeur(s : sommet);
u, v : sommet;
marque : boolean;
q : file;
Begin
Repeter
u := tete(q);
Pour tout v successeur de u Faire
Si v non marqu alors
marque(v) := vrai;
enfiler(v, q);
Fin Si
Fin Faire
defiler(q);
Jusqu' q = vide;
End.

Numrotation topologique
Cette numrotation sapplique un graphe sans circuit (graphe sans arc rtrograde). Cela
revient faire une numrotation suffixe inverse (ordre suffixe dcroissant).
Dans G = ( X , U ) , si larc x y est tel que ( x, y ) U alors NUMERO( x) < NUMERO( y )

Edition du 06/02/2002 23:52

Page 12 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme de KNUTH
(bas sur le lemme du voyageur)
Complexit : O(m)
1. Dans un graphe sans circuit il existe un sommet sans prdcesseur,
2. On attribue le numro le plus faible ce sommet et on le retire,
3. Dans le sous graphe form par les sommets non numrots (et toujours sans
circuit), il existe un sommet sans prdcesseur
4. On recommence en (2) tant que tous les sommets ne sont pas numrots.

Test de connexit dun graphe


Complexit : O(m)
On effectue un parcours en profondeur ou en largeur
On remplace successeur par adjacent ; On prend en compte les successeurs
et les prdcesseurs.
Le graphe G est connexe si la fort couvrante de G est rduite une seule arborescence.

Algorithme de HOPCROFT, ULLMAN (TAJAN)


Cet algorithme permet de dterminer les composantes fortement connexes dun graphe.

On effectue un parcours en profondeur dabord du graphe G en ralisant la


numrotation suffixe (post visite) (suff(pre)>suff(fils)).
On effectue ensuite toujours un parcours en profondeur dabord du graphe G 1
(obtenu en inversant le sens des arcs de G) en partant du sommet non visit
ayant le numro suffixe le plus lev.

Chaque arborescence de dfs (G 1 ) correspond une composante fortement connexe de G.


Le graphe est fortement connexe si et seulement si le nombre de composante fortement
connexe est de 1 (fort de dfs (G 1 ) = 1 arbre).
Graphe G :

Graphe G 1 :

b
a

c
d

Edition du 06/02/2002 23:52

b
g

d
e

Page 13 / 43

c
g
f

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Dfs(a) dans G :

Dfs(a) dans G 1 :
7

C1

b
6

g
C2

Numrotation suffixe
2

Le sommet ayant le numro suffixe le plus


grand est a .

Ce rsultat prsente deux arbres, donc le graphe


G est connexe , mais nest pas fortement
connexe.

Optimisation dans les graphes


valus
Le plus court chemin (Pcc)
G = ( X ,U , v)
v est la valuation dun arc u U , telle que v(u ) .

v : v(u ) / u U

La valeur dun chemin , note v( ) , est la somme


algbrique des arcs qui forment ce chemin.

v( ) = v(u )
u

Le plus court chemin allant de s t est le chemin de s t dont la valeur est minimale.
4 versions du
(P1)
(P2)
(P3)
(P4)

problme :
plus court chemin allant de x y
plus court chemin issu de x
plus court chemin partant de y allant en x, quelque soit y
plus court chemin allant de x y pour tout x, et pour tout y (plus court
chemin du graphe)

La rsolution de (P2) et (P3) est semblable, en prenant G pour (P2) et G 1 pour (P3).
Le problme (P1) est quivalent (P2).
Pour rsoudre (P4), on applique n fois (P2), n tant le nombre de sommets du graphe.
Edition du 06/02/2002 23:52

Page 14 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Principe doptimalit de POELLMAN


Tout sous chemin dun chemin optimal est lui-mme optimal.

THEOREME - Conditions dexistence et forme du plus court chemin


Soit s et t, deux sommets de G tel que t accessible partir de s, alors il existe un plus court
chemin de s t, si et seulement si aucun chemin de s t ne comporte de circuit de valuation
ngative.
De plus, sil existe un tel chemin, alors il en existe un qui soit lmentaire.

v( ) = v( ' ) ' lmentaire


Plus court chemin dun sommet tous les autres.
Lensemble des plus courts chemins issus de s est une arborescence A* de racine s.
Soit A, une arborescence de racine s, et x un sommet de A (avec x s) :
On appelle distance(x), la valeur du chemin unique de s x dans A (distance(s)=0).
Exemple :
avec s=a et x=f

1 : a b c f = 6
2 : a b e f = 11

On prend donc le plus court chemin ( 1 = 6 )

THEOREME Ingalit de la forme


A* est larborescence des plus court chemin issus de s dans G ( X , U ) , si et seulement si
( x, y ) U , on a dis tan ce( x) + v( x, y ) dis tan ce( y ) (avec v la valuation).
Preuve :
Supposons quil existe dans G un arc (x, y) tel que

dis tan ce( x) + v( x, y ) < dis tan ce( y )


Dans A* , le chemin s y nest pas le plus court puisque s x y est le plus

court.
Rciproque :
Soit A et supposons dis tan ce( x) + v( x, y ) dis tan ce( y ) ( x, y ) U

A = A*

Soit p un chemin quelconque dans G : s x

p : s x1 x2 ... xk
v( p) = v( s, x1 ) + v( x1 , x2 ) + ... + v( xk 1 , xk )
v( p) dist ( x1 ) dist ( s ) + dist ( x2 ) dist ( x1 ) + ... + dist ( xk ) dist ( xk 1 )
v( p) dist ( xk ) dist ( s )
or s est la racine : dist ( s ) = 0 donc
v( p) dist ( xk )
Edition du 06/02/2002 23:52

Page 15 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme gnrique du Pcc


Debut

Fin

dist(s) :=0 ;
pred(s) :=0 ;
dist(j):= + j {X {s}}
Tant Que il existe un arc (i, j) satisfaisant dist(j)>dist(i)+v(i, j)
dist(j) :=dist(i)+v(i, j)
pred(j) :=i
Fin Tant Que

Cette ide dalgorithme ne rsout pas :


la mthode dexamen des arcs,
la terminaison de lalgorithme (cas dun circuit valuation ngative).

Optimisation de lalgorithme gnrique


Graphe sans circuit
La terminaison est assure
On parcourt le graphe en profondeur dabord en effectuant une numrotation topologique,
puis on examine les arcs selon lordre topologique.
(i, j ) : i j alors numro(i ) < numro( j )
Soit deux arcs (i, j ) et (k , l )
Si numro(i ) < numro(k ) alors on examine dabord larc (i, j ) .
Exemple 1 :
En appliquant lalgorithme gnrique vu prcdemment, et en examinant chaque sommet
par ordre croissant de numro topologique, on obtient :

Graphe valuation positive


La terminaison est assure.

v ( x, y ) +
Edition du 06/02/2002 23:52

Page 16 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme de DIJKSTRA
Complexit : O(m 2 )
Calcule larborescence des plus courts chemins issus dun sommet donn source
numrot 1. Le graphe G ( X ,U , v) est valu positivement, v( x, y ) + ( x, y ) U .
Algorithme DIJKSTRA
X : ensemble d'entiers ;
d : rel ;
pre : entier ;
Dbut
{Initialisation}
X := {2, 3, ..., n} ;
d(1) := 0;
Pour i = 2 n Faire
pre(i) := 1 ;
Si i successeur de 1 Alors
d(i) := v(1, i) ;
Sinon
d(i) := + ;
Fin Si ;
Fin Pour
Tant Que X
Selectionner j X / d(j)=min d(i), i X
X := X - {j};
Pour tout i X / d(j)+v(j, i)<(d(i) Faire
d(i) := d(j) + v(j, i);
pre(i) := j;
Fin Pour
Fin Tant Que
Fin.

Exemple :

1
3

e
(1)

(8)

(0)
1

(5)
0

(3)
1

d
(2)
2

Edition du 06/02/2002 23:52

Page 17 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Excution de lalgorithme de DIJKSTRA pour les plus courts chemins issus de a :


Itration

pcc

Dist.

Pre

Dist.

Pre

Dist.

Pre

Dist.

Pre

Dist.

Pre

4-1=3

Init.

a, e

+
+
+

a, e, d

1+3=4

a, e, d, c

a, e, d, c, f

a, e, d, c, f, b

Dist.

+
+
+
+
2+4=6

Arborescence A* (a ) des plus courts chemins issus de a :


1

(1)

(0)
8

(2)

(3)

f
(5)

b
(8)

Matrices associes
Matrice des pcc
a
b
a
0
8
b
5
0
c
1
9
d
2
10
e
4
12
f
3
11

exc( x)

12

la recherche des plus courts chemins issus de tous les sommets :


Matrice de routage
c
d
e
f
a
b
c
d
e
f
4
3
1
5
a
a
b
e
e
e e
4 3 5 5
b
b
0
3
c
c
f
1
0
d
c
d
c
3
2
0
e
d d
e d
3
0
f
e
f

Lexcentricit dun graphe G ( X , U ) est dfinit telle que :

exc( x) = max{PlusPetiteDis tan ce( y, x)}/ x, y X

Le centre du graphe est le sommet ayant lexcentricit minimale (sommet c dans lexemple).

Algorithme de MORRE-BELLMAN (FORD)


Cf. cours 4

Algorithme de FLOYD-WARSHALL
Cf. cours 4

Edition du 06/02/2002 23:52

Page 18 / 43

10863.doc

Pre
a
a
a
a
c

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Ordonnancements
Le but est de programmer lexcution dune ralisation en attribuant des ressources aux
tches et en fixant leurs dates dexcution.

Dfinitions
Tches
I = {i0 , i1 , i2 ,..., in } : ensemble de tches
i : tche
pi : dure dexcution absolue
ri : date de disponibilit
d i : date limite de fin au plus tard
ti : date de dbut dexcution de la tche i

ci : date de fin dexcution de la tche i


si la tche i nest pas morcelable, on a : ci = ti + pi

i I / ri ti < ci d i nest pas toujours ralisable, on aura la contrainte daccepter ci d i .


Contraintes
Logique de succession :
La tche j ne peut pas commencer avant la fin de la tche i.
Si les tches sexcutent en parallle, la complexit
augmente.

pi

t j ti pi

Ressources
Une ressource R1, non infinie, peut tre utilise pour lexcution des tches i et j.
Cest alors une contrainte de disjonction.

Optimisation
Le but est de minimiser la date Cmin de fin dexcution de toutes les tches raliser, on
parle de make spain .

Cmin = min[Cmax ] avec Cmax = max[ci ]


iI

limite, retard dexcution dune tche : Li = max[0, ci d i ]


iI

min Li
iI

w .L

On minimise (pondre) en priorisant par w : min

Edition du 06/02/2002 23:52

iI

Page 19 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Diagramme de GANTT
Prsentation de solution dordonnancement par un exemple :
Tches
Dure dexcution
Ressource 1

(renouvelable)

Ressource 2

(renouvelable)

Date de dbut dexcution


Date de fin dexcution

I ={
pi = {

R1 = {
R2 = {
ti = {

ci = {

10

10

10

10

13

15

}
}
}
}
}
}

Evolution des tches dans le temps

En pratique, si on a pas assez de


ressource pour travailler, on remet
plus tard le travail non raliser :
on lisse la courbe dutilisation de la
ressource autour dun seuil
maximal.

Edition du 06/02/2002 23:52

Page 20 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Mthode PERT
Cette mthode amricaine suppose les ressources illimites.
ri = 0i I : date de disponibilit nulle : on excute la tche ds que cest possible.

d i = i I : La date limite de fin au plus tard nexiste plus.


Reprsentation
La reprsentation de lordonnancement est faite par un graphe sans circuit.
G ( X ,U ) X : ensemble des tats ou vnements (sommets)
U : ensemble des tches (arcs)
i

(i, j)

ti ti*

v(i,j)

t j t *j

(i, j ) : Tche de dure

ti : Date de ralisation de la tche (i, j ) au plus tt.

ti* : Date de ralisation de la tche (i, j ) au plus tard.

Calculs des dates


t j = max (ti + v(i, j ))
i pred ( j )

On parcourt le graphe du dbut la fin.

ti* = min t *j v(i, j )


jsucc ( i )

Marge totale

v(i, j ) .

On parcourt le graphe de la fin au dbut.

M (i, j ) = t *j ti + v(i, j )

La marge totale ne peut pas tre ngative. M (i, j ) 0

Si M (i, j ) = 0 , alors la tche (i, j ) est dite critique.

Marge libre
m(i, j ) = t j (ti + v(i, j ))

La marge libre de la tche (i, j ) respecte m(i, j ) M (i, j )

Optimisation
En gnral, on dsire minimiser la date de fin dexcution de toutes les tches. Mais les
contraintes de succession des tches constituants un projet font que ce projet se termine
*
la date t FIN ( t FIN = t FIN
).
On a donc Cmax t FIN , on ne peut pas faire mieux que Cmax = t FIN .
La date t FIN reprsente la valeur du plus long chemin dans le graphe, ce chemin est dit
critique car les arcs le composants sont les tches marge totale nulle.

Edition du 06/02/2002 23:52

Page 21 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Exemple
Contrainte de
succession

Tche

Dure

1
3

Dbut

A
B
C
D
E
F
G
Tche
Tche
Tche
Tche
Tche
Tche
Tche

A
A
C, G
D
C
-

3
8
5
1
4
2
6

A = (0, 1)
B = (1, 5)
C = (1, 2)
D = (3, 4)
E = (4, 5)
F = (2, 5)
G = (0, 3)

Tche = (2, 3)

0
0

5
C

6
8

2
8

Fin
2

13 13
4

1
D

E
9

La tche D doit commencer lorsque C et G sont termines, cette


contrainte de succession est rendue possible par lajout dune
tche fictive de dure nulle.
Chaque arc nayant pas de sommet initial est regroup sur un
sommet 0 de dbut.
Chaque arc nayant pas de sommet terminal est regroup sur
un sommet 5 de fin.
Chemin critique : {(0,1), (1,2), ( 2,3), (3,4), ( 4,5)} = {A, C , , D, E}

Mthode MPM
Cette mthode franaise suppose les ressources illimites.
ri = 0i I : date de disponibilit nulle : on excute la tche ds que cest possible.

d i = i I : La date limite de fin au plus tard nexiste plus.


Reprsentation
La reprsentation de lordonnancement est faite par un graphe sans circuit.
Il nexiste pas de tche fictive dans cette mthode.
G ( X ,U ) X : ensemble des tches (sommets)
U : ensemble des relations de procdure (arcs)
i

(i, j)

ti ti*

v(i,j)

t j t *j

i : Tche de dure v(i, j ) .


ti : Date de dbut de ralisation de la tche i au plus tard.
ti* : Date de fin de ralisation de la tche i au plus tard.

Calculs des dates


t j = max (ti + v(i, j ) )
i pred ( j )

t = min t *j v(i, j )
*
i

jsucc ( i )

Marge totale
M j = t *j t j

La marge totale de la tche j ne peut pas tre ngative. M j 0

Si M j = 0 , alors la tche j est dite critique.


Edition du 06/02/2002 23:52

Page 22 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Marge libre
m j = min (ti (t j + v(i, j ) ))
isucc ( j )

La marge libre de la tche j respecte 0 m j M j

Exemple
Cf. cours/ED 7

Mthode SERIELLES
Le principe est de rguler lutilisation des ressources en organisant lordre dexcution des
tches.
Une tche est dite disponible un instant t, si les contraintes de prcdence (potentielles) et
les contraintes cumulatives (disjonctives) font que les ressources ncessaires sont suffisantes
pour son excution.

Objectifs

Ordre de priorit sur les tches disponibles


Minimiser Cmax , en sachant que Cmax avec ressource Cmax sans ressource

Rgles de priorits utilises

Ordre croissant des dates au plus tard de dbut dexcution ( ti* )

dates au plus tard de fin dexcution des tches non morcelables ( ti* + pi )

Algorithme daffectation des tches


Tant que toutes les tches nont pas t affectes Faire
Choisir le plus petit instant t o la tche est disponible
Affecter t la tche disponible la plus prioritaire
Fin Tant que

Optimisation
Cette mthode choisi une solution assez bonne rapidement, mais ne donne pas loptimum.
Dans certains cas, le fait de retarder lexcution dune tche suffit librer suffisamment de
ressource pour traiter les tches restantes en un temps infrieur celui obtenu par la
mthode SERIELLES.

Exemple :
Ressource utilise par tche
A
B
C
D
E
3
3
1
3
2
0
0
2
1
1

Ressource
R1
R2
A
0

Dbut
0

0
0

Ressource
disponible
4
2
Reprsentation MPM

Fin

10 10

13 13

Priorit des tches selon ti* : { A, B, C, D, E }


Edition du 06/02/2002 23:52

Page 23 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

t=0 :

Tches classes par priorit, non affectes = { A, B, C, D, E }


Tches disponibles = { A, B }
R1<RA1+RB1 donc la tche B devient indisponible et on affecte A R1.

t=5 :

Tches classes par priorit, non affectes = { B, C, D, E }


Tches disponibles = { B, C }
R1=RB1+RC1 donc on affecte B R1
R2=RC2 donc on affecte C R1 et R2

t=8 :

Tches classes par priorit, non affectes = { D, E }


Tches disponibles = { }
Il ny a pas assez de ressource R2 pour rendre disponible D, car C nest pas termine

t=10 :

Tches classes par priorit, non affectes = { D, E }


Tches disponibles = { D }
R1<RD1 et R2<RD2 donc on affecte D R1 et R2.

t=12 :

Tches classes par priorit, non affectes = { E }


Tches disponibles = { E }
R1<RE1 et R2<RE2 donc on affecte E R1 et R2.

t=15 :

Tches classes par priorit, non affectes = { }


Tches disponibles = { }
Toutes les tches ont t affectes et ralises.

Edition du 06/02/2002 23:52

Page 24 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Notation LAWLER
Les problmes dordonnancement sous machine (problme datelier) sont classs selon la
notation de LAWLER.

Environnement :
Une machine
Fonctionnement en
parallle
Ordre de passage fix

Contraintes sur les tches :


Prcdence
Premption
Priorit
Morcellement
ri , d i

Critres doptimisation :
min(Cmax )

min( Limax )

Problme 1 machine

Soit la notation {1 / ri , d i / Cmax }

1. (i, j ) I I , on a t j ti + pi ou ti t j + p j (1 seule tche la fois par machine)


2. i , on a ti ri
3. i , on a ti + pi d i
Sil nexiste pas dordonnancement, on ne peut pas respecter la contrainte (3), on aboutit
donc : {1 / ri , d i / Lmax }
Il nexiste donc pas dalgorithme efficace, cest un problme dit NP-COMPLET.

Heuristique de SCHRACE
Le but est de minimiser le retard.

S : ensemble des tches ordonnances


t = inf ri
S =

S =I

Tant que S I Faire


linstant t , affecter parmi les tches i S / ri t celle qui doit se terminer le plus
tt (date limite de fin au plus tard d i minimale)

S = S {}
i
t = max(ti + pi , inf ri )
iS

Fin Tant que

Rgle de JACKSON (EDD Rule)


Dans le cas o ri = 0 , lheuristique de SHRACE donne la solution optimale {1 / d i / Lmax }, dite
Earliest Due Date Rule .

Solution de CONWAY (EAM Rule)


Si les tches sont morcelables, le problme est moins complexe (programmation linaire).

La solution p / /

C } est dite Earliest Available Machine Rule .


j

: somme des dates de fin dexcution

p : dcrit p machine(s) fonctionnant en parallle

Edition du 06/02/2002 23:52

Page 25 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Rgle SPT
Si toutes les tches ont le mme poids, la rgle Short Processing Task donne la dure
dexcution la plus faible.

Solution de Mac NAUGHTON

Cette solution rpond la notation : {p / premption / Cmax }

pi avec p : dure dexcution absolue


B = max max( pi ),
i
iI
p

Elle considre toutes les tches des p machines comme sil existait une unique machine.

Flots
Prsentation - Rseau de transport
Un rseau de transport est modlisable par un graphe G orient valu, qui admet une entre
unique S (source) et une sortie unique P (puit).

G = ( X ,U ,V )
Il existe un chemin S x P tel que x X avec x S et x P .
Chaque arc ( x, y ) du rseau est valu selon la notation suivante :

b : borne infrieure du flux


V ( x, y ) = (b, c, d )
c : borne suprieure du flux (capacit de larc)
d : cot unitaire de transport
On a souvent la borne infrieure du flux nulle : b = 0 .
Le flux f sur larc ( x, y ) peut varier entre b et c : b( x, y ) f ( x, y ) c( x, y )

Loi de KIRCHHOFF
Dans un rseau lectrique, la somme algbrique des courants aboutissant un noeud est
nulle, [] .
Cette loi, utilise en lectricit depuis 1845, rgie la contrainte de conservation de flux en un
sommet donn.
Flux entrants :

f ( X , x) =

f ( y, x)
yX

x S
x P

Flux sortants :

f ( x, X ) = f ( x , y )
yX

f ( x, X ) f ( X , x ) = 0
avec x S et x P

Flot maximal
Soit v la valeur du flot f destination du puit P, venant de la source S. Lobjectif est de
maximiser cette valeur v , qui ne pourra pas dpasser la capacit la plus faible rencontre.

Edition du 06/02/2002 23:52

Page 26 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Coupe
Soit deux partitions A et A de lensemble des sommets X , telle que A A = X et
A A = alors ( A, A ) est appele coupe si et seulement si la source est dans une partition

S A et le puit dans lautre P A .

Relation flot/coupe
Soit un flot f quelconque de valeur v sur des arcs ( x, y ) de capacit c dans une
coupe ( A, A ) , on a :
f ( A, A ) = f ( x, y )
v = f ( A, A ) f ( A , A)
xA, yA
f ( A , A) = f ( x, y )
avec

yA, xA

v c( A, A )

c ( x, y )

c( A, A ) =

xA, yA

f ( A, A )

f ( A , A)

Dmonstration :Cf. cours 8

Si on est capable dexhiber une coupe ( A, A ) et de dterminer un flot f dont sa valeur v


est telle que

v = c( A, A )
alors f est un flot de valeur maximale.

Thorme de FULKERSON

max(v) = min (c( A, A ) )

On amliore progressivement en favorisant


lapparition de la coupe de capacit minimale.

f ( A, A ) = c( A, A )

saturation

On cherche donc :
S

Saturer f ( A, A ) pour arriver utiliser


toute la capacit f ( x, y ) = c( x, y )

Rendre nul le flux de type f ( A , A)

Edition du 06/02/2002 23:52

Page 27 / 43

f ( A , A) = 0
anti-saturation

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme de FORD-FULKERSON
A

Algorithme de marquage :
x
f ( x, y ) < c ( x, y )
y (+ x)
Marquer S par (+ )
Rpter
x
f ( y, x) > 0
y ( x)
Pour tout sommet x marqu non encore trait
P
S (+ )
Pour tout arc x y ( y succ( x) )
Si y non marqu et f ( x, y ) < c( x, y ) (arc non satur) Alors
Marquer y par (+ x)
Fin Si
Fin Pour
Pour tout arc y x ( y pred (x) )
Si y non marqu et f ( y, x) > 0 (arc non anti-satur) Alors
Marquer y par ( x)
Fin Si
Fin Pour
Fin Pour
Tant quon marque de nouveaux sommets
Si le sommet P nest pas marqu Alors
Le flot est maximal
Sinon
Augmenter le flot
Fin Si
Augmentation possible du flot :

m = +
y=P

Tant que y S
Si y est marqu par (+ x)

m = min (m , c( x, y ) f ( x, y ) )

(Capacit rsiduelle minimale rencontre sur P S )

Fin Si
Si y est marqu par ( x)

m = min (m , f ( y, x) )

(Flux minimal rencontr sur P S )

Fin Si
Fin Tant que
Augmenter le flot :

y=P

Tant que y S
Si y est marqu par (+ x)

f ( x, y ) = f ( x, y ) + m
Fin Si
Si y est marqu par ( x)

f ( y, x) = f ( y, x) m
Fin Si
Fin Tant que

Edition du 06/02/2002 23:52

Page 28 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Exemple
Soit le graphe orient et valu suivant :

b = 0

Valuation c = capacit
d = cot (non pris en compte)

10

On chercher le flot complet du rseau.

a
(+S)

7 [0]

8 [0]

(+)

(+S)

10 [0]

8 [0]
4 [0]

3 [0]
3 [0]

7 [0]

8 [0]

(+)

(+S)

10 [0]

8 [0]
4 [0]

d
4 [0]

3 [0]
3 [0]

7 [0]
6 [0]

() Marquage

[] Flot

4 [0]

7 [4]

S
(+)

8 [0]

b
10 [0]

(+S)

8 [4]
4 [0]

7 [0]

3 [0]
3 [0]

[] Flot
Capacit

4 [4]
7 [0]

(+a)

4 [0]

On va donc augmenter le flot sur cette


chane, au maximum, cad jusqu la
capacit minimale de la chane.
Le flot sur cette chane amliorante est
maintenant :

La capacit minimale de la chane : 4

6 [0]

(+a)

f1 / v1 = 4

P
(+c)

6 [0]

On remarque que le flot est complet


dans c P , cet arc est satur.

() Marquage

e
(+b)

Edition du 06/02/2002 23:52

P
(+c)

() Marquage

3 [0]

2 [0]

S 7-0=7 a 8-0=8 c 4-0=4 P

(+a)

4 [0]

(Parcours en largeur dabord)

Augmentation possible du flot dans la


chane amliorante :

c
(+a)

Lordre dans lequel on traite les


sommets marqus est une file :
S, a, b, c, d, e, P

Capacit

(+b)

P
(+c)

(+S)

Premier marquage :

4 [0]

(+a)

3 [0]

2 [0]

Capacit

(+b)

(+S)

(+a)

3 [0]

2 [0]

[] Flot
Capacit

Page 29 / 43

[]

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

a
(-c)

7 [7]

S
(+)

8 [0]

b
10 [7+1] (+S)

8 [4]

Cours de MOCA B1 (10863) 2001-2002 du CNAM


A la sixime itration de marquageaugmentation du flot, on arrive :

c
(+b)

4 [3]
2 [1+1]
3 [3]
3 [3]

3 [1+1]

4 [4]

7 [7]

(+c)

4 [1]

Le flot sur cette chane amliorante est


maintenant :

P
(+e)

f 6 / v6 = 1

6 [3+1]
() Marquage

On remarque que le flot est complet


dans b c , cet arc est satur.

[] Flot

(+d)

Capacit

Nouveau marquage :
Coupe de capacit minimale

a
()

7 [7]

S
(+)

8 [0]

b
10 [8]

(+S)

8 [4]

()

4 [3]

3 [2]

2 [2]
3 [3]
3 [3]

4 [4]
7 [7]

4 [1]

On na plus aucun sommet


traiter.

()

()

6 [4]

On constate que P nest pas marqu.


Ainsi, on a atteint le flot complet du
graphe.

() Marquage

On traite S, on marque b.
On traite b : aucun sommet
nest marquable.

()

[] Flot
Capacit

f ( S P) / v = 15
On note les sous-ensembles forms par la
coupe ( A, A ) : A = {S , b} et A = X A

S
b
b
b
b

On vrifie pour savoir si on a bien trouv


loptimum :

f ( A, A ) = c( A, A )

f ( A , A) = 0

Flot

= 15

Capacit

a
a
c
d
e

7
0
2
3
3

7
8
2
3
3

Arbre couvrant de poids minimal


Etant donn un graphe non orient connexe G dont les artes sont values par des nombres
positifs (poids), dterminer un arbre qui soit un graphe partiel de G (arbre recouvrant G) de
poids total minimum.
Il sagit denlever des artes au graphe de faon quil reste connexe, et que la somme des
valuations des artes soit minimale.

Edition du 06/02/2002 23:52

Page 30 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme de KRUSKAL
Lalgorithme de KRUSKAL suppose que les n artes a1 , a2 ,..., an du graphe G sont
numrotes par ordre croissant de poids :
Soit T le graphe partiel de G sans arte ;
Pour i de 1 n
Si larte ai ne cre pas de cycle dans T Alors

Ordre :
c-d :1
s-a :2
b-d :2
s-c :3
a-b :3
a-c:4

Ajouter ai T
Fin Si
Fin Pour
2

4
3

4
3

4
3

4
3

b
2

4
3

Algorithme de PRIM
Soit s un sommet de G choisi arbitrairement ;
T = {s}
x=s
Tant que T < G
Choisir larte ( x, y ) de poids minimal dans le co-cycle (T ) telle que x T et y T
Ajouter larte ( x, y ) T
Fin Tant que
2

4
3

4
3

4
3

4
3

b
2

4
3

Flot maximal de cot minimal


On se donne un graphe G = ( X , U ) dont les arcs sont tiquets par des capacits entires
positives, et par des cots rels positifs ou nuls. On notera c( x, y ) la capacit, et d ( x, y ) le
cot dun arc ( x, y ) .
Le problme est de dterminer, parmi les flots maximaux sur ce graphe, un flot f dont le
cot total soit le plus petit possible.

d( f ) =

d ( x, y ) f ( x, y )

( x , y )U

Deux mthodes sont possibles :


augmenter progressivement le flot nul, en choisissant chaque tape la modification
la plus rentable (dont le cot est le plus petit possible pour une augmentation donne
du flot) ; on arrte le processus lorsquon a obtenu un flot maximal ;
dterminer un flot maximal, et en diminuer progressivement le cot.

Edition du 06/02/2002 23:52

Page 31 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

La premire mthode est utilise par lalgorithme de ROY, trs proche de lalgorithme de
FORD-FULKERSON (il sagit dordonner le marquage des sommets de la faon la plus
conomique possible).
La seconde mthode est celle quutilise lalgorithme de KLEIN, qui consiste effectuer des
dplacements cycliques de flot de faon diminuer le cot.

Graphe dcart associ un flot


A un flot compatible f sur le graphe G , on associera le graphe dcart Ge , dans lequel le
cot dun arc x y est d ( x, y ) si ( x, y ) = x y est un arc de G , et d ( x, y ) si larc de
G correspondant est ( x, y ) = y x .
Arc de G devient dans Ge

f
(c, d)

Dans Ge :

ce ( x, y ) = c( x, y ) f ( x, y )
x y
d e ( x, y ) = d ( x, y )
ce ( y, x) = f ( x, y )
y x
d e ( y , x ) = d ( x, y )

(c-f, d)

y x

y
(f, - d)

Algorithme de BUSCKER-GOWEN (ROY)


Si f est un flot de valeur v et de cot minimal, et e est le chemin de cot minimal de
S P dans Ge ( f ) alors
f ' = f + 1
est un flot de valeur v + 1 unit et de cot minimal ( tant le vecteur associ e dans le
graphe G ).
cei ( x, y ) = cei +1 ( x, y ) ( x, y ) i

Passage de Ge ( f i ) Ge ( f i +1 ) : cei ( x, y ) = cei +1 ( x, y ) mi +1 ( x, y ) i


i
i +1
i
ce ( x, y ) = ce ( x, y ) + mi +1 ( x, y )
Exemple
Trouver un flot de valeur v = 6 et de cot minimal sur le rseau G suivant.
( + ,0)

(2,1)

a
(3,2)

(6,3)

(2,3)

c
(2,2)

( + ,0)

P
(2,4)

(5,3)

( , ) Capacit, Cot

Edition du 06/02/2002 23:52

Page 32 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM


Etape 0 : f 0 / v0 = 0 donc cot ( f 0 ) = 0

Ge ( f 0 ) G, f 0
Ge ( f 0 )
( + ,0)

(2,1)

(6,3)

(3,2)

chemin de cot minimal :

d
(2,3)

capacit minimale rencontre :

m0 = min(+,2,6) = 2

( + ,0)

e0 : S a d P

cot du chemin :

(2,4)

(2,2)

cot ( e0 ) = 0 + 1 + 3 = 4
(5,3)

Flot :

f1 / v1 = v0 + m0 = 0 + 2 = 2

Cot du flot :

cot ( f1 ) = cot ( f 0 ) + m0 cot ( e0 )


cot ( f1 ) = 0 + 2 4 = 8
Etape 1 : f1 / v1 = 2 et cot ( f1 ) = 8
Ge ( f1 ) Ge ( f 0 ) :
on diminue de m0 les capacits sur e0

(2,-1)

Ge ( f1 )
a
(2,0)
( + ,0)

(3,2)

1e : S a c d P

d
(4,3)

capacit minimale rencontre :

m1 = min(+,3,2,4) = 2

(2,3)

( + ,0)

chemin de cot minimal :

(2,-3)

(0,1)

cot du chemin :

cot ( 1e ) = 0 + 2 + 3 + 3 = 8

(2,4)

(2,2)

(5,3)

Flot :

f 2 / v2 = v1 + m1 = 2 + 2 = 4

Cot du flot :

cot ( f 2 ) = cot ( f1 ) + m1 cot ( 1e )


cot ( f 2 ) = 8 + 2 8 = 24
Etape 2 : f 2 / v2 = 4 et cot ( f 2 ) = 24

Ge ( f 2 ) Ge ( f1 ) :
Ge ( f 2 )
a
(4,0)
( + ,0)

S
( + ,0)

on diminue de m1 les capacits sur 1e

(2,-1)

(2,-2)
(2,2)

(2,-3)
(1,2)

chemin de cot minimal :

(4,-3)

e2 : S a c e P

d
(2,3)

capacit minimale rencontre :

m2 = min(+,1,2,5) = 1

(0,3)

cot du chemin :

cot ( e2 ) = 0 + 2 + 4 + 3 = 9

(2,4)

(5,3)

Flot :

f 3 / v3 = v2 + m2 = 4 + 1 = 5

Cot du flot :

cot ( f 3 ) = cot ( f 2 ) + m2 cot ( e2 )


cot ( f 3 ) = 24 + 1 9 = 33

Edition du 06/02/2002 23:52

Page 33 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM


Etape 3 : f 3 / v3 = 5 et cot ( f 3 ) = 33

Ge ( f 3 ) Ge ( f 2 ) :
(2,-1)

Ge ( f 3 )
a
(5,0)
( + ,0)
(3,-2)

S
( + ,0)

(2,2)

(2,-3)

on diminue de m 2 les capacits sur e2

(4,-3)

chemin de cot minimal :

e3 : S b c e P

(2,3)

(0,2)

capacit minimale rencontre :

m3 = min(+,2,1,4) = 1

(1,-4)

cot du chemin :

(4,3)

cot ( e3 ) = 0 + 2 + 4 + 3 = 9

(1,4)

Flot :
e

(1,-3)

f 4 / v4 = v3 + m3 = 5 + 1 = 6

Cot du flot :

cot ( f 4 ) = cot ( f 3 ) + m3 cot ( e3 )


cot ( f 4 ) = 33 + 1 9 = 42
(2,-1)

Ge ( f 4 )
a

(2,-3)

(4,-3)

(5,0)

Etape 4 : f 4 / v4 = 6 et cot ( f 4 ) = 42

(2,3)

Ge ( f 4 ) Ge ( f 3 ) :

( + ,0)
(3,-2)

( + ,0) (1,2)
(1,0)

G, f 4
( + ,0)

( + ,0)
1

(1,-2)

(2,1)
2

(2,-3)

d
(2,3)
2

G , f 4 Ge ( f 4 )

(6,3)
4

c
(2,2)
1

chemin de cot minimal :


e4 : S P nexiste pas.

(3,3)

(0,4)

(3,2)
3

(2,-4)

on diminue de m3 les capacits sur e3

f 4 / v4 = 6
et

P
(2,4)
2

cot ( f 4 ) = 42

(5,3)
2

Le flot est de cot minimal et de valeur


maximale.

Complments
a (3, 4)

Capacit sur
le sommet

Edition du 06/02/2002 23:52

(2, 5)

x1

Page 34 / 43

(2, 9)

(Capacit, Cot)

X2

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Algorithme de KLEIN (BENNINGTON)


Un flot f de valeur v est un flot de cot minimal (parmi tous les flots de valeur v ) si et
seulement si le graphe dcart associ f ne contient aucun circuit de cot ngatif.

Rseau de PETRI
Dfinition
Un rseau de Ptri est utilis pour modliser et analyser le comportement de systmes
vnements discrets (systmes concurrents). Un systme est une collection dentits
autonomes qui doivent se coordonner.
Ainsi, il y a une ncessit de coordination (objectif identique, partage de ressources
communes, change dinformations) ralise par des moyens de mise en uvre : des
mcanismes de synchronisation.
Un rseau de Ptri est un graphe G tel que :

P : places

G : graphe G = ( P, T , F ,V ) T :transitions
RDP (G, M )
F : flot / F ( P T ) (T P)

V : valuation

M :tats

Reprsentation
Un rseau de Ptri est reprsent par un graphe biparti dans lequel les sommets sont des
places dune part et des transitions dautre part.

Place
Une place p symbolise ltat dun processus du systme.
Ce sommet est reprsent par un cercle.

Transition
Une transition t symbolise un vnement dans le systme.
Ce sommet est reprsent par un petit rectangle (voir un trait).
Une transition est franchissable selon le marquage des places.

Rseau
Un arc relie une place (et une seule)
une transition (et une seule).

p1

t1

t2

p2
Edition du 06/02/2002 23:52

Page 35 / 43

p3

p5

t3

p4

t4

p6
10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Marquage
Pour identifier un tat quelconque du systme, on marque par un nombre entier de jetons
les places actives ce moment prcis.
Le nombre de jeton dans une place p un tat initial M 0 se note :

M 0 : p M 0 ( p)

Transition franchissable
Une transition t est franchissable pour un tat M i si et seulement si le marquage de toutes
les places p en entre de t est suprieur la valuation de larc p t .

p t / M i ( p) v( p, t )
On note t lensemble des places en entre de la transition t .
On note t lensemble des places en sortie de la transition t .

v ( p, t )
t

La transition est
franchissable.

t
v(t , p)

La transition est
franchie.

p
Le franchissement dune transition reflte le passage du systme dun tat M i un tat M i +1 .

p t t : M i +1 ( p) = M i ( p)
t

Mi
M i +1
p t t : M i +1 ( p) = M i ( p) (v( p, t ) + v(t , p ) )
Les arcs canalisent les jetons de place en place (en passant par une transition).

Matrice dincidence
La matrice dincidence C dun rseau de Ptri reflte le solde des jetons des places p .

C = C+ C
C + = (P T )
Ajout de jetons

C = (P T )

C + ( p, t ) = v(t , p )

Retrait de jetons

C + ( p, t ) = 0 si (t , p ) F

Edition du 06/02/2002 23:52

Page 36 / 43

C ( p, t ) = v ( p, t )
C ( p, t ) = 0 si (t , p ) F

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Pour le rseau de Ptri prcdent :

p1
p
2
+
C p3
p
4
p5

p6

t1 t 2

t3

0
0

1
0

0
1

0
0

1
0

0
1

t4

0
p1
p
0

0 C p3
p
0
4
p5
0

1
p6

t1 t 2

t3

1
0

0
1

0
0

0
0

0
0

1
0

t4

0
p1
p
0
2

0 = C p3
p
0
4
p5
1

0
p6

t4

1 1 0 0
1 1
0 0

0 1 1
0
0 1 1 0
0 0 1 1

0 0 1 1
t1

t2

t3

Evolution du rseau
t1
t2
tn
Soit la squence de franchissement suivante M 0

M 1
M 2 . .. M n1
M n et

s = t1 , t 2 , ... , t n alors
s
M0

Mn

s : vecteur caractristique de s avec s N


s (i ) : nombre doccurrence de transitions ti dans s

M0 = C s

Graphe des marquages


M0={p2, p3, p6}
t1

Le graphe des marquages


accessibles trace lvolution des
tats du rseau de Ptri.

M1={p1, p3, p6}


t2

Chaque tat est accessible depuis


ltat initial.

t1

Si celui-ci est fini, comme cicontre, alors toutes les places du


rseau de Ptri sont bornes, et le
rseau de Ptri est galement
born.

M3={p1, p4, p6}


t3

M4={p2, p3, p5}


t1
M5={p1, p3, p5}
t2
M6={p2, p4, p5}
t1

t4

Edition du 06/02/2002 23:52

M2={p2, p4, p6}


t3

t4
t4
t4

M7={p1, p4, p5}

Page 37 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Accessibilit
Chaque tat M i est accessible depuis ltat M 0 initial par : M i = M 0 + C s
Dans lexemple :
=t1 , t2 , t1 , t3
Cherchons M 5 tel que M 0 s
M 5 .

t1 2

t2 1
Connaissant C et s =
t3 1

t 4 0

+1

1
0
on calcule C s =
0
0

1
+1
1
+1
0
0

0
0
+ 1


0
0 2 1

+1 0 1 0

=
1 0 1 0

+ 1 1 0 + 1
1
1 + 1

0 1 1
0
1



1 1 0
1
0
1 0 1
1
1
Connaissant M 0 = on calcule M 0 + C s = + = ainsi M 5 =
0 0 0
0
0
0 1 1
0
1



1 1 0
1
0


t-semi flot
Proprit des transitions.
Sil existe s tel que C s = 0 alors
s est une squence rptitive stationnaire (SRS) car M i = M 0

s N (T ) et s est dit t-semi flot (ou flot positif)


Sinon M 0 ne sera plus rencontr.

p-semi flot (Invariant)


Proprit sur les bornes des places.
Un p-semi flot f N ( P ) est un vecteur tel que tf C = 0 .
t
t
Ainsi pour nimporte quel marquage, on a M i f = M 0 f

et

M 0 t f = f ( p) M 0 ( p) est un invariant de marquage (constante).

Le support f dune solution f contient les places p couvertes par un invariant.

Edition du 06/02/2002 23:52

Page 38 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Dans lexemple :
1. Trouvons f solution de tf C = 0 avec t f = ( f1

( f1

f2

( f1 f 2

f3

f4

f5

+1

1
0
f6 )
0
0

f 2 + f 4 f1 f 3

1
+1
1
+1
0
0

f2

f3

f4

f5

f6 )

0 0

0 0
+1 0
= (0 0 0 0 )
1 0
+ 1 1
1 + 1

f3 + f5 f 4 f6

f 6 f 5 ) = (0 0 0 0)

f1 f 2 = 0
f1 =
f + f f f =0
f +
2
2
4
1
3
donc
on en tire les quations
f3 + f5 f 4 f6 = 0
f3 +
f 6 f 5 = 0
f 6 =
f1

f1
f
3
t
on remplace t f = ( f1 f1 f 3 f 3 f 5 f 5 ) et f =
f3
f
5
f
5

f2

f1 = f 2

soit f 3 = f 4
f5 = f 4 + f6
f = f
6
5
f5
f 4 = f1 + f 3

0
0
1



f1
0
0
1

0
1
0
f3
t
On a trouv 3 p-semi flots minimaux f = f1 + f 3 + f 5 avec
0
1
0
f5
1
0
0
f


1
0
0



t
2. Calculons les invariants, sachant que M 0 f =

0

1
1

0
0

1

f ( p) M

= {p1 , p2 }

= {p3 , p4 }

= { p5 , p 6 }

= {P}

( p)

f1

f1
f3
= 0 f1 + 1 f1 + 1 f 3 + 0 f 3 + 0 f 5 + 1 f 5 donc M 0 t f = 1 f1 + 1 f 3 + 1 f 5
f3
f 5
f 5

Edition du 06/02/2002 23:52

Page 39 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

3. Solution
Connaissant les supports de la solution f , ainsi que les constantes dinvariance pour le
marquage initial M 0 , on affirme que :

f1 : M ( p1 ) + M ( p2 ) = 1
f : M (p ) + M (p ) =1
3
4
3
Les invariants de marquage sont
f : M ( p5 ) + M ( p6 ) = 1
5
f : n= P M ( p ) = 3
n
n=1
On remarque que pour tout marquage possible du rseau, le nombre de jeton ne dpasse
pas 3 : le rseau de Ptri est donc structurellement born (donc conservatif).

Vivacit
Si un rseau est vivant pour M 0 , alors ce rseau nest pas ncessairement vivant pour M 0
avec M 0 M 0 (la vivacit est une proprit non monotone).
Un rseau de Ptri est vivant si et seulement si toutes les transitions sont vivantes.
Une transition est vivante si pour tout marquage accessible de M 0 , on trouve une squence
de franchissement faisant apparatre cette transition.
Un rseau est structurellement vivant sil existe M 0 tel que le rseau est vivant.
Condition ncessaire et suffisante :
Si le graphe de marquages accessibles est fortement connexe et quil contient toutes
les transitions, alors le rseau de Ptri est vivant.
f / tf C < 0 alors le rseau est non vivant.
Cas gnral :
Si chacune des composantes fortement connexes terminales du graphe des
marquages accessibles contient toutes les transitions, alors le rseau de Ptri est
vivant.
Pour prouver la vivacit dun rseau de Ptri, il suffit de :
o Assurer le non blocage
o Assurer la pseudo vivacit
o Arriver la vivacit
Un rseau vivant ne comporte pas de blocage (dead lock).
Un rseau pseudo vivant ne se bloque pas, mais il fait du surplace (dead lock free).

Edition du 06/02/2002 23:52

Page 40 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

p1
t3
t1

C = p1
p
2

M0={p1}
t1
M1={p2}
t2

t2

Ce rseau est pseudo


vivant.

t3 jamais franchie

p2

t1 t 2 t3

1 +1 0
+ 1 1 0

mais pas de blocage.

Bornes
s
M i ( p ) k / k N , p P , M i

M0

Un rseau de Ptri est dit born si toutes ses places p sont bornes, quelque soit ltat M i
accessible de M 0 . Un rseau est born sil est conservatif.
Un rseau est structurellement born sil reste born pour tout marquage M 0 .

Conservatif
f = P / tf C = 0

Un rseau de Ptri conservatif est un rseau vivant et born.

Verrou
Un sous ensemble non vide D de P , est appel verrou si :

D D / D P, D { }

Sil existe un verrou D , alors il existe un tat M i accessible de M 0 tel que


On dit quun verrou D est contrl si

pD

M ( p) > 0
pD

M ( p) = 0 .
i

Le contrle peut se faire par trappe ou par invariant.


Si un rseau a tous ses verrous contrls, alors le rseau de Ptri est pseudo vivant (pas de
blocage total).

D = {p1 , p2 }

D = {t1 , t 2 }

p1

D = {t1 , t 2 , t3 }

t3
t1

t2

On remarque que : D D donc D est un verrou.

p3

M ( p) = 0 quand
pD

p2

Edition du 06/02/2002 23:52

M ( p3 ) = 1

Donc le verrou nest pas contrl.


Il y a blocage, le rseau nest pas vivant.

Page 41 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Contrle interne (par trappe)


S S

Si une trappe S est initialement marque, alors le verrou


D sera toujours contrl.

SD
D

p1
t4

p2

D = {p1 , p2 , p3 }

D = {t1 , t 2 , t3 }

D = {t1 , t 2 , t3 , t 4 }

t1
t2

S = {p2 , p3 }

S = {t1 , t 2 , t3 }
S = {t1 , t 2 }

On remarque que :
D D donc D est un verrou,
S S donc S est une trappe.

t3

p3

S D est initialement marque,


donc le verrou D est contrl.

Contrle externe (par invariant)


Le verrou D est contrl par un invariant associ un flot f , solution non nulle de
t

f C = 0 , si on a :
f + D et f D / D 0

Proprit de COMMONER
Si tout verrou contient une trappe initialement marque, on dit que le rseau de Ptri vrifie
les proprits de COMMONER.
Cette proprit est une condition ncessaire et suffisante de vivacit pour certaines classes
de rseau de Ptri.

Classes de rseau de Ptri

Machine tats (ME)


Une machine tats est un rseau de Ptri simple telle que :

t = t = 1 / t T

Un contrle par trappe implique une vivacit monotone.

Graphe dvnements (GE)


Un graphe dvnement est un rseau de Ptri tel que :

p = p = 1 / p P

Un verrou est un circuit lmentaire dans cette classe de rseau de Ptri.


Un contrle par trappe implique une vivacit monotone.

Edition du 06/02/2002 23:52

Page 42 / 43

10863.doc

INFORMATIQUE CYCLE PROBATOIRE

Cours de MOCA B1 (10863) 2001-2002 du CNAM

Rseau choix libre (CL)


p = q / p , q P / p q 0

Un rseau choix libre est tel que :

La proprit de COMMUNER est une condition ncessaire et suffisante de vivacit pour cette
classe de rseau de Ptri.
Un contrle par trappe implique une vivacit monotone.

Rseau choix asymtrique (AC)


Un rseau choix asymtrique est tel que : p q ou p q / p, q P / p q 0
Le fait que tous les verrous du rseau soient contrls est une condition ncessaire et
suffisante de vivacit pour les AC.
Ce contrle peut tre ralis :
Par trappe,
Par invariant.

Rseau quelconque
Le contrle des verrous implique la pseudo vivacit (absence de blocage total).

Complexit des algorithmes


Cf. cours 6.

Notation
Pire des cas
Meilleur des cas
Moyenne

Edition du 06/02/2002 23:52

Page 43 / 43

10863.doc

S-ar putea să vă placă și