Poly

68
Introduction `a la mod´ elisation des r´ eseaux M. Petitot 26 octobre 2010

description

d

Transcript of Poly

  • Introduction a` la modelisation

    des reseaux

    M. Petitot

    26 octobre 2010

  • Table des matie`res

    1 Initiation aux chanes de Markov 7

    1.1 Chane de Markov en temps discret . . . . . . . . . . . . . . . . . . . . 7

    1.1.1 Definitions de base . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.1.2 Evolution dans le temps du vecteur stochastique . . . . . . . . . 9

    1.1.3 Distribution limite . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.1.4 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 12

    1.1.5 Temps de sejour dans un etat . . . . . . . . . . . . . . . . . . . 13

    1.2 Chanes de Markov en temps continu . . . . . . . . . . . . . . . . . . . 16

    1.2.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.2.2 Resolution de lequation detat . . . . . . . . . . . . . . . . . . . 17

    1.3 Processus de naissance et de mort . . . . . . . . . . . . . . . . . . . . . 20

    1.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.3.2 Generateur infinitesimal . . . . . . . . . . . . . . . . . . . . . . 20

    1.3.3 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 21

    2 Files dattente 23

    2.1 Processus darrivee des clients dans une file . . . . . . . . . . . . . . . . 23

    2.1.1 Le processus de Poisson . . . . . . . . . . . . . . . . . . . . . . 23

    2.1.2 Utilisation de la loi de Poisson P() . . . . . . . . . . . . . . . . 242.1.3 La loi exponentielle comme chane de Markov . . . . . . . . . . 25

    2.2 Generalites sur les syste`mes dattente . . . . . . . . . . . . . . . . . . . 25

    2.2.1 Classification des syste`mes dattente . . . . . . . . . . . . . . . 26

    2.2.2 Formules de Little . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.2.3 Trafic offert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    2

  • Module A41

    2.3 Le syste`me M/M/1/ . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3.1 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 28

    2.3.2 Caracteristiques de la file M/M/1/ . . . . . . . . . . . . . . . 302.3.3 Introduction dun facteur dimpatience . . . . . . . . . . . . . . 31

    2.4 Le syste`me M/M/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.4.1 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 31

    2.5 Le syste`me M/M/s/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.5.1 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 32

    2.5.2 Premie`re formule de Erlang (B) . . . . . . . . . . . . . . . . . . 32

    2.5.3 Nombre moyen de clients dans le syste`me . . . . . . . . . . . . . 33

    2.6 Le syste`me M/M/s/ . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.6.1 Distribution stationnaire . . . . . . . . . . . . . . . . . . . . . . 34

    2.6.2 Deuxie`me formule de Erlang (C) . . . . . . . . . . . . . . . . . 34

    3 Initiation a` la theorie des graphes 38

    3.1 Definitions generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.1.1 Graphes orientes . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.1.2 Graphes non orientes . . . . . . . . . . . . . . . . . . . . . . . . 38

    3.2 Recherche dun arbre couvrant optimal . . . . . . . . . . . . . . . . . . 39

    3.2.1 Proble`me pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    3.2.2 Algorithmes glouton . . . . . . . . . . . . . . . . . . . . . . . 40

    3.2.3 Algorithme de Kruskal . . . . . . . . . . . . . . . . . . . . . . . 41

    3.2.4 Algorithme de Prim . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3.3 Plus court chemin entre deux points . . . . . . . . . . . . . . . . . . . . 43

    3.3.1 Proble`me pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.3.2 Algorithme de MooreDijkstra . . . . . . . . . . . . . . . . . . . 43

    3.4 Planification de taches . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.4.1 Proble`me pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.4.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.5 Recherche de flot maximum . . . . . . . . . . . . . . . . . . . . . . . . 47

    3.5.1 Proble`me pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

    3.5.2 Algorithme de FloydFulkerson . . . . . . . . . . . . . . . . . . 48

    ENIC - Support de cours Version n2.1 - Mars 2004 3

  • TABLE DES MATIE`RES

    A Variables aleatoires 52

    A.1 Brefs rappels sur les espaces probabilises . . . . . . . . . . . . . . . . . 52

    A.1.1 Probabilites conditionnelles . . . . . . . . . . . . . . . . . . . . 53

    A.2 Variables aleatoires discre`tes . . . . . . . . . . . . . . . . . . . . . . . . 54

    A.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    A.2.2 Somme et produit de deux variables aleatoires . . . . . . . . . . 54

    A.2.3 Moyenne, variance et covariance . . . . . . . . . . . . . . . . . . 54

    A.2.4 Fonction generatrice dune variable aleatoire . . . . . . . . . . . 55

    A.2.5 Lois discre`tes usuelles . . . . . . . . . . . . . . . . . . . . . . . . 57

    A.3 Variables aleatoires continues . . . . . . . . . . . . . . . . . . . . . . . 59

    A.3.1 Definitions de base . . . . . . . . . . . . . . . . . . . . . . . . . 60

    A.3.2 Changement de variable . . . . . . . . . . . . . . . . . . . . . . 60

    A.3.3 La transformee de Laplace . . . . . . . . . . . . . . . . . . . . . 61

    A.3.4 Lois continues usuelles . . . . . . . . . . . . . . . . . . . . . . . 63

    4 Introduction a` la modelisation des reseaux

  • Introduction

    Les deux premiers chaptres de ce cours dintroduction a` la mode`lisation des reseauxsont dedies a` letude des files dattente et des lois de trafic. Le dimensionnement descomposants dun reseau et donc lachat de materiel qui en decoule, repose sur uneevaluation prealable du volume des commnunications, lequel presente forcement un as-pect aleatoire. Cette etude est menee, soit par le calcul, soit par la simulation mais danstous les cas, il est illusoire de comprendre les resultats dun logiciel sans un minimumde comprehension des concepts theoriques a` mettre en oeuvre.

    La formule B (respectivement C) de Erlang est particulie`rement utile en telephoniecar elle permet de calculer le pourcentage de clients perdus (respectivement qui doiventattendre) en fonction des resources materielles disponibles et des lois de probabilitesgouvernant les processus darrivee et de service des clients.

    Pour en comprendre la signification, on introduit dans le premier chapitre, le for-malisme des chanes de Markov, en insistant particulie`rement sur le calcul matricielnecessaire pour obtenir sur ordinateur les caracteristiques du regime stationnaire. Lepoint cle de ce chapitre est letude du processus de naissance et de mort ainsi nommeparce quil permet danalyser levolution dune population 1.

    Dans le deuxie`me chapitre, on etudie les syste`mes dattente pour lesquels lentree desclients est un processus de Poisson et le temps de service suit une loi exponentielle. Onmontre que le nombre des clients qui demandent un service suit naturellement la loide Poisson. Par contre, le choix dun temps de service distribue selon la loi exponentielletient en grande partie a` la simplicite que ce choix introduit dans les formules obtenues.

    Il est grandement conseille aux etudiants de programmer sur ordinateur les principalesformules rencontrees.

    Dans le troisie`me chapitre, on etudie les principaux algorithmes de la theorie desgraphes : recherche darbres couvrants, de plus plus court chemins, dordonnancementde travaux complexes, de flot mamimum dans un reseau de transport. Ces algorithmessont utiles pour le routage des messages, la reconfiguration dynamique dun reseauen cas de panne etc. Ce cours est complementaire avec les rappels et les animationsdisponibles sur le web. Il est assez facile de poser dans un cours un certain nombrede definitions et de theoremes auxquels on peut se referer. Par contre, le deroulement

    1Cest bien connu, les gens naissent et meurent, le cote aleatoire de cet aspect des choses nayanttoujours pas disparu malgre dintenses activites de recherche dans le domaine.

    5

  • TABLE DES MATIE`RES

    concret dun algorithme est plus comprehensible dans une animation.

    Jai mis en annexe un certain nombre de resultats classiques sur les variables aleatoireset la transformee de Laplace. Ces outils theoriques qui sont sont au coeur des sciencesde lingenieur sont utilises dans des domaines tre`s varies : traitement du signal, au-tomatique, analyse et compression dimage. Ils ne font pas partie du programme dumodule A41. On pourra simplement sy reporter en cas de besoin.

    6 Introduction a` la modelisation des reseaux

  • Chapitre 1

    Initiation aux chanes de Markov

    1.1 Chane de Markov en temps discret

    1.1.1 Definitions de base

    1.1.1.1 Vecteur et matrice stochastique

    Un vecteur (ligne) forme de nombres reels pi = (pi0, pi1, . . . , pin) est appele stochastiquesi et seulement si toutes ses composantes sont positives ou nulles i.e. pii 0 pour 0 i n. la somme de ses composantes est egale a` un i.e. pi0 + pi1 + + pin = 1.

    Une matrice carree P = (Pij)0i,jn est appelee stochastique si chacune de ses lignesest un vecteur stochastique.

    Exemple 1.1.1

    P =

    1/2 1/2 01/3 1/3 1/30 1/2 1/2

    (1.1)Proposition 1.1.1 Le produit dun vecteur (ligne) stochastique par une matrice sto-chastique est un vecteur (ligne) stochastique. Le produit de deux matrices stochastiquesest une matrice stochastique.

    Exercice 1.1.1 Verifier sur un exemple puis faire la preuve.

    1.1.1.2 Definition dun processus aleatoire

    Informellement, un processus aleatoire est un syste`me dynamique dont letat evolueau cours du temps de manie`re aleatoire. Dans la suite, letat de ce syste`me est unnombre entier compris entre 0 et n. Le temps t est suppose discret, ce qui signifie quet est un entier positif ou nul.

    7

  • Chane de Markov en temps discret

    Soit X(t) letat du syste`me a` linstant t. Il faut considerer X(t) comme une variablealeatoire a` valeurs dans lensemble des entiers. On note pii(t) la probabilite pour que lesyste`me considere soit dans letat i a` linstant t, autrement dit pii(t) = Prob {X(t) = i}.A tout instant t, le vecteur

    pi(t) = (pi0(t), pi1(t), . . . , pin(t))

    est donc un vecteur stochastique. Un processus {X(t) | t 0} est une famille devariables aleatoires indicees par le temps t N. En pratique, un processus est definipar lapplication t pi(t).

    1.1.1.3 Definition dune chane de Markov homoge`ne dans le temps

    On supposera que le syste`me transite de letat i a` letat j avec une probabilite Pijqui ne depend que des etats i et j. Un tel syste`me est dit sans memoire ou encoremarkovien, ce qui signifie que la probabilite Pij ne depend pas des etats anterieurs a` ipar lesquels le syste`me est passe au cours de son histoire. Ainsi le futur etat du syste`meetudie depend uniquement de son etat present et non des ses etats passes.

    Ces nombres Pij sont ranges dans la matrice P = (Pij)0i,jn. Cette matrice eststochastique car le vecteur (stochastique) en ligne i contient les probabilites de toutesles transitions possibles en partant de letat i et par suite leur somme est egale a` un.

    La suite des vecteurs stochastiques pi(t) pour t = 0, 1, 2, verifie la formule derecurrence matricielle :

    (pi0(t+1), pi1(t+1), . . . , pin(t+1)

    )=(pi0(t), pi1(t), . . . , pin(t)

    )P0,0 P0,1 P0,nP1,0 P1,1 P1,n...

    ......

    Pn,0 Pn,1 Pn,n

    que lon ecrit sous forme plus compacte :

    pi(t+ 1) = pi(t) P (t N) (1.2)

    Definition 1.1.1 (chane de Markov) Une chane de Markov homoge`ne dans le tempsest la donnee dune suite de vecteurs stochastiques {pi(t)}tN et dune matrice stochas-tique P telle que pour tout t N, pi(t+ 1) = pi(t) P .La chane est dite homoge`ne dans le temps parce que la matrice P ne depend pas dutemps t.

    Exemple 1.1.2 (Deux machines non reparables) Soit un dispositif comprenant deuxelements fonctionnant independamment lun de lautre. Chaque element a une fiabiliteegale a` p au cours dune journee, ce qui signifie que la probabilite de tomber en pannependant cette periode est 1 p. Il ny a pas de possibilite de reparation. Au depart, lesdeux elements du dispositif fonctionnent correctement.

    8 Introduction a` la modelisation des reseaux

  • Module A41

    Notre processus sera dans letat 0, 1 ou 2 selon quil y a 0, 1 ou 2 elements en panneen debut de journee. Les diverses transitions (et leurs probabilites) sont representeespar le graphe de la figure 1.1.

    0 1 2

    (1 p)2

    p2

    2p(1 p) 1 p

    1

    p

    Fig. 1.1 Graphe de transition pour lexemple 1.1.2

    A ce graphe est associee la matrice de transition

    P =

    P0,0 P0,1 P0,2P1,0 P1,1 P1,2P2,0 P2,1 P2,2

    = p2 2p(1 p) (1 p)20 p 1 p

    0 0 1

    (1.3)Exemple 1.1.3 (Deux machines reparables) On modifie les hypothe`ses de lexemple1.1.2 comme suit. Dans le cas ou une machine tombe en panne pendant la journee, elleest reparee dans la nuit et se retrouve donc en etat de marche le lendemain. On ne peutpas reparer plus dune machine dans la nuit.

    Exercice 1.1.2 En remarquant quil y a 0 ou 1 machine en panne au debut de la journee(etat du syste`me), tracer le graphe de transition et montrer que la matrice de transition vaut

    P =

    (p(2 p) (1 p)2

    p 1 p)

    (1.4)

    1.1.2 Evolution dans le temps du vecteur stochastique

    1.1.2.1 equations detat

    La formule de recurrence pi(t + 1) = pi(t) P appliquee aux instants t = 0, 1, 2, ,donne :

    pi(1) = pi(0) P

    pi(2) = pi(1) P = pi(0) P 2

    pi(3) = pi(2) P = pi(0) P 3

    ...

    ENIC - Support de cours Version n2.1 - Mars 2004 9

  • Chane de Markov en temps discret

    A tout instant t (entier), le vecteur stochastique est donc

    pi(t) = pi(0) P t (1.5)

    1.1.2.2 Calcul de la puissance dune matrice

    Le calcul de la puissance dune matrice peut se faire de manie`re iterative par laformule P t = P P t1 pour t > 0. Lorsque la valeur de t est grande, il est plus rapidedutiliser la relation P t =

    (P 2)t/2

    lorsque t est un entier pair. A chaque passage dans

    la boucle de calcul, la valeur de lexposant t est divisee par deux. Lorsque t a une valeurimpaire, on se rame`ne au cas pair en decrementant t.

    Une deuxie`me methode est basee sur le calcul des valeurs propres de P . Lorsque Pest une matrice diagonale

    D = diag(0, 1, 2, . . . , n),

    lelevation a` la puissance k est facile. La matrice Dk est encore diagonale et lon a pourtout k N :

    Dk = diag(k0, k1,

    k2, . . . ,

    kn).

    Si ce nest pas le cas, il existe en general une matrice invertible Q (dite matrice depassage) telle que P = Q D Q1, ou` D est une matrice diagonale. On en deduit que

    P k = Q Dk Q1,

    ce qui nous rame`ne au calcul prece`dent. Les nombres complexes 0, 1, 2, . . . , n sontappelees les valeurs propres de la matrice P .

    1.1.2.3 Utilisation de la transformee en z

    Nous allons appliquer la transformee en z definie en section A.2.4.1 a` chaque compo-sante du vecteur stochastique

    pi(t)def= (pi0(t), pi1(t), , pin(t)).

    Pour i fixe, la probabilite pii(t) est vue comme une suite de nombres indicee par lentiert dont la transformee en z est notee pii(z). On pose

    pi(z)def= (pi1(z), pi2(z), . . . , pin(z)).

    Lequation detat pi(t+ 1) = pi(t) P devient

    (pi)(t) = pi(t) P.

    10 Introduction a` la modelisation des reseaux

  • Module A41

    En calculant la transformee en z de chacun des deux membres, comptetenu du shiften partie gauche, on obtient

    1

    z(pi(z) pi(0)) = pi(z) P,

    pi(z) = pi(0) + z pi(z) P,

    pi(z) (Id zP ) = pi(0),ce qui donne finalement

    pi(z) = pi(0) (Id zP )1. (1.6)

    1.1.3 Distribution limite

    On constate souvent que la distribution pi(t) converge vers une distribution limitenotee pi() lorsque t tend vers linfini. La recherche des conditions de convergenceconstitue une chaptre important de la theorie des chanes de Markov qui depasse deloin le but de cette modeste introduction.

    Definition 1.1.2 (ergodique) Une chane de Markov est dite ergodique si la limitelimt

    pi(t) existe et ne depend pas du vecteur stochastique initial pi(0).

    Citons, sans en faire la demonstration, une condition suffisante pour quune chane deMarkov soit ergodique. Il suffit quau moins une puissance de la matrice de transition Pnait que des composantes strictement positives, ce qui signifie que le processus, etudiependant un temps suffisamment long, peut transiter, avec une probabilite strictementpositive, entre deux etats quelconques. Plus precisement, on a le theore`me suivant.

    Theore`me 1.1.1 Si une certaine puissance de la matrice de transition P na que descomposantes strictement positives, alors la chane est ergodique.

    Preuve admise.

    Exercice 1.1.3 En calculant P 2, demontrer que la matrice P definie par lequation (1.1)verifie les conditions du theore`me 1.1.1. A laide dun ordinateur, calculer la distribution limitepi.

    Exercice 1.1.4 On conside`re la matrice P definie par lequation (1.3) qui est triangulairesuperieure. En remarquant que toutes les puissances de P sont triangulaires superieures,demontrer que la matrice P ne verifie pas les conditions du theore`me 1.1.1. Demontrer que ladistribution limite existe neanmoins. Interpreter les resultats obtenus.

    Exercice 1.1.5 On conside`re la matrice P definie par lequation (1.4). Cette matrice verifietelle les conditions du theore`me 1.1.1 ? A laide dun ordinateur, calculer la distribution limitepour quelques valeurs de p convenablement choisies. Interpreter les resultats obtenus.

    Exercice 1.1.6 Soit P =

    (0 11 0

    ). Montrer que pour pi(0) 6= (1/2, 1/2), la limite de pi(t)

    lorsque t nexiste pas.

    ENIC - Support de cours Version n2.1 - Mars 2004 11

  • Chane de Markov en temps discret

    1.1.4 Distribution stationnaire

    Une distribution (vecteur stochastique) pi = (pi0, pi1, . . . , pin) est dite stationnaire parrapport a` la matrice stochastique P si et seulement si elle est constante dans le tempsi.e.

    pi = pi P (1.7)

    Cette condition secrit de manie`re equivalente pi (P Id) = 0. Elle traduit le fait quesi la chane de Markov est initilisee avec la distribution pi(0) = pi, alors le vecteurstochastique pi(t) est constant pour t = 0, 1, 2, . . ..

    Exemple 1.1.4 Soit la matrice stochastique

    P =

    1/2 0 1/21 0 01/4 1/4 1/2

    (1.8)Le calcul se fait en resolvant le syste`me lineaire (1.7). Les equations lineaires de cesyste`me ne sont pas lineairement independantes car en les additionnant membre a`membre, on obtient lidentite triviale 1 = 1. Il faut donc comple`ter ces equations par lacondition pi0 + pi1 + + pin = 1, ce qui donne sur lexemple (1.8) :

    12pi0 + pi1 +

    14pi2 = pi0

    14pi2 = pi1

    12pi0 +

    12pi2 = pi2

    pi0 + pi1 + pi2 = 1

    (1.9)

    Les calculs donnent pi = (4/9, 1/9, 4/9).

    Exercice 1.1.7 Calculer la distribution stationnaire pour la matrice P definie par lequation(1.1).

    1.1.4.1 Equations de la balance

    On peut generer les equations verifiees par la distribution stationnaire sans passer parle formalisme matriciel mais en partant de la description de la chaine par un automate.On peut imaginer que les noeuds du graphe sont des chateaux deau et que dans lescanalisations (fle`ches) circule de leau dont le debit est proportionnel au niveau deau duchateau en amont et de la capacite de la canalisation (probabilite inscrite sur la fle`che).Il est alors evident que le niveau deau dun chateau est stationnaire si et seulementsi le debit entrant est egal au debit sortant. Ces equations sappellent equations de labalance et sont equivalentes aux equation (1.7).

    Exercice 1.1.8 Verifier que la distribution stationnaire pour la matrice P definie par lequation(1.4) est

    pi =

    (p

    1 p+ p2 ,(1 p)21 p+ p2

    )(1.10)

    12 Introduction a` la modelisation des reseaux

  • Module A41

    Exercice 1.1.9 Verifier que lunique distribution stationnaire pour la matrice P definie parlequation (1.3) lorsque 0 < p < 1 est

    pi = (0, 0, 1) (1.11)

    1.1.4.2 Existence et unicite des distributions stationnaires

    Theore`me 1.1.2 Une chane de Markov finie admet au moins une distribution sta-tionnaire, ce qui nest plus necessairement vrai si lespace des etats est infini.

    Preuve admise.

    Theore`me 1.1.3 Si une chane de Markov est ergodique, alors la limite pi() :=limt

    pi(t) est lunique distribution stationnaire de cette chane.

    On peut montrer que dans le cas ergodique, la fraction de temps passe dans un etatdonne par le processus etudie est egale, sur une longue periode de temps, a` la probabilitestationnaire de cet etat.

    1.1.5 Temps de sejour dans un etat

    1 p 1

    p

    0 1

    Fig. 1.2 Loi geometrique

    Nous allons traiter le cas le plus simple, a` savoir la chane a` deux etats comme dansla figure 1.2. Soit T le temps aleatoire pendant lequel le processus sejourne dans letat0. Montrons que ce temps T est une v.a. distribuee selon la loi geometrique (voir A.16).On a

    p1 := Prob {T = 1} = pp2 := Prob {T = 2} = (1 p)pp3 := Prob {T = 3} = (1 p)2p

    ...

    pk := Prob {T = k} = (1 p)k1p pour tout k 1.La moyenne de la v.a. T est la moyenne des valeurs k ponderee par les probabilites pksoit

    E(T )def=

    k=1

    k(1 p)k1p

    ENIC - Support de cours Version n2.1 - Mars 2004 13

  • Chane de Markov en temps discret

    = pk=1

    k(1 p)k1.

    En posant z = 1 p, la somme a` evaluer est de la formek=1

    kzk1 =d

    dz

    k=0

    zk

    =d

    dz

    1

    1 z=

    1

    (1 z)2

    On trouve finalement, en tenant compte que z = 1 p :

    E(T ) =1

    p(1.12)

    Cette formule est tres intuitive. Une personne qui a une chance sur quatre de reussirlexamen du permis de conduire devra en moyenne le passer quatre fois.

    Dans le cas dune chaine de Markov quelconque, le calcul du temps de sejour dansletat i est a` peine plus complique. Il suffit de regrouper toutes les fle`ches sortantesde letat i en une seule affectee de la probabilite p =

    j 6=i Pi,j = 1 Pi,i. On a donc

    demontre le

    Theore`me 1.1.4 Soit p la la probabilite de sortir dun certain etat pendant une unitede temps. Pour le processus markovien considere, le temps de sejour T dans cet etatest distribue selon la loi geometrique de moyenne 1/p :

    Prob {T = k} = (1 p)k1p, (k 1).

    Exercice 1.1.10 Une route comprend 4 pistes. Chacune dentre elles peut etre traversee enune seconde. La probabilite pour quune automobile arrive pendant une seconde determineeest 0,8. Quelle est pour un pieton la probabilite de traverser en 4 secondes, 5 secondes, 6secondes, etc . . .

    1. Faire le graphe du syste`me.

    2. Donner la matrice de transition.

    3. Calculer le temps moyen pour traverser les 4 pistes.

    Exercice 1.1.11 On etudie le fonctionnement dune imprimante. Celle-ci peut etre dans 3etats distincts :

    Etat 1 attente dun caracte`re a` imprimer,

    Etat 2 impression dun caracte`re,

    Etat 3 interruption apre`s avoir recu un caracte`re de controle.

    14 Introduction a` la modelisation des reseaux

  • Module A41

    Lorsque limprimante est en attente, elle recoit un caracte`re a` imprimer avec la probabilite0, 80.

    Lorsquelle est en impression elle recoit : un caracte`re normal avec la probabilite 0, 95 (caracte`re courant du fichier a` imprimer) ; un caracte`re de fin de fichier avec la probabilite 0, 04 (limprimante retourne dans letatdattente) ;

    un caracte`re dinterruption avec la probabilite 0, 01 (limprimante passe alors dans letat3).

    Lorsque limprimante est dans letat 3, elle retourne dans letat dattente avec la probabilite0, 3 sinon elle reste dans letat 3.

    1. Montrez que ce syste`me se modelise par un chane de Markov a` 3 etats.

    2. Dessinez le graphe associe a` cette chane et donnez sa matrice de transition.

    3. Quel est le temps moyen dune interruption ?

    4. Ecrivez les equations dequilibre et montrez que cette chane est ergodique. Calculez lesprobabilites stationnaires associees.

    5. En regime stationnaire, quel est le taux dutilisation de limprimante ?

    Exercice 1.1.12 Un installateur dascenseurs dispose dune seule equipe dont tous lesmembres travaillent sur le meme chantier. Les demandes dinstallations des clients qui luiparviennent peuvent etre reparties en 2 classes : travaux de moyenne importance, durant une semaine (designes par A). travaux plus importants durant 2 semaines (designes par B).

    Linstallateur ne recoit pas de demandes de travaux qui nentrent pas dans cette classification.Il ny a pas de liste dattente. Les demandes dinstallation parviennent a` lentrepreneur audebut de chaque semaine. Une observation statistique a montre que les probabilites pourrecevoir un lundi donne, au moins une demande de travaux du type A, ou au moins unedemande de travaux du type B valent respectivement p = 0, 5 et q = 0, 6. Ces probabilitessont independantes . Certaines semaines, des travaux sont refuses, lequipe etant deja` occupeesur une installation de type B : dans ce cas le client sadresse a` un concurrent. Dautressemaines lequipe reste inactive faute de demande dinstallation. Lorsque linstallateur recoitsimultanement 2 demandes : une du type A et une du type B, il donne suite a` celle du type B.Linstallation du type A procure un benefice de 5000F, celle du type B 12000F, et linactivitede lequipe pendant une semaine engendre une perte de 2500F.

    1. On desire representer par une chane de Markov levolution de lactivite de lequipedune semaine sur lautre. Quels sont les 4 etats ?

    2. Dessinez le graphe associe a` cette chane et donnez sa matrice de transition.

    3. En supposant que lentreprise fonctionne depuis plusieurs semaines, trouver la proba-bilite de chacun des etats ; justifier la validite de ce calcul.

    4. En deduire lesperance mathematique du gain relatif a` une semaine de fonctionnement.

    Exercice 1.1.13 Chaque annee a` Noel, les mangeurs de chocolat adoptent un type de choco-lat, pour une duree de un an renouvelable. Un sondage effectue sur un echantillon representatifde cette population a donne les chiffres suivants : parmi les mangeurs de chocolat noir, 65%sont fide`les a` leur choix, tandis que 35% prefe`rent essayer le chocolat au lait. De meme, parmi

    ENIC - Support de cours Version n2.1 - Mars 2004 15

  • Chanes de Markov en temps continu

    les mangeurs de chocolat au lait, 70% restent fide`les et 30% changent pour le noir. Initiale-ment, il y avait 50% de mangeurs de chocolat noir et 50% de mangeurs de chocolat au lait.On suppose que le marchand de chocolat dispose de quantites suffisantes.

    1. Quelle sera la tendance au bout dun an ?

    2. Peuton connatre la tendance au bout de quelques annees, sachant que les resultatsdes enquetes ne changent pas ? Si oui, quelles seront les proportions des mangeurs dechocolat noir et de chocolat au lait ?

    1.2 Chanes de Markov en temps continu

    1.2.1 Definitions

    Dans cette section, le temps est mesure par un nombre reel positif ou nul. On etudieles processus aleatoires dont letat est un entier positif on nul (par exemple, le nombrede clients dans une file dattente). Par commodite, on supposera que le nombre detatsest fini. On designe par pii(t), la probabilite que le processus etudie soit dans letat i a`linstant t et lon pose

    pi(t) = (pi0(t), pi1(t), . . . , pin(t))

    qui est un vecteur stochastique a` tout instant t.

    1.2.1.1 Generateur stochastique infinitesimal

    Une matrice reelle carree A est appelee generateur stochastique infinitesimal si

    1. la somme des elements dune ligne quelconque est nulle.

    2. les elements sur la diagonale sont negatifs ou nuls et les autres sont positifs ounuls.

    Exemple 1.2.1

    A =

    2 2 01 3 20 1 1

    (1.13)Exercice 1.2.1 La somme de deux generateurs stochastiques infinitesimaux est-telle ungenerateur stochastique infinitesimal ?

    Exercice 1.2.2 Soit A un generateur stochastique infinitesimal. La matrice A pour Rest-telle un generateur stochastique infinitesimal ?

    16 Introduction a` la modelisation des reseaux

  • Module A41

    1.2.1.2 Definition dune chane de Markov

    La fonction t pi(t) est une chane de Markov si et seulement si le vecteur stochas-tique pi(t) verifie, a` tout instant t, une equation differentielle ordinaire de la forme

    d

    dtpi(t) = pi(t) A(t) (1.14)

    ou` A(t) est un generateur stochastique infinitesimal. Dans la suite, on suposera quecette matrice A(t) est independante du temps ; on dira alors que la chane de Markovest homoge`ne dans le temps.

    Cettte definition se justifie de la manie`re suivante. Considerons un syste`me dynamique(processus) aleatoire dont levolution est gouvernee par une chaine de Markov en tempsdiscret, le pas de temps entre deux tops dhorloge etant suppose infiniement petit(positif). Un tel nombre reel infiniement petit positif est habituellement note enmathematique. La matrice de transition notee P () est proche de lidentite car onsuppose que le syste`me evolue tres peu pendant ce temps . On suppose donc que

    P () = Id + A+ o(), 0+. (1.15)

    Dans le calcul qui va suivre, nous allons appliquer une technique fondamentale encalcul differentiel : on tue les termes en 2 lorsquils sont additionnes avec des termesen . Remarquons dabord que la matrice P () est stochastique si et seulement si lamatrice A est un generateur stochastique infinitesimal.

    Lequation detat (1.2) devient alors

    pi(t+ ) = pi(t) P ()

    = pi(t) (Id + A)

    = pi(t) + pi(t)A

    pi(t+ ) pi(t)

    = pi(t) A

    Lorsque 0+, le taux daccroissement dans le membre gauche de la dernie`re equationtend vers la derivee pi(t) et lon retrouve lequation (1.14).

    1.2.2 Resolution de lequation detat

    1.2.2.1 Resolution par le calcul dune exponentielle

    Proposition 1.2.1 Lequation differentielle ordinaire (A est une matrice constantecarree indicee de 0 a` n)

    pi(t) = pi(t) A (1.16)

    ENIC - Support de cours Version n2.1 - Mars 2004 17

  • Chanes de Markov en temps continu

    admet pour solution le vecteur pi(t) = pi(0) exp(tA) avec

    etA = 1 + tA+1

    2!t2A2 +

    1

    3!t3A3 + (1.17)

    De plus, si la matrice A est un generateur stochastique infinitesimal, alors la matriceexp(tA) est, a` tout instant t, une matrice stochastique.

    Preuve En derivant terme a` terme le developpement de Taylor (1.17), on montreque d

    dtexp(tA) = exp(tA) A. On en deduit que

    pi(t) = pi(0)d

    dtexp(tA) = pi(0) exp(tA)A = pi(t)A.

    Donc le vecteur ligne pi(t) verifie lequation (1.16). Montrons que la matrice P (t)def=

    exp(tA) est stochastique. La matrice P (t) verifie lequation differentielle P (t) = P (t)Aavec la condition initiale P (0) = Id. Soit u le vecteur colonne dont les n+1 composantessont egales a` 1. Chaque ligne de la matrice A a une somme nulle donc Au = 0. On endeduit que P (t) u = P (t)A u = 0. Le vecteur P (t) u dont la derivee est nulle est doncconstant. Cette constante evaluee a` linstant t = 0 vaut P (0) u = Id u = u. DoncP (t)u = u quelque soit t et par suite, la somme des elements dune ligne quelconque deP (t) est egale a` un.

    1.2.2.2 Utilisation des valeurs propres

    Le calcul de lexponentielle exp(tA) est facile lorsque A est une matrice diagonaleD = diag(0, 1, . . . , n). On obtient

    etD = diag(e0t, e1t, . . . , ent

    ). (1.18)

    En general, la matrice A est diagonalisable sous la forme A = Q D Q1, la matriceD etant diagonale. Son exponentielle est alors

    etA = Q etD Q1. (1.19)On en deduit que chaque composante de la matrice exp(tA) est une combinaison lineairedes fonctions exponentielles exp(i t) i.e.(

    etA)i,j

    =n

    k=0

    ai,j,k ek t. (1.20)

    ou` les ai,j,k sont des constantes complexes.

    Lorsque plusieurs valeurs propres de A sont egales (le polynome caracteristique de Aadmet au moins une racine double), il se peut que la matriceA ne soit pas diagonalisable.La decomposition de la matrice A en blocs de Jordan permet de montrer que lescomposantes de la matrice exp(tA) sont des polynomes exponentiels ; cela signifie quedans la formule (1.20), les constantes ai,j,k sont remplacees par des polynomes ai,j,k(t)en la variable t.

    18 Introduction a` la modelisation des reseaux

  • Module A41

    1.2.2.3 Discretisation dune chane de Markov en temps continu

    La matrice stochastique P ()def= exp(A) calculee pour un temps infiniement petit

    admet le developpement limite

    P () = Id + A+ o(), 0+. (1.21)De la formule pi(t) = pi(0) exp(tA), on deduit

    pi(t+ 1) = pi(t) exp(A). (1.22)

    Ainsi la chane de Markov en temps discret dont la matrice de transition est egale a`P = exp(A) a le meme comportement, pour des valeurs entie`res du temps, que la chanede Markov en temps continu dont le generateur infinitesimal est la matrice A.

    1.2.2.4 Utilisation de la transformee de Laplace

    La transformee de Laplace (voir section A.3.3) permet de resoudre les equations detaten temps continu (1.14)

    pi(t) = pi(t) A (1.23)

    de la meme manie`re que la transformee en z permet de resoudre les equations detaten temps discret (1.2). La transformee de Laplace pi(s) du vecteur stochastique pi(t) estcalculee composante par composante i.e.

    pi(s)def= (pi0(s), pi1(s), . . . , pin(s)).

    Appliquee aux deux membres de lequation detat (1.14), la transformee de Laplacedonne :

    s pi(s) pi(0) = pi(s) A.On en deduit pi(s)(sId A) = pi(0) et par suite

    pi(s) = pi(0) (s Id A)1. (1.24)On demontre que vecteur pi(s) est un vecteur de fractions rationnelles en s que lonpeut decomposer en elements simples. Des tables comme A.3.3.1 permettent deffectuerla transformee de Laplace inverse afin de calculer lexpression symbolique du vecteurstochastique pi(t). Finalement, on a remplace le calcul de lexponentielle exp(tA) par lecalcul de linverse de la matrice (s Id A), ce qui est plus simple, surtout si le calculest effectue a` la main.

    1.2.2.5 Calcul dune distribution stationnaire

    On part de la formule pi(t) = pi(t)A. Le vecteur stochastique pi(t) est invariant dans letemps lorsque pi(t) = 0, cest a` dire lorsque pi(t)A = 0. En conclusion, une distributionstationnaire pi sobtient en resolvant le syste`me lineaire

    piA = 0 (1.25)

    ENIC - Support de cours Version n2.1 - Mars 2004 19

  • Processus de naissance et de mort

    1.3 Processus de naissance et de mort

    1.3.1 Definition

    On conside`re une file dattente comportant entre 0 et n personnes. Le nombre depersonnes presentes dans la file a` linstant t est letat du processus. On se donne desnombres positifs quelconques (0, 1, . . . n1) et (1, 2, . . . n). On suppose que pen-dant un intervalle de temps infiniment petit , sachant quil y a k personnes presentesdans la file :

    1. la probabilite quune personne arrive dans la file est k+ o(),

    2. la probabilite quune personne sorte de la file est k+ o(),

    3. les autres eventualites ont une probabilite en o().

    Ces hypothe`ses reviennent a` poser que la matrice de transition P (), calculee pourlintervalle de temps , est de la forme (pour n = 4)

    P () =

    1 0 0 0 0 01 1 (1 + 1) 1 0 00 2 1 (2 + 2) 2 00 0 3 1 (3 + 3) 30 0 0 4 1 4

    + o()

    1.3.2 Generateur infinitesimal

    Le generateur stochastique infinitesimal A verifie, par definition, lequation (1.21)

    P () = Id + A+ o(), 0+

    Par exemple, pour n = 4, on trouve

    A =

    0 0 0 0 01 (1 + 1) 1 0 00 2 (2 + 2) 2 00 0 3 (3 + 3) 30 0 0 4 4

    (1.26)

    Le processus est represente par le diagramme de la figure 1.3.

    20 Introduction a` la modelisation des reseaux

  • Module A41

    0

    0

    1

    1 n1

    2 n

    1 2 n-1 n

    Fig. 1.3 Processus de naissance et de mort

    1.3.3 Distribution stationnaire

    Calculons la distribution stationnaire pi en resolvant lequation matricielle piA = 0.On obtient le syste`me (n = 4)

    0pi0 + 1pi1 = 00pi0 (1 + 1)pi1 + 2pi2 = 01pi1 (2 + 2)pi2 + 3pi3 = 02pi2 (3 + 3)pi3 + 4pi4 = 0

    3pi3 4pi4 = 0

    (1.27)

    Ces equations se simplifient. Il est plus economique decrire directement les equationsdites de la balance :

    0pi0 = 1pi1, 1pi1 = 2pi2, 2pi2 = 3pi3,

    Les calculs donnent (n quelconque)

    pi1 =01

    pi0

    pi2 =12

    pi1

    pi3 =23

    pi2

    = pin =

    n1n

    pin1

    (1.28)

    et par suite

    pik =01 k112 k pi0, (k = 1, 2, . . . , n) (1.29)

    Compte-tenu de la relation pi0 + pi1 + + pin = 1, la valeur de pi0 est donnee par laformule

    1

    pi0= 1 +

    01

    +0112

    + + 01 n112 n (1.30)

    ENIC - Support de cours Version n2.1 - Mars 2004 21

  • Processus de naissance et de mort

    On obtient finalement la distribution stationnaire pi = (pi0, pi1, . . . , pin)

    pik =

    01

    12

    k1k

    1 +01

    +0112

    + + 01 n112 n

    (k = 1, 2, . . . , n) (1.31)

    Exercice 1.3.1 Ecrire, dans le langage qui vous convient le mieux, un programme permet-tant de calculer le vecteur (pi0, . . . , pin) en fonction des vecteurs (0, . . . , n1) et (1, . . . , n).

    Exercice 1.3.2 On conside`re un routeur qui recoit en moyenne paquets par unite detemps selon un processus de Poisson. On suppose que le temps de traitement dun paquet parle routeur est distribue selon une loi exponentielle de moyenne 1/. On ne prevoit pas de filedattente et lorsquun paquet arrive pendant que le routeur est occupe, il est perdu.

    Dans cet exercice, tous les calculs seront effectues en fonction de et de .

    1. Modeliser par une chaine de Markov en temps continu en precisant la signification dechaque etat de la chaine.

    2. Calculer la distribution stationnaire.

    3. Calculer le pourcentage de paquets perdus.

    On decide de prevoir une file dattente pouvant contenir au plus un paquet (0 ou 1).

    1. Modeliser par une chaine de Markov en temps continu en precisant la signification dechaque etat de la chaine.

    2. Calculer la distribution stationnaire.

    3. Calculer le pourcentage de paquets perdus.

    4. Calculer le pourcentage des paquets traites qui ont du attendre.

    5. Calculer le nombre moyen de paquets traites pendant une unite de temps.

    22 Introduction a` la modelisation des reseaux

  • Chapitre 2

    Files dattente

    2.1 Processus darrivee des clients dans une file

    2.1.1 Le processus de Poisson

    Le processus de Poisson occupe une place privilegiee pour decrire

    larrivee des clients vers un guichet

    loccurrence daccidents dans une entreprise

    lapparition de pannes dans un parc de machines

    larrivee de taches dans lunite centrale dun ordinateur etc.

    Il y a principalement deux variables aleatoires a` considerer :

    1. Le nombre de clients N(t) arrivant dans la file pendant le temps t ; cette variableest un entier positif ou nul.

    2. Le temps T qui secoule entre deux arrivees consecutives ; cette variable est unnombre reel positif ou nul.

    Ces deux variables aleatoires sont liees car si le nombre de clients N(t) qui arriventdans la file est eleve, cest que le temps entre deux arrivees successives est faible. Demanie`re plus precise,

    Theore`me 2.1.1 Les trois conditions suivantes sont equivalentes :

    1. La probabilite quun client arrive dans la file pendant un intervalle de temps infi-niement petit > 0 vaut + o() avec constant (voir processus de naissanceet de mort 20).

    2. Le nombre de clients N(t) arrivant dans la file pendant un intervalle de tempsquelconque t suit une loi de Poisson de moyenne t, autrement dit,

    Prob {N(t) = k} = et (t)k

    k!(2.1)

    23

  • Processus darrivee des clients dans une file

    3. Le temps T qui secoule entre deux arrivees consecutives obet a` une loi exponen-tielle de parame`tre (moyenne 1/), autrement dit,

    Prob {T > t} = et (2.2)

    Preuve Montrons que la condition 1 implique la condition 2. Leve`nement T test equivalent a` leve`nement N(t) 1. La probabilite de voir celui-ci se realiser est

    Prob {N(t) 1} = 1 Prob {N(t) = 0}= 1 et

    donc Prob {T > t} = 1 Prob {T t} = et.Le fait que la condition 2 implique la condition 1 est admis.

    2.1.2 Utilisation de la loi de Poisson P()On dit que la variable aleatoire entie`re N suit une loi de Poisson de parame`tre

    lorsque

    Prob {N = k} = ek

    k!(2.3)

    Il reste a` justifier pourquoi le nombre de clients entrant dans une file dattente pen-dant un temps t obet raisonnablement a` une loi de Poisson. Cette loi est appelee loi deseve`nements rares, en raison du fait quelle sobtient comme la limite dune loi de Ber-noulli quand le nombre depreuves tend vers linfini en meme temps que la probabilitede succe`s dune epreuve tend vers zero.

    Soit une population de n personnes susceptibles de rejoindre independamment la filependant une unite de temps, chacune avec une probabilite p. Le nombre N de personnesqui arrivent dans la file suit une loi de Bernoulli B(n, p)

    Prob {N = k} =(nk

    )pk(1 p)nk

    Le theoreme A.2.1 dit que

    P() = limn

    B(n, /n).

    Ainsi le choix dune loi de Poisson pour compter le nombre de clients qui arriventdans une file dattente pendant un intervalle de temps donne est justifie par le fait que lapopulation susceptible dalimenter cette file est nombreuse et que les choix individuelssont pris de manie`re independante.

    Exercice 2.1.1 Une compagnie dassurance estime que le nombre annuel de ses clients vic-times dun incendie est une variable aleatoire qui suit une loi de Poisson. Estce raisonnable ?

    24 Introduction a` la modelisation des reseaux

  • Module A41

    0 11

    1

    Fig. 2.1 Graphe de transition

    0 1

    Fig. 2.2 Generateur infinitesimal

    2.1.3 La loi exponentielle comme chane de Markov

    Prenons lexemple dune machine dont la probabilite de tomber en panne pendant unintervalle de temps infiniement petit est + o(). La figure 2.1 represente le graphede transition entre les instants t et t+ . La matrice de transition correspondante est

    P () =

    (1

    0 1

    )+ o() (2.4)

    En posant P () = Id + A+ o(), on obtient le generateur infinitesimal correspondant

    A =

    ( 0 1

    )(2.5)

    Au depart, la machine est en bon etat (etat 0), donc la distribution initiale est pi(0) =(1, 0). Lequation differentielle pi(t) = pi(t) A secrit alors

    pi0(t) = pi0(t)pi1(t) = pi0(t)pi0(0) = 1pi1(0) = 0

    (2.6)

    dont la solution est {pi0(t) = e

    t

    pi1(t) = 1 et (2.7)

    La probabilite que cette machine soit en bon etat au temps t est donc et. On endeduit que la duree de vie T de cette machine suit une loi exponentielle de parame`tre.

    2.2 Generalites sur les syste`mes dattente

    Le mode`le general dun syste`me dattente (et de service) peut etre resume commesuit : des clients arrivent a` un certain endroit et reclament un certain service. Lesinstants darrivee et les durees de service sont generalement des quantites aleatoires. Siun poste de service est libre, le client qui arrive se dirige immediatement vers ce posteou` il est servi, sinon il prend sa place dans la file dattente dans laquelle les clients serangent suivant leur ordre darrivee.

    ENIC - Support de cours Version n2.1 - Mars 2004 25

  • Generalites sur les syste`mes dattente

    Un syste`me dattente comprend donc un espace de service avec une ou plusieursstations de service montees en paralle`le, et un espace dattente dans lequel se formeune eventuelle file dattente.

    2.2.1 Classification des syste`mes dattente

    Pour identifier un syste`me dattente, on a besoin des specifications suivantes.

    La nature stochastique du processus des arrivees (flux dentree) qui est defini parla distribution des intervalles separant deux arrivees consecutives.

    La distribution du temps aleatoire de service.

    Le nombre s des stations de service qui sont montees en paralle`le.

    La capacite N du syste`me. Si N < , la file dattente ne peut depasser unelongueur de Ns unites. Dans ce cas, certains clients qui arrivent vers le syste`menont pas la possibilite dy entrer.

    Pour la classification des syste`mes dattente, on recourt a` une notation symboliquecomprenant quatre symboles dans lordre suivant : A/B/s/N ,

    ou` A = distribution du temps entre deux arrivees successives,B = distribution des durees de service,s = nombre de stations de service montees en paralle`le,N = capacite du syste`me (serveurs + file dattente).

    Pour specifier les distributions A et B, on adopte la convention suivante :

    M = distribution qui verifie la propriete de Markov, i.e. processusde Poisson pour les arrivees, loi exponentielle pour le temps de service,

    Ek = distribution dErlang dordre k,G = distribution generale (on ne sait rien sur ses caracteristiques),D = cas deterministe (la variable ne prend quune seule valeur admise).

    Exemple La notationM/D/1/4 definit un syste`me dattente comprenant une stationservice et pour lequel la longueur maximale de la file dattente vaut 4 1 = 3. Leprocessus darrivee est un processus de Poisson (voir section 2.1.1) et la duree du serviceest constante.

    Exercice 2.2.1 Expliciter les notations M/M/1/1, M/G/5/ et M/M//.

    2.2.2 Formules de Little

    On conside`re un syste`me dattente quelconque (G/G/s/N) et on adopte les conven-tions de notation suivantes :

    26 Introduction a` la modelisation des reseaux

  • Module A41

    L = nombre de clients dans le syste`me (file dattente + service)Lq = nombre de clients dans la file dattenteT = temps de sejour dun client dans le syste`meTq = temps de sejour dun client dans la file dattente = inverse du temps moyen separant deux clients consecutifs

    desirant entrer dans le syste`mee = inverse du temps moyen separant deux clients consecutifs

    entrant effectivement dans le syste`me = inverse de la duree moyenne de service

    Lorsque la capacite du syste`me est illimitee, on a e = et dans tous les cas e .On conside`re les moyennes E(L),E(Lq),E(T ),E(Tq) calculees pour la distribution

    stationnaire (on suppose quelle existe). On a alors, E(T ) = E(Tq)+1/ car on supposeque le temps de service dun client (en moyenne 1/) est independant de son tempsdattente dans la file.

    Theore`me 2.2.1 (Little) En adoptant les notations prece`dentes, on a :{E(L) = eE(T )E(Lq) = eE(Tq)

    (2.8)

    Preuve (intuitive) Considerons un client qui reste un temps T dans le syste`me. Alinstant ou` ce meme client quitte le syste`me, il a, en moyenne, eT clients derrie`re lui.

    Exercice 2.2.2 Demontrer la formule E(L) = E(Lq) + e/.

    2.2.3 Trafic offert

    Le pourcentage de temps pendant lequel une ressource est occupee est appele traficoffert. Lunite de mesure est le Erlang. Par exemple, une ligne telephonique occupee a`100% a un trafic de 1 Erlang. Typiquement, une ligne residentielle fixe a un trafic de70 mE, une ligne industrielle 150 mE et un telephone mobile 25 mE.

    Considerons une ligne telephonique avec

    T duree de la periode dobservationtk duree du kieme appelt duree moyenne dun appelN nombre dappels pendant la periode dobservation Ta trafic en Erlang

    Le trafic offert est alors

    a =1

    T

    Nk=1

    tk =N tT

    (2.9)

    ENIC - Support de cours Version n2.1 - Mars 2004 27

  • Le syste`me M/M/1/

    Exercice 2.2.3 On suppose que nombre dappels, par unite de temps, suit une loi de Poissonde parame`tre et que la duree dun appel suit la loi exponentielle de parame`tre . Montrerque le trafic offert est egal a` /.

    2.3 Le syste`me M/M/1/Par hypothe`se :

    les clients arrivent selon un processus de Poisson de parame`tre > 0,

    le temps de service est une loi exponentielle de parame`tre > 0,

    il y a un seul serveur,

    la file dattente peut accueillir un nombre quelconque de clients.

    Dans la section 2.1.3, on a vu quune loi exponentielle est une chane de Markovparticulie`re. On en deduit que cette file M/M/1/ est un cas particulier du processusde naissance et de mort vu en section 1.3. Les k et les k sont independants de k,autrement dit, on peut poser {

    k = (k 0)k = (k 1) (2.10)

    2.3.1 Distribution stationnaire

    Nous allons demontrer que la distribution stationnaire pi est un vecteur ayant une infi-nite de composantes formant une progression geometrique (voir (A.16) 58. Les formules(1.29) et (1.30) deviennent

    pik =

    (

    )kpi0 (k = 1, 2, . . .)

    1

    pi0=

    k=0

    (

    )k=

    1

    1

    et par suite

    pik =

    (1

    )(

    )k, (k = 0, 1, 2, . . .). (2.11)

    Dans le cas ou` le rapport / > 1, il arrive en moyenne clients par unite de temps,alors que pendant ce meme temps, le serveur, a` plein regime, ne peut traiter que clients. Donc le nombre de clients en attente va, a` coup sur, tendre vers linfini. Lorsque/ = 1, la formule (2.11) montre que tous les pik sont nuls, ce qui est impossible ; ladistribution stationnaire nexiste donc pas dans ce cas.

    28 Introduction a` la modelisation des reseaux

  • Module A41

    Lorsque / < 1, la formule (2.11) definit un vecteur pi ayant toutes ses composantes(en nombre infini) strictement positives. On a demontre le theore`me

    Theore`me 2.3.1 Soit un syste`me M/M/1/ de parame`tres > 0 et > 0 tels que < . Alors le nombre de clients presents dans le syste`me, en regime stationnaire, suitune loi geometrique de raison a :=

    ,

    pik = (1 a) ak (k = 0, 1, 2, . . .).En particulier, la probabilite que le serveur soit occupe est 1 pi0 = a.Dapre`s le theore`me ergodique (dont la preuve depasse lobjectif de cette modeste

    introduction), la probabilite pik correspond au pourcentage de temps pendant lequel lesyste`me contient k clients, lorsque le temps pendant lequel on observe le syste`me tendvers linfini. De meme, la fraction du temps pendant lequel le serveur est occupe est,en regime stationnaire, egale a` 1 pi0 = a. Ce taux doccupation du serveur est encoreappele trafic offert voir section 2.2.3. Dans la fileM/M/1/, il ny a pas de differenceentre le trafic offert et le trafic ecoule car aucune demande service nest rejetee. Le trafic(offert ou ecoule) (2.9) du serveur est donc

    a =

    (2.12)

    Exercice 2.3.1 On conside`re un syste`me dattente M/M/1/ ; un client arrive en moyen-ne toutes les 12 minutes et la duree moyenne de service est 8 minutes. Calculer la probabilitep pour que deux clients au moins attendent detre servis. Calculer laugmentation relative dep lorsque le taux dentree augmente de 20%.

    Solution Si lon prend lheure comme unite de temps, on obtient = 5, = 7, 5et par suite / = 2/3. Lorsque deux clients attendent, il y a forcement au moins troisclients dans le syste`me. On trouve donc

    p = pi3 + pi4 + pi5 + = (2/3)3 = 0, 296.Lorsque = 6, on a / = 4/5 et p = (4/5)3 = 0, 512, ce qui correspond a` uneaugmentation relative de p de 73%.

    Exercice 2.3.2 On conside`re un syste`me dattente M/M/1/ ; chaque heure, 20 clientsarrivent en moyenne et la probabilite quun client attende est 0, 5.

    (a) Calculer le temps de service moyen.

    (b) Calculer la probabilite quun client qui arrive, trouve devant lui une file dattente de npersonnes.

    Solution

    (a) On a 1 pi0 = / = 0, 5 donc1

    =

    0, 5

    =

    0, 5

    20h = 1, 5 min.

    ENIC - Support de cours Version n2.1 - Mars 2004 29

  • Le syste`me M/M/1/

    (b) A larrivee du client, il y a n+1 personnes presentes dans le syste`me. La probabilitecherchee est donc

    pin+1 = (1 a)an+1 = 0, 5n+2.

    2.3.2 Caracteristiques de la file M/M/1/La longueur L (nombre de clients presents dans le syste`me) a pour moyenne et va-

    riance (voir loi geometrique en section (A.16) page 58)

    E(L) =

    1

    Var(L) =

    (1

    )2 (2.13)

    Une question importante, a` savoir le calcul du temps passe par un client dans lesyste`me, est resolue par le theore`me suivant.

    Theore`me 2.3.2 Soit une file M/M/1/ de parame`tres et avec < . En regimestationnaire, la variable aleatoire T (temps dattente + service) suit une loi exponentiellede parame`tre , autrement dit

    Prob {T > t} = e()t.

    Le temps moyen passe par un client dans le syste`me est donc E(T ) =1

    .

    Preuve admise.

    Exercice 2.3.3 En utilisant la formule de Little (thm. 2.2.1), retrouver le temps moyenpasse par un client dans le syste`me.

    Exercice 2.3.4 Dans une station de taxis, les arrivees de voitures et de clients sont desprocessus poissonniens de taux respectifs = 1 et = 1, 25 par minute. Un taxi attendquelque soit le nombre de taxis dans la file (potentiellement illimitee). Par contre, un clientarrivant dans la station nattend pas de taxi si le nombre de clients en attente est deja` egal a`trois.

    1. Modeliser par une chaine de Markov en temps continu en precisant la signification dechaque etat de la chaine.

    2. Calculer la distribution stationnaire.

    3. Quel est le pourcentage de clients qui sont servis.

    4. Calculer le nombre moyen de clients qui attendent un taxi.

    5. Calculer le nombre moyen de taxis qui attendent un client.

    6. Calculer le temps moyen dattente dun client et dun taxi.

    30 Introduction a` la modelisation des reseaux

  • Module A41

    2.3.3 Introduction dun facteur dimpatience

    On suppose quun client qui arrive dans la file a le choix de quitter le syste`meimmediatement sans se faire servir. Ce choix est fait en fonction du nombre de clientspresents devant lui dans la file.

    On peut, par exemple, supposer que cette probabilite dimpatience vaut k/k + 1lorsque k clients sont presents dans le syste`me (0 si le serveur est libre, 1/2 si le serveurest occupe et la file est vide etc.). Tout se passe comme si

    k =

    (1 k

    k + 1

    )=

    k + 1, (k 0).

    Comptetenu de ces hypothe`ses, les formules (1.29) et (1.30) donnent la distributionstationnaire (loi de Poisson de parame`tre a)

    pik = eaa

    k

    k!avec a =

    , (k 0). (2.14)

    Exercice 2.3.5 Faire la preuve de la formule (2.14).

    2.4 Le syste`me M/M/Par hypothe`se :

    les clients arrivent selon un processus de Poisson de parame`tre > 0,

    le temps de service est une loi exponentielle de parame`tre > 0,

    il y a une infinite de serveurs.

    Il est evident quaucune file dattente ne se forme puisque chaque client est servi de`sson arrivee. Ce syste`me a un interet theorique car il permet une etude approximativedun syste`me dattente comportant un grand nombre de serveurs.

    Ce syste`me est modelise par un processus de naissance et de mort (section 1.3) telque {

    k = (k 0)k = k (k 1) (2.15)

    2.4.1 Distribution stationnaire

    Theore`me 2.4.1 Le nombre de clients presents dans le syste`me M/M/ en regimestationnaire suit une loi de Poisson de parame`tre a := /, autrement dit

    pik = ea a

    k

    k!(k = 0, 1, 2, . . .) (2.16)

    ENIC - Support de cours Version n2.1 - Mars 2004 31

  • Le syste`me M/M/s/s

    Preuve On utilise principalement la formule (1.31).

    On en deduit que le nombre L de clients en cours de service a pour moyenne etvariance (loi de Poisson)

    E(L) = Var(L) = /. (2.17)

    2.5 Le syste`me M/M/s/s

    Par hypothe`se :

    les clients arrivent selon un processus de Poisson de parame`tre > 0,

    le temps de service est une loi exponentielle de parame`tre > 0,

    il y a s serveurs montes en paralle`le,

    il ny a pas de file dattente.

    Ce syste`me est modelise par un processus de naissance et de mort (section 1.3) telque {

    k = (0 k s)k = k (0 < k s) (2.18)

    2.5.1 Distribution stationnaire

    Les formules (1.29) et (1.30) donnent (adef= /)

    pik =01

    12

    k1k

    pi0

    =

    2

    kpi0 =

    ak

    k!pi0

    Comptetenu de la condition pi0 + pi1 + + pis = 1, on obtient finalement

    pik =

    ak

    k!

    1 + a+a2

    2!+ + a

    s

    s!

    (0 k s) (2.19)

    2.5.2 Premie`re formule de Erlang (B)

    En se souvenant du theore`me ergodique, pis est la fraction du temps pendant laquelleles s serveurs sont occupes. Ceci est donc la probabilite de perte particulie`rement im-portante en telephonie. En notant pis par B(s, a), on obtient la formule de perte de

    32 Introduction a` la modelisation des reseaux

  • Module A41

    Erlang

    B(s, a) =

    as

    s!

    1 + a+a2

    2!+ + a

    s

    s!

    (2.20)

    Exercice 2.5.1 Est-ce que B(s, a) represente la probabilite pour quun client qui arrivedans le syste`me soit rejete ? Est-ce que B(s, a) represente le pourcentage de clients rejetes ?A quelle condition pourrait-il y avoir une difference entre ces deux notions ?

    2.5.3 Nombre moyen de clients dans le syste`me

    Proposition 2.5.1 En regime stationnaire, le nombre L de clients dans le syste`me apour moyenne

    E(L) = a(1B(s, a)) (2.21)Preuve

    E(L) =s

    k=0

    kpik =s

    k=1

    kpik

    =s

    k=1

    apik1 car pik =ak

    k!pi0

    = as1k=0

    pik

    = a(1 pis).

    2.6 Le syste`me M/M/s/Par hypothe`se :

    les clients arrivent selon un processus de Poisson de parame`tre > 0,

    le temps de service est une loi exponentielle de parame`tre > 0,

    il y a s serveurs montes en paralle`le,

    la file dattente peut accueilir un nombre quelconque de clients.

    Ce syste`me est modelise par un processus de naissance et de mort (section 1.3) telque

    k = (k = 0, 1, 2, . . .)k = k (0 < k s)

    = s (k s)(2.22)

    ENIC - Support de cours Version n2.1 - Mars 2004 33

  • Le syste`me M/M/s/

    2.6.1 Distribution stationnaire

    Les formules (1.29) et (1.30) donnent (adef= /)

    pik =01

    12

    k1k

    pi0

    =

    2

    kpi0 =

    ak

    k!pi0 (k s)

    pik =as

    s!

    (

    s

    )kspi0 =

    ak

    s! skspi0 (k s)

    Comptetenu de la condition pi0 + pi1 + + pis = 1, on obtient apre`s quelques calculs

    1/pi0 =as

    s! ss a +

    s1n=0

    an

    n!(2.23)

    2.6.2 Deuxie`me formule de Erlang (C)

    En se souvenant du theore`me ergodique, la probabilite

    C(s, a)def= pis + pis+1 + pis+2 + (2.24)

    est la fraction du temps pendant laquelle les s serveurs sont occupes. Pendant cetteperiode, les clients arrivant dans le syste`me doivent attendre. Elle est connue sous lenom de deuxie`me formule de Erlang. Les calculs donnent :

    C(s, a) =

    as

    s! ss a

    as

    s! ss a +

    s1n=0

    an

    n!

    (2.25)

    Exercice 2.6.1 Un organisme public est ouvert, chaque jour ouvrable, de 9h a` 17h sansinterruption. Il accueille, en moyenne, 64 usagers par jour ; un guichet unique sert a` traiter ledossier de chaque usager, ceci en un temps moyen de 2,5 minutes. Les usagers si necessaire,font la queue dans lordre de leur arrivee ; meme si la queue est importante, on ne refuse aucunusager. Une etude statistique a permis de conclure que la duree aleatoire des services suit uneloi exponentielle et que le regime les arrivees des usagers forment un processus de Poisson.

    1. Donner la notation de Kendall de cette file.

    2. Donner lexpression de la probabilite invariante pik, donner la justification de son exis-tence.

    3. Quel sont les temps moyens passes : a` attendre ? dans lorganisme par chaque usager ?

    4. Quelles sont les probabilites quil narrive aucun client entre 15H et 16H ? Que 6 clientsarrivent entre 16H et 17H ?

    34 Introduction a` la modelisation des reseaux

  • Module A41

    5. Quelle est, en moyenne et par heure, la duree pendant laquelle lemploye du guichet nesoccupe pas des usagers ?

    6. Quelle est la probabilite dobserver une file dattente de 4 usagers, derrie`re celui encours de service ?

    Exercice 2.6.2 Une clinique dispose dun service durgence tenu par un seul medecin. Lesmalades se presentent selon un processus de Poisson de taux egal a` 96 malades par jour (24heures), et les durees des soins sont independantes, et suivent une loi exponentielle de moyenneegale a` 12 minutes pour chaque malade. Les malades sont soignes dans le cabinet du medecinsuivant lordre darrivee et il ny a pas de limitation de place dans le service durgence.

    1. Pour le syste`me dattente represente par le nombre de malades presents a` linstant t,montrer que la condition dergodicite est verifiee et calculer la probabilite quil y ait nmalades dans le syste`me (file + service) en regime stationnaire.

    2. Determiner les parame`tres suivants :

    (a) le nombre moyen de malades dans le syste`me,

    (b) le nombre moyen de malades en attente,

    (c) le temps moyen de presence dans le syste`me,

    (d) le temps moyen dattente.

    3. On souhaite que le nombre moyen de malades en attente dans la salle dattente soit 1/2. A partir de quelle duree moyenne des soins cette condition est-elle verifiee ?

    Exercice 2.6.3 Les clients de la banque Picsou arrivent au hasard a` raison dun clienttoutes les 4 minutes. La duree de service demande par ces clients est une v.a de loi exponentiellede duree moyenne de duree 3 mn (il ny a quun serveur).

    Le directeur de la banque Picsou veut connatre :

    1. la probabilite pour que la duree de service reclame, par un client quelconque qui arriveexce`de 20 minutes,

    2. le nombre moyen de clients qui attendent (effectivement) dans la file.

    Exercice 2.6.4 Une importante maternite accueille des femmes enceintes qui sont arriveesa` terme et viennent accoucher et donner naissance a` leur bebe. Loccupation moyenne dunesalle de travail est de 6 heures pour un accouchement. Un statisticien a determine que la loidarrivee des futures mamans dans une maternite pour y accoucher, peut etre approximee defacon satisfaisante, par une loi de Poisson, (il se presente en moyenne 24 femmes par jour) etque celle de loccupation de la salle de travail peut letre par une loi exponentielle. Leurs tauxrespectifs valent et .

    Le but est de determiner le nombre N de salles de travail (et, par consequent le nombreminimal de sages-femmes devant se trouver dans la maternite), de telle sorte que la probabilitepour que toute les salles soient occupees soit inferieure a` un centie`me : une femme qui arriveraitdans ce cas serait dirigee vers une autre maternite, ce que lon desire eviter a` lextreme.

    1. Donner la valeur numerique de et .

    2. Montrer que le syste`me dattente est un processus de naissance et de mort, comportantN +1 etats, numerotes de0 a` N . A quoi correspondent, ici une naissance et une mort ?Donner la signification de letat k, exprimer k en fonction de et k en fonction de .Tracer le graphe associe.

    ENIC - Support de cours Version n2.1 - Mars 2004 35

  • Le syste`me M/M/s/

    3. La probabilite pour que le syste`me soit, en regime permanent, dans letat k est noteepik. Calculer pik en fonction de pi0 , puispi0.

    4. Quel est letat pour lequel toutes les salles sont occupees ; quelle est sa probabilite ?Trouver le nombre de salles de travail que devra comporter la clinique, de sorte que laprobabilite pour quelles soient toutes occupees soit inferieure a` 0,01.

    Exercice 2.6.5 Le parking dun supermarche peut contenir N automobiles. Le processusdarrivee des automobiles est poissonnien de parame`tre . Le temps moyen de presence dunvehicule est T (loi exponentielle negative). Quand les N places du parking sont occupees lesvehicules vont se garer ailleurs.

    1. Modeliser par une chane de Markov.

    2. Indiquer la formule donnant la proportion du temps pendant laquelle le parking estsature.

    3. Indiquer la formule donnant le nombre moyen de vehicules parques.

    Exercice 2.6.6 Un grand cabinet davocats propose un service gratuit de conseils. Chaquejour un avocat est detache dans ce service. Un conseil demande en moyenne un quart dheureet sa duree suit une loi exponentielle negative. Une etude statistique a montre que les clientsarrivent au rythme de 8 par heure, ces arrivees sont poissonniennes. On ne souhaite pas avoirune file dattente importante qui perturberait le fonctionnement du cabinet, aussi on naccepteque deux personnes en attente.

    1. Modeliser le proble`me.

    2. Determiner la probabilite invariante (stationnaire) pi en justifiant son existence.

    3. Quel est le nombre moyen de clients presents dans le syste`me ?

    4. Quelle est la probabilite pour un client detre servi sans attendre ?

    5. Au bout de quelques mois de fonctionnement de ce service, on sest apercu que cesclients precedents reviennent ensuite (en clients payants evidemment). On decide doncde modifier le service et on y affecte 3 avocats, et on supprime la file dattente (unclient qui arrive lorsque les trois avocats sont occupes doit partir). Quel doit etre alorsle temps du conseil pour que les trois avocats soient occupes simultanement 40% dutemps ?

    Exercice 2.6.7 A linfirmerie dun internat, 2 etudiants se presentent chaque jour, en moyenne,pour y recevoir des soins (les arrivees se font suivant un processus de Poisson). Ces etudiantsrecoivent un traitement qui leur impose de rester en moyenne 3 jours alites (on suppose queles durees de sejour sont des variables aleatoires distribuees exponentiellement).

    1. Quelle est en regime stationnaire (vous determinerez la condition dergodicite) la loide probabilite du nombre detudiants alites ? En deduire le nombre moyen detudiantsalites.

    2. A linfirmerie, il y a s lits confortables et un nombre illimite de lits non confortables.Sachant que les s plus anciens malades ont un lit confortable, quelle est la probabilitepour un etudiant arrivant a` linfirmerie de ne pas trouver de lit confortable ?

    3. En fait, le nombre de lits nest pas illimite, et le responsable de linfirmerie ne desireutiliser au maximum, que les s lits confortables. Quel mode`le doiton utiliser ? Donner

    36 Introduction a` la modelisation des reseaux

  • Module A41

    lexpression et la valeur de la probabilite de refuser des malades a` linfirmerie avecs = 14 ?

    Exercice 2.6.8 Le temps passe par un client a` une caisse de grand magasin est supposede loi exponentielle de moyenne 2 minutes. Il y a 10 caisses sont ouvertes en permanence etlon suppose que le flot darrivees des clients aux caisses est poissonnien de moyenne ; onsuppose aussi que les caisses sont utilisees au maximum par les clients, cest a` dire quunecaisse ne peut pas etre inoccupee alors que des clients attendent a` une autre (en fait, il ny aquune seule file dattente).

    1. Quel est le nombre maximum de clients par heure pouvant se presenter aux caisses telquil y ait un regime dequilibre dans ce syste`me (ergodicite) ?

    2. On mesure lefficacite du syste`me a` la probabilite quun client trouve une caisse din-occupee. Quel est le nombre maximum de clients par heure pouvant se presenter auxcaisses tel que cette efficacite soit 0, 9 ?

    3. En fait on observe, en moyenne, 10 clients par minute se presentant aux caisses. Combiendoit-on ouvrir de caisses pour garder une efficacite de 0, 8 ?

    ENIC - Support de cours Version n2.1 - Mars 2004 37

  • Chapitre 3

    Initiation a` la theorie des graphes

    3.1 Definitions generales

    3.1.1 Graphes orientes

    Un graphe oriente est la donnee dun couple (X,A) pour lequel

    X est un ensemble. Les elements de X sont appeles des sommets.

    A est un ensemble darcs orientes (fle`ches) reliant les sommets. Un arc a posse`deune origine x et une extremite y avec x, y X. On ecrira x a y.

    Toute relation binaire definie sur un ensemble X est un graphe oriente. Par exemple,considerons lensemble X des diviseurs de 12. On a X = {1, 2, 3, 4, 6, 12}. On choisit detracer un arc entre entre deux nombres x et y lorsque x divise y.

    Un circuit (chemin oriente) est une liste darcs (a1, a2, . . . an) reliant des sommetsnotes x0, x1, . . . , xn tels que

    x0a1 x1 a2 x2 xn1 an xn

    La longueur dun tel circuit est le nombre darcs distincts qui le composent, cest a` diren. Un circuit est dit elementaire lorsque les sommets x0, x1, . . . , xn sont tous distincts.

    Un cycle est un circuit tel que x0 = xn, autrement dit, lorigine x0 du premier arc a1est confondue avec lextremite xn du dernier arc an.

    Un graphe oriente est dit fortement connexe lorsque deux sommets quelconques dugraphe sont relies par au moins un circuit.

    3.1.2 Graphes non orientes

    Un graphe non oriente est la donnee dun couple (X,A) pour lequel

    X est un ensemble. Les elements de X sont appeles des sommets.

    38

  • Module A41

    A est un ensemble daretes (non orientees) reliant les sommets.

    Lorsquune arete a relie deux sommets x et y, on ecrira xa y. La relation il existe au

    moins une arete qui relie les deux sommets x et y est une relation binaire symetriquedefinie sur lensemble des sommets. Une chane est une liste daretes (a1, a2, , an)reliant des sommets notes x0, x1, . . . , xn tels que

    x0a1 x1

    a2 x2 xn1 an xn

    La composante connexe dun sommet x est lensemble des sommets qui contient lele-ment x et tous les sommets y relies a` x (il existe au moins une chaine qui relie lessommets x et y). Un graphe non oriente est dit connexe lorsquil ne comporte quuneseule composante connexe.

    Un cycle est une chane (chemin non oriente) x0, x1, . . . , xn telle que x0 = xn.

    3.2 Recherche dun arbre couvrant optimal

    3.2.1 Proble`me pose

    On se donne un graphe non oriente connexe (X,A) avec une ponderation sur lesaretes d : A R0. On peut voir le nombre d(a) comme la longueur de larete a A.Supposons que les sommets du graphe representent les differents quartiers dune ville

    et que le nombre d(a) represente la longueur du plus court chemin a reliant deux quar-tiers voisins de la ville. Le proble`me consiste a` construire une canalisation alimentant eneau tous les quartiers de la ville en utilisant une longueur minimum de tuyaux. Dans ceproble`me, le diame`tre des tuyaux (assurant le debit souhaite) nest pas pris en compteet le chateau deau (un seul) est situe en un sommet quelconque du graphe.

    Remarquons que le proble`me revient a` calculer un sousensemble B A tel que legraphe (X,B) soit connexe (chaque sommet appartient a` la composante connexe dusommet ou` est situe le chateau deau). Dautre part la longueur totale des tuyaux

    d(B) =bB

    d(b) (3.1)

    doit etre minimum. Demontrons que le graphe (X,B) est sans cycle. Dans le cascontraire, au moins un quartier serait alimente par deux canalisations, ce qui seraitdu gaspillage en terme de longueur de tuyaux utilisee. Un graphe non oriente sans cycleest appele un arbre. La question est donc de trouver un arbre de longueur minimumcouvrant tous les sommets dun graphe (non oriente) pondere.

    ENIC - Support de cours Version n2.1 - Mars 2004 39

  • Recherche dun arbre couvrant optimal

    3.2.2 Algorithmes glouton

    Nous avons vu que la solution du proble`me pose est un certain sousensemble B delensemble des aretes A. Comme lensemble A est fini, il nexiste quun nombre fini desousensembles B, a` savoir 2cardA ou` cardA designe le nombre daretes du graphe dedepart. Une solution extrement naive consiste a` balayer tous les sousensembles B de Aen eliminant les ensembles B qui ne couvrent pas le graphe. Pour chaque ensemble B, oncalcule d(B) en utilisant la formule (3.1). A` la fin, on conserve un des ensembles B pourlesquels d(B) est minimum. Le temps de calcul de la solution est donc proportionnelau nombre de sousensembles B a` tester, a` savoir 2cardA.

    Ce genre dalgorithme generer, tester ou` lon retient finalement une solution op-timale pour un certain crite`re est tre`s general. Dans certains cas, il est possible deconstruire directement la solution optimale sans revenir, a` aucun moment, sur les choixeffectues dans la construction de la solution. On dit que lalgorithme est glouton. Nousallons donner deux algorithmes gloutons qui resolvent le proble`me de larbre couvrantoptimal.

    Dans un premier temps, examinons un proble`me doptimisation qui se pose dans lavie courante. On dispose de pie`ces de monnaie de valeurs respectives fixees une foispour toutes, par exemple 1FR, 2FR et 5FR. On desire payer une somme S donneeen utilisant le nombre minimum de pie`ces. On suppose que lon dispose dun stock depie`ces potentiellement illimite.

    Examinons la solution gloutonne qui consiste a` payer autant que possible avec lapie`ce de plus grande valeur. Par exemple, la somme S = 13 est re`glee avec deux pie`cesde 5FR, puis avec une pie`ce de 2FR, puis avec une pie`ce de 1FR pour terminer. Lasolution gloutonne est donc en 4 pie`ces. On peut montrer que la solution gloutonne estoptimale quelque soit la somme S a` re`gler dans le cas ou` les pie`ces disponibles ont pourvaleurs 1FR, 2FR et 5FR mais cette demonstration nest pas facile.

    Montrons, sur un exemple, que pour des valeurs de pie`ces de 1FR, 3FR, 4FR et 5FR,la solution gloutonne nest pas optimale. En effet, pour une somme S = 7, la solutionoptimale est en 2 pie`ces (4FR + 3FR) alors que la solution gloutonne comporte 3 pie`ces(5FR + 1FR + 1FR). Lalgorithme glouton est neanmoins interessant parce quil estrapide a` lexecution et quil fournit une solution proche de loptimum.

    Exercice 3.2.1 Sur un parcours fixe a` lavance, on connat les positions et le distancesmutuelles des stations distributrices de carburant. Un conducteur qui connait la contenancede son reservoir et la consommation de son vehicule pour 100 Km desire effectuer ce parcoursen sarretant un minimum de fois. Proposer une solution gloutonne calculant la liste desstations distributrices dans lesquelles le conducteur doit se reapprovisionner en carburant.

    40 Introduction a` la modelisation des reseaux

  • Module A41

    3.2.3 Algorithme de Kruskal

    Definition 3.2.1 (arbre) Un arbre est un graphe non oriente, connexe et sans cycle(acyclique).

    Lalgorithme de Kruskal est un algorithme glouton qui repose en grande partie surla proposition suivante

    Proposition 3.2.1 (proprietes des arbres) Soit G = (X,A) un graphe non oriente.Les affirmations suivantes sont equivalentes

    1. G est un arbre.

    2. G est connexe et si un arc quelconque est enleve de A, le graphe obtenu nest plusconnexe.

    3. G est acyclique et si un arc quelconque est ajoute a` A, le graphe obtenu contientun cycle.

    4. G est connexe et card(A) = card(X) 1.5. G est acyclique et card(A) = card(X) 1.

    En particulier, la proposition dit quun arbre qui a n sommets posse`de n 1 aretes.Lidee de base est de construire un arbre couvrant optimal en choisissant a` chaque

    fois, larete de longueur (poids) minimale.

    . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithme de Kruskal . . . . . . . . . . . . . . . . . . . . . . . . . .

    Donnees Un graphe G = (X,A) et une ponderation d : A R0.Resultat Un arbre (X,B) de poids minimum tel que B A.

    1. B = .2. Trier les elements de A par poids croissant.

    3. pour chaque arete a A par ordre de poids croissant fairesi B {a} en contient pas de cycle alorsB := B {a}

    fsifaitretourner(B). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Theore`me 3.2.1 Lalgorithme de Kruskal fournit, quelque soit le graphe considere, unarbre couvrant de poids minimal.

    3.2.4 Algorithme de Prim

    On utilise la notion de distance dun sommet x a` un ensemble de sommets Y . Cettedistance est la longueur dun plus court chemin joignant x a` un sommet de lensembleY , autrement dit,

    d(x, Y ) = minyY d(x, y) (3.2)

    ENIC - Support de cours Version n2.1 - Mars 2004 41

  • Recherche dun arbre couvrant optimal

    Deux sommets x et y sont dits adjacents sil existe une arete reliant x et y,

    Dans lalgorithme de Prim, lensemble des sommets X du graphe est partitionne entrois sousensembles :

    1. Lensemble T des sommets definitivement traites. Ces sommets sont relies par desaretes definitivement selectionnees comme faisant partie de larbre a` construire.

    2. Lensemble C sommets en cours de traitement. Par construction, chaque som-met en cours de traitement est adjacent dau moins un sommet de lensemble T ,

    autrement dit c C,t T,a A, c a t. Pour chaque sommet de c C,lalgorithme calcule la distance d(c, T ). Les sommets en cours de traitement sontstockes dans une liste.

    3. Lensemble N des autres sommets du graphe sont appeles sommets non traites.

    A chaque passage dans la boucle, lidee est de sortir de la liste C le sommet c0 C leplus proche de T et de le placer dans lensemble T ; larete qui realise cette plus courtedistance est selectionnee definitivement comme faisant partie de larbre a` construire. Larecherche de lelement c0 se fait en balayant les elements de la liste C, ce qui est plusrapide que de balayer lensemble X de tous les sommets du graphe.

    Pour preparer le prochain passage dans la boucle, on ajoute dans lensemble C lessommets de N adjacents au sommet c0 que lon vient de traiter definitivement. Pourchacun de ces sommets, on met a` jour le marquage de sa distance a` lensemble T .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithme de Prim . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Donnees Un graphe G = (X,A) et une ponderation d : A R0.Resultat Un arbre (X,B) de poids minimum tel que B A.

    1. B := , T := .

    2. Soit x0 est un sommet quelconque de X.C := {x0}, d(x0, T ) := 0, N := X {T C}.

    3. tant que C 6= faireSoit c0

    a t tel que a A, t T et d(c0, t) = mincC d(c, T ).

    C := C {c0}, T := T + {c0}, B := B + {a}.C := C + {x N | a A, c0 a x}.Mettre a jour les distances d(c, T ) pour tout sommet c Cadjacent a c0.N := X {T C}.

    faitretourner(B)

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    42 Introduction a` la modelisation des reseaux

  • Module A41

    3.3 Plus court chemin entre deux points

    3.3.1 Proble`me pose

    On se donne un graphe G = (X,A) oriente pondere par une distance (positive ounulle)

    d : A R0Soient x0 et y0 deux sommets du graphe G. La question est de trouver un plus courtchemin entre x0 et y0. En fait, lalgorithme presente calcule un arbre couvrant G dont laracine est le point de depart x0. Chaque branche de cet arbre est un plus court chemin(oriente) entre x0 et un sommet de G. On obtient donc les plus courts chemins entre lepoint de depart x0 et chacun des sommets accessibles depuis x0 (composante connexede x0).

    3.3.2 Algorithme de MooreDijkstra

    Cet algorithme est tres voisin dans son esprit de lalgorithme de Prim etudie a` lasection 3.2.4. Les differences portent, dune part sur le fait que le graphe est orienteet dautre part sur le marquage des sommets en cours de traitement. Ce marquageconcerne la distance au sommet de depart (et non la distance a` lensemble T ).

    Un sommet y est appele un successeur du sommet x sil existe un arc allant de x a`y, autrement dit,

    a A, x a y.On note Succ(x), lensemble des successeurs de x.

    Dans lalgorithme de MooreDijkstra, lensemble des sommets X du graphe est par-titionne en trois sousensembles :

    1. Lensemble T des sommets definitivement traites. Pour chaque sommet t T , onconnat un plus court chemain (oriente) allant du sommet de depart x0 au sommett et le marquage de la longueur de ce plus court chemin l(x0, t) est definive.

    2. Lensemble C sommets en cours de traitement. Par construction, chaque sommeten cours de traitement est le successeur dau moins un sommet de lensemble T ,autrement dit c C,t T,a A, t a c. Pour chaque sommet de c C,lalgorithme calcule la longueur l(x0, c) dun plus court chemin de la forme

    x0 = t0 t1 t2 tn c. (3.3)en supposant n N et t0, t1, t2, . . . , tn T . Les sommets en cours de traitementsont stockes dans une liste.

    3. Lensemble N des autres sommets du graphe sont appeles sommets non traites.

    A chaque passage dans la boucle, lidee est de sortir de la liste C le sommet c0 C leplus proche de x0 et de le placer dans lensemble T ; le circuit (chemin oriente) de la

    ENIC - Support de cours Version n2.1 - Mars 2004 43

  • Plus court chemin entre deux points

    forme (3.3) qui realise cette plus courte distance est selectionne definitivement commefaisant partie de larbre a` construire. La recherche de lelement c0 se fait en balayantles elements de la liste C, ce qui est plus rapide que de balayer lensemble X de tousles sommets du graphe.

    Pour preparer le prochain passage dans la boucle, on ajoute dans lensemble C les som-mets deN qui sont des successeurs du sommet c0 que lon vient de traiter definitivement.Pour chacun de ces sommets, on met a` jour le marquage de la longueur dun plus courtchemin de la forme (3.3)

    . . . . . . . . . . . . . . . . . . . . . Algorithme de MooreDijkstra . . . . . . . . . . . . . . . . . . . . .

    Donnees Un graphe oriente G = (X,A), une ponderation sur les aretes d : A R0et un sommet de depart x0 X.Resultat Un arbre (X0, B) avec B A. Lensemble des sommets X0 X est lacomposante connexe de x0. Les branches de larbre forment des plus courts chemins(orientes) permettant datteindre chaque sommet deX0 en partant du sommet de departx0.

    1. B := , T := .2. C := {x0}, l(x0, x0) := 0, N := X {T C}.3. tant que C 6= faire

    Soit c0a t tel que a A, t T et l(c0, t) = mincC l(c, T ).

    C := C {c0}, T := T + {c0}, B := B + {a}.C := C + {x N | a A, c0 a x}.Mettre a jour les distances l(x0, c) pour tout sommet c Csuccesseur de c0.N := X {T C}.

    faitX0 := Tretourner(X0, B). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Exercice 3.3.1 [Gestion de stocks]

    La demande dun equipement important est de 2 unites pour chacun des 4 mois suivants :Mai, Juin, Juillet et Aout. Les 2 unites sont livrees a` la fin de chaque mois. La firme souhaiteetablir le plan de cette production au moindre cout. Le stock ne peut depasser 2 unites, cestock est nul en Mai et doit etre nul au 31 Aout. Un equipement ne sera considere en stockque sil est present le 1er du mois, (ainsi un equipement fabrique courant Mai ne sera compteen stock, sil na pas ete livre fin Mai, quau 1er Juin, auquel cas son cout de stockage seraimpute au mois de Juin).

    La production maximale est de 4 unites par mois. Pour un stock de x equipements, et uneproduction y equipements, le cout mensuel vaut C(x, y) = S(x) + P (y) avec S(x) = 1 + x etP (y) = 10 + 5y pour les trois premiers mois. Pour le mois dAout (a` cause des vacances), lescouts sont doubles donc S(x) = 2 + 2x et P (y) = 20 + 10y.

    1. Modeliser par un graphe.

    44 Introduction a` la modelisation des reseaux

  • Module A41

    2. Etablir un plan de production au moindre cout.

    3.4 Planification de taches

    3.4.1 Proble`me pose

    On sinteresse a` planification dun syste`me complexe de taches soumises a` des con-traintes du genre :

    On ne peut pas construire les murs dune maison sans avoir terminerles fondations.

    Ces contraintes sont formulees sous forme dun graphe oriente pondere. Les sommetsdu graphe representent les etapes a` franchir. On suppose quil y a une etape de debut etune etape de fin de travaux. Les arcs du graphe representent les taches a` accomplir. Uneetape est franchie lorsque toutes les taches qui aboutissent sur celleci sont terminees.

    On se donne la date de debut des travaux (t = 0) ainsi que la duree (nombre reelpositif ou nul) de chaque tache. Lalgorithme calcule pour chaque etape e la date auplus tot de franchissement de cette etape e. On en deduit la date au plus tot de findes travaux (franchissement de letape finale).

    On appelle date au plus tard dune etape e, la date de franchissement de cette etapee, audela` de laquelle la date au plus tot de fin des travaux est remise en cause. Parun calcul dual au calcul des dates au plus tot, lalgorithme calcule les dates au plustard de franchissement de chaque etape (sommet) du graphe.

    Une etape est dite critique lorsque les dates au plus tot et au plus tard concident.On appelle chemin critique un chemin allant de letape de debut jusqua` letape de finde travaux et passant par des etapes qui sont toutes critiques. Un theoreme nous assurequil existe au moins un chemin critique.

    3.4.2 Algorithme

    3.4.2.1 Marquage des dates au plus tot

    Pour une etape e, on designe par Pred(e) lensemble des etapes x telles quil existeune tache allant de x a` e, autrement dit

    x Pred(e) si et seulement si , x e.

    La date au plus tot de franchissement de letape e peut etre calculee de`s que lonconnat la date au plus tot de chacune des etapes de Pred(e). On a la formule

    Tot(e) = maxx

    e

    (Tot(x) + d()) , (3.4)

    ENIC - Support de cours Version n2.1 - Mars 2004 45

  • Planification de taches

    dans laquelle d() designe la duree de la tache et Tot(x) la date au plus tot defranchissement de letape x.

    Nous allons introduire une technique nous permettant de repe`rer dans lensemble detoutes les etapes, celles pour lesquelles le calcul de la formule (3.4) peut etre mene demanie`re definitive. On doit donc repe`rer les etapes e pour lesquelles le marquage dePred(e) est termine. A chaque etape e est associe un compteur de reference Cpt(e).Au depart, ce compteur est initialise avec le nombre detapes appartenant a` Pred(e).Chaque fois que lon marque une etape de Pred(e), on decremente le compteur Cpt(e).Ce compteur est donc a` zero lorsque le marquage de Pred(e) est termine, ce qui est lebut recherche. Les etapes dont le compteur est a` zero sont rangees dans une liste desetapes en cours de traitement.

    Lensemble des etapes (sommets) X du graphe est partitionne en trois sousensem-bles :

    1. Lensemble T des etapes (sommets) definitivement traites. Pour chaque etape deT , la date au plus tot est definitivement calculee.

    2. Lensemble C des etapes en cours de traitement, cest a` dire les etapes dont lecompteur de reference est nul. Les sommets en cours de traitement sont stockesdans une liste.

    3. Lensemble N des autres etapes du graphe sont appeles etapes non traitees.

    . . . . . . . . . . . . . . . . . . . Marquage des dates au plus tot . . . . . . . . . . . . . . . . . . .

    Donnees Un graphe oriente G = (X,A), une ponderation d : A R0 et une etapede debut e0 X pour laquelle Pred(e) = .Resultat Pour chaque etape, un marquage de sa date au plus tot.

    1. Initialiser le compteur de reference de chaque etape e avecCpt(e) := card(Pred(e)).

    2. T := , C := {e0}, Tot(e0) := 0, N := X {T C}.3. tant que C 6= faire

    Soit e une etape quelconque appartenant a la liste C.Marquer letape e en utilisant la formule (3.4).Mettre e dans T .Decrementer les compteurs des etapes appartenant a Succ(e).et ranger dans C celles dont le compteur est nul.N := X {T C}.

    fait. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    3.4.2.2 Marquage des dates au plus tard

    Ce marquage est dual du marquage des dates au plus tot. On part de la date finaledes travaux calculee dans lalgorithme prece`dent. Le marquage se termine sur letapede debut des travaux.

    46 Introduction a` la modelisation des reseaux

  • Module A41

    Examinons le principe de lalgorithme. Pour une etape e, on designe par Succ(e)lensemble des etapes x telles quil existe une tache allant de e a` x, autrement dit

    x Succ(e) si et seulement si , e x.

    La date au plus tard de franchissement de letape e peut etre calculee de`s que lonconnat la date au plus tard de chacune des etape