Modélisation Quantitative de la Fiabilité

Transcription

Modélisation Quantitative de la Fiabilité
Modélisation Quantitative de la Fiabilité
J.M. Fourneau
Laboratoire PRiSM, CNRS UMR 8144
Université de Versailles St-Quentin
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[1/324]
Fiabilité
• Hypothèses : Les pannes se produisent. . .
• On peut essayer de les rendre moins fréquente : améliorer les
équipements, les logiciels, les méthodes de test.
• On peut aussi en limiter les conséquences.
• Construire un système plus fiable que ses composants élémentaires.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[2/324]
Comment ?
• Dupliquer les composants
• Vérifier si il est possible de récuperer une faute
• Avoir un composant de secours
• Dupliquer le calcul et choisir le résultat
• Tout ceci a un coût lié à la redondance. . .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[3/324]
Problématique
• Caractériser la fiabilité des composants : taux de panne, processus de
panne, processus des réparations.
• Evaluer la fiabilité d’un systême avec ou sans redondance
• Pour choisir la configuration la moins coûteuse répondant aux
contraintes de fiabilité imposées.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[4/324]
Plan
• Un peu de vocabulaire
• Un premier rappel de probabilités
• Modèles statiques : RBB et Fault Trees
• Un second rappel de probabilités
• Modèles dynamiques Markoviens
• Un troisième rappel de probabilités
• Les modèles non Markoviens et la simulation
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[5/324]
Fiabilité
• Reliability
• Définie par ITU (International Telecommunications Unions)
recommendation E.800:
• Définition 1 (Reliability;Fiabilité) The ability of an item to
perform a required function under given conditions for a given time
interval.
• Donc prendre en compte un intervalle de temps
• et le système doit être opérationnel pendant toute la période
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[6/324]
Disponibilité
• Availability
• Egalement définie par une recommendation ITU
• Définition 2 (Availability;Disponibilité) The ability of an item to
be in a state to perform a required function at a given instant of time
assuming that the external resources, if needed, are provided.
• Donc prendre en compte une date
• et le système doit être opérationnel à cette date.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[7/324]
Dependability
• Pour eviter la confusion entre la notion mathématique bien définie et le
mot usuel (Fiabilité),
• Proposée par IFIP WG 10.4
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[8/324]
Dependabillity Umbrella
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[9/324]
Systèmes Fiables
• Applications Critiques (6nines): aviation, espace, industrie nucléaire.
• Applications à Haute Disponibilité (5nines): E-commerce, finance,
télécommunications, réservation avion.
• Applications à Disponobilité usuelle (4nines): mobile
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[10/324]
Un premier rappel de Proba
• Probabilités, Aximatique
• Probabilités Conditionnelles, Formules de Bayes
• Théorème du conditionnement
• Variable Aléatoire,
• MTTF, MTTR
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[11/324]
Construire un modèle
• Espace d’état S: l’espace de tous les états possiblement observables
d’un système aléatoire
• Espace des Evenements E : tous les événements possibles utiles pour
le modèle
• Une mesure de probabilités µ sur les événements.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[12/324]
Espace d’Etats
• Tous les résultats possibles d’un système aléatoire.
• Fini (nombre de roues opérationnelles sur un véhicule)
• Dénombrable (nombre de clients dans une file)
• Continu (temps résiduel de service avant absence de client)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[13/324]
Axiomes des Probabilités
• Pour tout événement A, la probabilité de A vérifie :
• O ≤ µ(A) ≤ 1
• µ(E) = 1
• µ(A ∪ B) = µ(A) + µ(B) − µ(A ∩ B)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[14/324]
Conséquences
• µ(∅) = 0
• µ(Ē) = 1 − µ(E)
• A et B sont exclusifs si A ∩ B = ∅
• µ(A ∪ B) = µ(A) + µ(B) si A et B sont exclusifs.
!
• µ(∪i Ai ) = i µ(Ai ) si les Ai sont deux à deux exclusifs.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[15/324]
Probabilités Conditionnelles
• P r(A|B) : probabilité que A se produise sachant que B s’est déjà
produit.
• Si µ(B) > 0), P r(A|B) =
µ(A∩B)
µ(B)
• On peut généraliser (en supposant que toutes les probabilités soient
positives) :
µ(∩ni=1 Ai ) = µ(A1 )P r(A2 |A1 )P r(A3 |A1 ∩A2 ) . . . P r(An |A1 ∩A2 ∩. . . An−1 )
• Exemple : D’un lot de 10 pièces dont ma moitié est défectueuse, on
préleve sans remise un échantillon de taille 3, quelle est la probabilité
que l’échantillon ne comprenne aucune pièce défectueuse ?
P (A1 ∩ A2 ∩ A3 ) =
5 43
10 9 8
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[16/324]
Indépendance
• A et B sont mutuellement indépendants ssi P r(A|B) = µ(A).
• Donc, µ(A ∩ B) = P r(B|A)µ(A) = µ(B)µ(A)
• La probabilité de l’union de deux événements indépendants est leur
somme.
• Et la probabilité de l’intersection de deux événements indépendants est
leur produit.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[17/324]
Théorème de Conditionnement
• Théorème 1 Soit B1 , B2 , . . . Bn une partition des événements (deux à
deux mutuellement exclusifs et recouvrant l’ensemble des événements),
pour tout A on a :
!
µ(A) = ni=1 P r(A|Bi )µ(Bi )
• Theorem of Total Probability en Anglais.
• Exemple : D’un lot de 10 pièces dont ma moitié est défectueuse, on
préleve sans remise un échantillon de taille 3, quelle est la probabilité
que la seconde pièce soit bonne ?
µ(A2 ) = P r(A2 |A1 )µ(A1 ) + P r(A2 |Ā1 )µ(Ā1 ) =
5 4
5 5
+
10 9 10 9
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[18/324]
Formule de Bayes
• Théorème 2 (Formule de Bayes)
P r(A|B) = P r(B|A)
µ(A)
µ(B)
• Preuve:
Par définition, µ(A ∩ B) = P r(B|A)µ(A)
Et µ(A ∩ B) = µ(B ∩ A)
Donc P r(B|A)µ(A) = P r(A|B)µ(B)
• Utilisé en Inférence Statistique (les opinions a-priori doivent être
modifiées à la lumière des expériences)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[19/324]
Exemple Bayes
• Vous utilisez trois types de disques (notés T1, T2 et T3) avec les
proportions (0.6, 0.3 et 0.1). Sur la durée d’une mission les
probabilités de panne sont respectivement de 0.9, 0.8 et 0.5. Quelle est
la probabilité qu’un disque tombé en panne soit de type T1 ?
• On note B = { un disque au hasard tombe en panne } et Ak = {un
disque au hasard est de type Tk }.
• On a
P r(A1 |B) = P r(B|A1 )
µ(A1 )
µ(B)
et
µ(B) =
3
"
P r(B|Ai )µ(Ai )
i=1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[20/324]
Variable Aléatoire
• Une variable aléatoire est une fonction de l’espace des états vers
l’espace des réels.
• La fonction affecte un réel à chaque état
• Si l’image de E est finie ou dénombreble, la variable aléatoire est
discrète. On utilise les entiers plutôt que les réels.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[21/324]
Fiabilité
• Fiabilité R(t)
• Soit X la date de la panne du système.
• R(t) = P r(X > t)
• R(t) est décroissante.
• F (t) = 1 − R(t) est la distribution de la v.a. du temps de vie du
système.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[22/324]
MTTF
• Mean Time To Failure: temps moyen avant panne.
• M T T F = E[X]
• Donc, M T T F =
vie du système.
# +∞
0
tf (t)dt où f (t) est la densité de la v.a. temps de
• f (t) est la dérivée de F (t).
# +∞
• M T T F = 0 R(t)dt
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[23/324]
Disponibilité Ponctuelle
• A(t) = P r(Le système est opérationnel à la date t).
• Deux parties :
– Pas de panne entre 0 et t.
– Une date à la date x (entre 0 et t et une réparation avant t.
#t
• A(t) = R(t) + 0 A(t − x)dH(x) où H est la convolée de F
(distribution du temsp de vie du système) et G (distribution du temps
de réparation).
• Et donc A(t) ≥ R(t).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[24/324]
MTTR
• Mean Time To Repair: temps moyen de réparation.
• Y : temps de réparation.
#t
• M T T R = E[Y ] = 0 tg(t)dt où g(t) est la densité de la v.a. Y
• g(t) est la dérivée de G.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[25/324]
Disponilité Stationnaire
• Astst = limt→∞ A(t).
• Astst =
MT T F
M T T F +M T T R
• Downtime = (1 − Astst ) ∗ 60 ∗ 24 ∗ 365 en minutes par an.
• On parle d’état UP (opérationnels) et DOWN (non opérationnels)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[26/324]
Comment évaluer la fiabilité
• Mesures
– Plus précis, plus cher
– Méthodes Statistiques
– Faire attention au délai, au coût, et si c’est vraiment possible.
• Modèles
– Plus complexes, moins chers, moins fiables
– Méthodes Combinatoires ou Probabilistes ou Statistiques
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[27/324]
Modèles
• Simulation : Monte Carlo ou événements discret ou horloge
• Analytique : Processus Stochastique et en particulier analyse
Markovienne des modèles avec représentation explicite des états.
• Méthodes statiques ne reposant pas sur l’espace des états : RBD et
Arbres de Fautes.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[28/324]
RBD: Reliability Block Diagramm
• Une représentation graphique du système et de la fiabilité.
• Chaque composant est représenté par un bloc.
• Sert à déterminer si le système est UP ou DOWN en fonction des états
des composants.
• Idée intuitive : un bloc peut être vu comme un switch qui est fermé
quand le composant est UP et ouvert quand le composant est DOWN.
• Il y a une entrée dans le diagramme S et une sortie T .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[29/324]
RBD-2
• C’est un modèle reposant sur la logique et non pas sur les états.
• Modèle Statique : pas de représentation du temps ni de l’ordre entre
des événements successifs.
• Hypothèse d’Indépendence des pannes des différents composants.
• Pas de pannes arrivant conjointement ou de pannes provoquées par la
panne d’un autre composant.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[30/324]
RBD-3
• Le système est UP si il y a au moins un chemin passant par des
éléments UP et reliant S à T .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[31/324]
Logique
• Le comportement du système par rapport à la panne est modélisé par
les connexions entre blocs.
• Si tous les composants sont nécéssaires, les modéliser en série
• Si un seul des composants est nécéssaire, les modéliser en parallèle.
• Si il en faut au moins K parmi N , utiliser la structure ”K out of N”
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[32/324]
Blocs en Série
• n composants indépendants en série.
• Ei le composant i fonctionne.
• Rs = µ(E1 ∩ E2 ∩ . . . ∩ En )
• A cause de l’indépendance :
µ(E1 ∩ E2 ∩ . . . ∩ En ) =
n
$
µ(Ei )
i=1
• En notant Ri = µ(Ei ), on obtient :
Rs =
n
$
Ri
i=1
• On remarque que Rs < min(Ri ). Le système est moins fiable que sa
composante la moins fiable.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[33/324]
Blocs en Parallèle
• n composants indépendants en prallèle.
• Ei le composant i fonctionne.
• Rs = µ(E1 ∪ E2 ∪ . . . ∪ En )
• Le système est en panne si tous les composants sont en panne:
1 − Rp =
n
$
(1 − Ri )
i=1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[34/324]
Systèmes Série-Parallèles
• Décomposition récursive : un système série-parallèle (SP) est soit :
– un bloc isolé
– plusieurs sous-systèmes SP en série
– plusieurs sous-systèmes SP en parallèle
• Utilise la décomposition récursive de la construction pour obtenir la
fiabilité.
• Exemple simple : n étages en série, chaque étage composé de m
composants en parallèle tous identiques:
Rsp = (1 − (1 − R)m )n
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[35/324]
Example : Station de Travail/Serveur de Fichiers
• Un serveur de fichiers,
• Deux stations de Travail identiques
• Un réseau pour les connecter. On suppose que le réseau est fiable.
• Le système est opérationnel si le serveur de fichiers est opérationnel et
au moins une des deux stations de travail est opérationnelle.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[36/324]
Représentation de l’exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[37/324]
Etude de la fiabilité de l’exemple
• Rw fiabilité d’une station de travail
• Rf fiabilité du serveur de fichiers
• Rf sw fiabilité du système
Rf sw = (1 − (1 − Rw )2 )Rw
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[38/324]
Systèmes NON Série-Parallèles
• Théorème 3 Un graphe est SP ssi il ne contient ni structure N ni
structure W.
• Si on ne peut plus utiliser la décomposition SP, on peut enumérer et
construire la table Booléenne.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[39/324]
Exemple non SP: réseau avec bridge
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[40/324]
Utilisation de la table Booléenne
• Examiner tous les cas UP et DOWN pour toutes les composantes
• Dans chaque cas, évaluer si le système est UP ou DOWN
• Calculer les probabilités de chaque cas (facile, c’est le produit des
probas élémentaires à cause de l’hypothèse d’indépendance).
• Exemple : Si E1 = E2 = E4 = 1 et E3 = E5 = 0 le système est UP et
la probabilité de cette configuration est R1 R2 R4 (1 − R3 )(1 − R5 ).
• Sommer les probabilités que le système soit UP
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[41/324]
Première partie de la table de l’exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[42/324]
Seconde partie de la table de l’exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[43/324]
Résultat pour l’exemple
• En agrégeant la table précédente et en factorisant on trouve que:
Rbridge
= R1 R2
+ R1 (1 − R2 )(R4 R5 + R3 (1 − R4 )R5 )
+ (1 − R1 )R4 (R5 + (1 − R5 )R2 R3 )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[44/324]
Conditionnement et Factorisation
• Mais il faut considérer les 2n configurations si il y a n objets.
• On conditionne sur le l’état d’un composant (ou de plusieurs
composantes) pour se ramener à des structures déjà étudiées ou faciles
(SP)
• Sur l’exemple du bridge, on conditionne sur l’état du bloc 3.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[45/324]
Conditionnement sur 3 UP
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[46/324]
Conditionnement sur 3 DOWN
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[47/324]
Conditionnement
• Si le composant 3 est DOWN, on obtient un modèle SP
• Si le composant 3 est UP, on obtient également un modèle SP
• On applique le théorème de conditionnement et les formules pour les
modèles série-parallèles.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[48/324]
Conditionnement
• R3down = 1 − (1 − R1 R2 )(1 − R4 R5 )
• R3up = (1 − (1 − R1 )(1 − R2 ))(1 − (1 − R4 )(1 − R5 ))
• On applique le théorème de conditionnement
Rbridge = R3 R3up + (1 − R3 )R3down
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[49/324]
Composant K parmi N
• Système consistant en N composants indépendants.
• Le système est UP quand K ou plus de ces composants sont UP.
• Cas Identique : tous les composants ont le même taux de panne et de
réparation.
• Cas Non Identique : Les composants ont des taux de panne et de
réparation distincts par composant.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[50/324]
Avec sous-composants identiques
• Soit R la fiabilité d’un composant.
• On aditionne les probabilités de toutes les configurations avec au
moins K composantes opérationnelles.
R(K, N ) =
N
"
Rj (1 − R)N −j
j=K
N!
j!(N − j)!
• Somme partielle d’une distribution binomiale.
• Algorithme classique (attention aux approximations numériques)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[51/324]
Récurrence dans le cas général
• Système dont les composants sont distincts. La fiabilité de la
composante i est Ri .
• 3 remarques simples :
– Un système avec K = 0 (sans contraintes) est toujours UP.
R(0, N ) = 1
– Un système trop contraint est toujours DOWN.
R(j, N ) = 0 si j > N
– En conditionnant sur l’état de la composante N :
R(i, N ) = (1 − RN )R(i, N − 1) + RN R(i − 1, N − 1)
• Algorithme récursif.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[52/324]
Arbres de Fautes
• Une représentation graphique de la combinaison d’événements qui peut
provoquer l’occurence d’une panne.
• Modèle combinatoire (i.e. ne representant ni le temps, ni les états)
• Objets élémentaires: feuilles, noeud interne d’un arbre, racine.
• Feuille : composant du système
• Noeud interne : porte logique
• racine : un boolean qui porte l’état du système. Il passe à TRUE
quand le système est en PANNE. . .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[53/324]
Arbres de Fautes -2
• Portes:
– OR : pour connecter des sous-systèmes en série
– AND : pour connecter des sous-systèmes en parallèle
– Porte (N − K + 1) of N : pour connecter des composants qui sont
dans un système K parmi N
• La panne d’un composant met à TRUE l’entrée de la porte où il est
connecté.
• Dans les autres cas, elle est à FALSE.
• Evaluation de l’arbre. . .
• Si la racine de l’arbre est à TRUE, le système est en panne.
• Fiabilité : Probabilité que la racine soit FALSE.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[54/324]
Arbres de Fautes -3
• On peut ajouter de nombreuses autres portes : NOT, XOR, Priority
AND, des dépendances fonctionnelles.
• Deux types de Fault Trees: avec ou sans événements répétés.
• La complexité de la résolution est fonction de la (non) répétition des
événements.
• Répétition : formellement ce n’est plus un arbre si on regroupe et ce
n’est plus indépendent si on sépare.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[55/324]
Exemple sans répétition: alternate routing
• Un réseau avec 5 noeuds : A, B, C, D, E et 10 liens.
• Le système est UP lorsque A est connecté à B et C est connecté à D
par une route directe : AB, et CD ou une route supplémentaire : CED,
ACB, ADB, AEB.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[56/324]
Arbre de Faute pour le routage
• Panne de liens. Routeurs Fiables.
• Feuilles : liens du réseau.
• Portes : de type OR ou AND.
• Pas de répétition à cause des chemins considérés.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[57/324]
Arbre de Faute pour le routage
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[58/324]
Analyse des portes simples
• Panne sur une porte AND à deux entrées a et b :
(1 − Rs ) = (1 − Ra )(1 − Rb )
• Porte sur une porte OR à deux entrées a et b :
(1 − Rs ) = (1 − Ra ) + (1 − Rb ) − (1 − Ra )(1 − Rb )
• Car il faut ne pas compter deux fois le cas ou les composants a et b
sont en panne.
• Cette équation est équivalente à Rs = Ra Rb .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[59/324]
Analyse de l’arbre de Faute pour le routage
• Ce qui donne pour le modèle du routage :
R = R1 R2
où
R1 = 1 − (1 − Rab )(1 − Rac Rcb )(1 − Rad Rdb )(1 − Rae Reb )
et
R2 = 1 − (1 − Rcd )(1 − Rce Red )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[60/324]
Arbre de Fautes avec répétition
• Des feuilles sont dupliquées.
• Exemple : 2 processeurs p1 et p2, deux mémoires locales lm1 et lm2 et
une mémoire globale gm.
• Le système est UP si il existe au moins un processeur UP connecté à
une mémoire (locale ou globale) UP.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[61/324]
Arbre de Fautes avec répétition
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[62/324]
Analyse Exemple
• On conditionne sur l’état de gm et le théorème de conditionnement.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[63/324]
Formule Logique
• On peut aussi écrire la panne comme une formule logique à partir de
l’arbre de fautes.
• Dans l’exemple précédent, on note P 1 la proposition ”le processeur p1
fonctionne”, (notations identiques pour les autres propositions)
• On obtient :
¯ 1GM
¯ )(P¯2 + LM
¯ 2GM
¯ )
P anne = (P¯1 + LM
• après développement :
¯ 1GM
¯ + P¯1LM
¯ 2GM
¯ + LM
¯ 1LM
¯ 2GM
¯
P anne = P¯1P¯2 + P¯2LM
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[64/324]
Travail sur la formule
• On a une union de termes (ie la somme)
• Mais les termes obtenus ne sont pas disjoints.
• Avec des termes disjoints, on pourra faire la somme des probabilités.
Si A et B disjoints :
µ(A ∪ B) = µ(A) + µ(B)
• Transformer la formule pour obtenir des termes disjoints.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[65/324]
Algorithmes SDP
• Sum of Disjoint Products
• Transforme une formule pour obtenir une somme de termes disjoints.
• Dans l’exemple précédent on obtient :
¯ 2GM
¯ +P 1P¯2LM
¯ 1GM
¯ +P 1P 2LM
¯ 1LM
¯ 2GM
¯
P anne = P¯1P¯2+P¯1P 2LM
A partir de
¯ 1GM
¯ + P¯1LM
¯ 2GM
¯ + LM
¯ 1LM
¯ 2GM
¯
P anne = P¯1P¯2 + P¯2LM
• Pas d’algorithme optimal
• Plusieurs heuristiques reposant sur des coupes minimales.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[66/324]
Analyse des Arbres de Fautes
• Si il n’y a pas de répétition dans l’arbre, on peut le transformer en un
RBD.
• Et employer les algorithmes du RBD pour calculer la fiabilité
• Si il y a répétition dans l’arbre :
– Factorisation
– Algorithme SDP (sum of disjoint products)
– Structure de données BDD pour gérer l’explosion combinatoire
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[67/324]
Binary Decision Diagram (BDD-1)
• un BDD est une structure de données pour coder une fonction
Booléenne, ou en plus abstrait, un ensemble.
• Une fonction est représentée par un graphe orienté acyclique avec une
racine. Ce graphe contient des noeuds de décision et deux feuilles
étiquetées 0 et 1.
• Chaque noeud de décision a deux fils (haut associé 1 et bas 0).
• Un chemin de la racine la feuille 1 représente une affectation partielle
ds variables pour que la fonction soit vraie.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[68/324]
Exemple BDD
¯ X2
¯ X3
¯ + X1X2 + X2X3
Fonction f (X1, X2, X3) = X1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[69/324]
BDD-2
• Un BDD est ordonné (ordered) ssi les variables sont dans le même
ordre sur tous les chemins
• Un BDD est réduit (reduced) ssi
– Tous les sous graphes isomorphes ont été fusionnés
– Tous les noeuds dont les deux fils sont isomorphes ont été
supprimés.
• En général, BDD signifie Reduced Ordered Binary Decision Diagram.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[70/324]
BDD-3
• La transformation d’une formule en BDD est simple et elle ne nécessite
pas la construction de l’arbre de Shannon (l’arbre complet)
• On peut construire de façon compositionnelle
• La taille du BDD est très sensible à l’ordre des n variables
• La même formule peut être codée par un BDD linéaire en n ou
exponentiel en n selon l’ordre des variables retenu.
• L’optimisation de la taille en jouant sur l’ordre est un pb dur mais il y
a des heuristiques
• Le AND ou le OR de 2 BDD a une complexité de l’ordre du produit
des tailles.
• Le NOT d’un BDD a une complexité en la taille.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[71/324]
BDD-4
• Algorithmes récursifs
• NOT
– N OT (0) = BDD(1)
– N OT (1) = BDD(0)
– N OT (x.F1 + −x.F0 ) = BDD(x, N OT (F1 ), N OT (F0 ))
• OP (OR ou AND)
– (x.F1 + −x.F0 )OP (x.G1 + −x.G0 ) = (x.(F1 OP G1 ) + −x.(F0 OP G0 ))
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[72/324]
Exemple OR BDD - Récursion
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[73/324]
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[74/324]
Complexité de l’Analyse
• Arbre de Fautes sans répétition : résolution en temps linéaire.
• Arbre de Fautes avec répétition : résolution en temps exponentiel.
• En pratique : avec BDD et Factorisation, les outils logiciels peuvent
résoudre des problèmes avec des centaines de composants.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[75/324]
Un Second Rappel de Probabilités
• Prendre en compte le temps.
• Processus Stochastique.
• Nature du temps, de l’espace.
• Bernoulli, Géométrique, Loi de Poisson
• Processus de Poisson, Loi exponentielle
• Markov
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[76/324]
Prendre en compte le temps
• pour prendre en compte l’ordre des événements
• Exemple : voiture + roue de secours + téléphone portable.
• Panne Grave : roue en panne + roue de secours en panne et téléphone
en panne avant que les roues ne soient en panne (sinon on appelle le
dépanneur).
• pour prendre en compte les dépendances temporelles (taux de panne
variant avec le temps).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[77/324]
Bathtub Curve
• DFR : decreasing failure rate, composant en début de vie (pb de test)
• CFR : constant failure rate, composant à l’état stationnaire
• IFR : increasing failure rate, composant veillissant
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[78/324]
DFR
• Causée par la non détection de défauts hardware ou software.
• Ne pas utiliser des modèles avec taux de panne constant car on
trouverait des résultats peu significatifs.
• Utiliser loi ayant la propriété DFR (par exemple Weibull).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[79/324]
CFR
• Taux de panne constant (ou presque)
• Pannes provenant de l’environnement exterieur
• Processus de Poisson pour arrivées de panne, et loi exponentielle pour
délai entre pannes successives.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[80/324]
IFR
• Effet de veillissement sur des pièces mécaniques
• pb thermiques pour l’électronique
• On peut aussi employer la loi de Weibull pour modéliser un
phénomène IFR.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[81/324]
Processus Stochastique
• Evolution d’une variable aléatoire avec le temps
• Espace :
– discret (fini ou infini) : une population
– continu : des coordonnées
• Temps:
– discret : horloge
– continu : temps physique
– événement discret :
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[82/324]
Exemples
• Temps discret, Espace discret : la fortune d’un joueur
• Temps discret, Espace continu : une hauteur d’eau à un barrage,
chaque jour
• Temps continu, Espace discret : le nombre de particules au cours d’une
réaction
• Temps continu, Espace continu : les positions de corps dans une
intéraction gravitationnelle
• Evénement discret, Espace discret : le nombre de paquet dans un
routeur
• Evénement discret, Espace continu : prix d’une action.
•
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[83/324]
Trajectoire Temps Discret Espace Discret
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[84/324]
Trajectoire Temps Discret Espace Continu
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[85/324]
Trajectoire Evenement Discret Espace Discret
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[86/324]
Trajectoire Evenement Discret Espace Continu
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[87/324]
Limitations
• Temps Discret, Evénement discret (bcp)
• Quelques processus simples en temps continu (pour générer des
événements)
• Espace Discret
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[88/324]
Temps Discret - Bernoulli
• Bloc de base pour la construction des v.a. discretes et des processus.
• 2 résultats possibles : 0 ou 1
• µ(1) = p
• µ(0) = 1 − p
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[89/324]
Loi Binomiale
• B(n, p) : La somme de n v.a. indéprendantes Bernoulli de paramètres
p.
• Distribution de Probabilités :
µ(k) = pk (1 − p)n−k
n!
k!(n − k)!
• Pour modéliser des systèmes avec n composants indépendants ou n
essais pour effectuer une tâche.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[90/324]
Aspects Calculatoires
• L’algorithme naif est numériquement instable
• Si n est petit on peut employer une formule de récurence
µ(k) = µ(k − 1)
p n−k+1
1−p
k
• Si n est grand, on peut approximer par une loi Normale.
• La distribution de probabilité a trois formes
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[91/324]
Distribution d’une Binomiale 8
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[92/324]
Distribution Géométrique
• Le nombre d’essais (incluant le dernier) avant une réussite
• L’espace des états est infini dénombrable
• Soit p la probabilité de succès, la distribution est :
µ(n) = p(1 − p)n−1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[93/324]
Distribution Géométrique et Propriété Sans Mémoire
• La distribution géométrique a la propriété Sans Mémoire.
• Ce qui signifie que le futur est indépdendent du passé.
• Précisement, après n échecs, le nombre d’essais avant réusssite a la
même distribution que la loi initiale.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[94/324]
Preuve
• X date du premier succès, q = 1 − p, j = n + i.
• n premiers essais: echecs.
P r(X = j > n|X > n) = P r(X = n + i|X > n)
= P r(X = n + i ∩ X > n)/µ(X > n)
= P r(X = n + i)/µ(X > n)
= pq n+i−1 /(1 − (1 − q n )) = pq i−1
= µ(Z = i)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[95/324]
Loi de Poisson
• La v.a. représente le nombre d’événements (par exemple des pannes)
qui se produisent dans l’intervalle [0, t[.
• Un seul paramètre : le taux des arrivées, λ.
• Distribution limite d’une binomiale renormalisée lorsque le temps tend
vers 0
• Distribution :
−λt (λt)
µ(k) = e
k
k!
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[96/324]
Variables aléatoires continues
• Pour représenter le temps ou les états.
• Délai entre deux pannes ou délai pour réparer une panne.
• Distribution exponentielle (propriété sans mémoire, processus de
Poisson)
• Distribution de Weibull et propriétés IFR, CFR, DFR.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[97/324]
Rappels
• On utilise la notion de distribution FX (t) = µ(X ≤ t).
• Si FX (t) est continue, alors X est une v.a. continue.
• Si FX (t) est en escalier, alors X est une v.a. discrete.
• 0 ≤ FX (t) ≤ 1
• FX (t) est croissant.
• FX (−∞) = 0 et FX (∞) = 1.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[98/324]
Loi Exponentielle
• Une variable aléatoire positive avedc la propriété sans mémoire.
• Liée au processus de Poisson, la loi de Poisson et aux chaines de
Markov.
• F (t) = 1 − exp(−λt) et h(t) = λ.
• A cause de la propriété sans mémoire, elle modélise :
– un délai avant panne, un délai de réparation
– des durées entre appels, sessions,
– des temps de service (mais les tailles de paquets ne sont jamais
aléatoires).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[99/324]
Attention
• C’est une hypotèse. . .
• Il faudrait faire des mesures pour vérifier.
• Et chercher des distributions plus réalistes en les paramétrant par plus
d’un moment (un seul parametre pour exponentiel, deux pour
Weibull).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[100/324]
Fiabilité et Propriété Sans Mémoire
• Cela signifie que la distribution du temps résideul de vie ne dépent pas
du temps où le composant est en opération.
• Fiabilité: le composant tombe en panne après une panne extérieure
soudaine et non à la suite d’une détérioration graduelle.
•
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[101/324]
Taux de Panne et Exponentielle
• h(t) est le taux de panne instantané (le nombre de pannes par unité de
temps)
• h(t) =
f (t)
R(t)
• L’exponentielle est la seule v.a. continue de type CFR.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[102/324]
Loi de Weibull
• Peut modéliser des phénomènes CFR = 1, IFR > 1et DFR < 1 selon
les paramètres.
• est le parametre de forme (shape) et est celui d’echelle (scale).
• F (t) = 1 − exp(−λtα ), h(t) = λαtα−1 .
• Fiabilité : R(t) = exp(−λtα )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[103/324]
Quelques exemples
• Cold Spare
• Warm Spare
• Hot Spare
• Système triple avec vote
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[104/324]
Cold Spare
• Un seul composant est actif
• L’autre (le spare) est inactif
• Le spare ne tombe pas en panne quand il est inactif
• La durée de vie est exponentielle de λ
• Détection de panne et changement pour le spare : immédiat
• La durée de vie totale est la somme de deux exponentielles de même
taux: Erlang 2
R(t) = 1 + λt)exp(−λt)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[105/324]
Warm Spare
• Un composant est actif
• L’autre (le spare) est en attente
• Le spare peut tomber en panne quand il est en attente
• La durée de vie est exponentielle de λ pour un composant actif
• La durée de vie est exponentielle de α pour un composant en attente
• Détection de panne et changement pour le spare : immédiat
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[106/324]
Warm Spare Analysis
• Durée de vie totale : la somme de deux exponentielles mais qui ne sont
pas de même taux.
• Le premier événement est la panne du composant principal ou du spare
• La durée avant cet événement est le minimum de l’exponentielle de λ
et de l’exponentielle de taux α, ce qui est une exponentielle de taux
λ + α.
• La durée de vie pour le composant survivant est une exponentielle de
taux λ (propriété sans mémoire).
• Durée de vie totale : la somme de exponentielle de taux λ + α et de
l’exponentielle de taux λ.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[107/324]
Hot Spare
• Les deux composants sont actifs.
• La durée de vie est exponentielle de λ pour un composant actif
• Détection de panne et changement pour le spare : immédiat
• Durée de vie totale : la somme de deux exponentielles mais qui ne sont
pas de même taux.
• Le premier événement est la panne du composant principal ou du spare
• La durée avant cet événement est le minimum de l’exponentielle de λ
et de l’exponentielle de taux λ, ce qui est une exponentielle de taux 2λ.
• La durée de vie pour le composant survivant est une exponentielle de
taux λ (propriété sans mémoire).
• Durée de vie totale : la somme de exponentielle de taux 2λ et de
l’exponentielle de taux λ.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[108/324]
Système triple avec voteur: TMR
• 3 composants et un voteur
• Le voteur ne tombe pas en panne et ne fait pas d’erreurs.
• C’est un système 2 parmi 3.
• Soit RT M R sa fiabilité et R la fiabilité d’un composant.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[109/324]
Analyse
• On obtient d’abord que :
RT M R = 3R2 (t) − 2R3 (t)
• Si on suppose que la fiabilité d’un composant est exponentielle de taux
λ,
Rt = exp(−λt)
• Finalement,
RT M R (t) = 3exp(−2λt) − 2exp(−3λt)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[110/324]
Espérance-MTTF
• Rappel : E[X] =
#∞
O
tfX (t)dt.
• L’espérance peut ne pas exister (voir les lois puissances)
• L’espérance est linéaire
E[X + Y ] = E[X] + E[Y ]
• Mais pour le produit il faut l’indépendance. Si X et Y sont
indépendants, alors :
E[X ∗ Y ] = E[X] ∗ E[Y ]
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[111/324]
Quelques résultats sur le MTTF
• Le MTTF est l’intégrale de la fiabilité
• Le MTTF d’un composant dont la durée de vie est exponentielle de
taux λ est 1/λ.
• Si le composant a une durée de vie hypoexponentielle de taux λ1 ,
λ2 ,. . . λn , le MTTF est la somme des 1/λi .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[112/324]
MTTF du Système triple avec vote
• On suppose que les composants ont une durée de vie exponentielle.
% ∞
% ∞
M T T FT M R =
RT M R (t)dt =
3exp(−2λt) − 2exp(−3λt)dt
0
0
Donc,
M T T FT M R =
• On remqrque que M T T FT M R <
1
λ
3
2
5
−
=
2λ 3λ
6λ
qui est le MTTF d’un composant.
• Donc le MTTF du TMR est 16% plus petit que le MTTF d’un
composant mais sa fiabilité est supérieure pour une mission de courte
durée.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[113/324]
MTTF des autres exemples
• En utilisant la linéarité de l’espérance et l’espérance d’une
exponentielle,
• Cold Spare
M T T FColdSpare =
2
λ
• Warm Spare
M T T FW armSpare =
1
1
+
λ λ+α
• Hot Spare
M T T FHotSpare =
3
2λ
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[114/324]
Processus de Poisson
• Un processus ponctuel tel que le nombre d’événements entre 0 et t suit
une loi de Poisson.
• La différence entre deux point successifs suit une loi exponenetielle de
même taux.
• Pour représenter
– apparition de pannes
– arrivées de paquets (réseau)
– arrivées de sessions (serveur Web)
– arrivées de jobs (OS)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[115/324]
Propriétés du processus de Poisson
• La superposition de deux processus de Poisson indépendents est un
processus de Poisson. Le taux global est la somme des taux.
• Le splitting d’un processus de Poisson (de taux λ) selon un processus
de Bernoulli indépdendent (de taux p) crèe deux processus de Poisson
indépendents de taux λp et λ(1 − p).
• PASTA: Poisson Arrivals See Time Average.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[116/324]
Chaı̂nes de Markov en temps discret
• On travaille sur un processus à valeur dans un espace d’états
dénombrable.
• Définition 3 (Markov) Un processus Xt est Markovien si et
seulement si
P r(Xt+1 = j|xt = it , xt−1 = it−1 . . . , x0 = i0 ) = P r(Xt+1 = j|Xt = it ) (1)
• On note P r(Xt+1 = j|Xt = it ) = Pi,j (t).
• Définition 4 (Chaı̂ne homogène) Une chaine de Markov est
homogène si et seulement si Pi,j (t) est indépendant de la date t. Cette
probalilité, noté Pi,j , est la probabilité de transition de i vers j.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[117/324]
DTMC, Matrice Stochastique
Par construction, la matrice P vérifie les propriétés suivantes :
• tous les éléments de P sont positifs ou nuls
!
• pour tout i, j Pi,j = 1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[118/324]
Trajectoire
• Supposons qu’à l’instant 0, le processus soit connu ( valeur de la
probabilité à l’instant 0 P r(X0 = i) ∀i)
• Appliquons le théorème de conditionnement
P r(X1 = j) =
"
"
Pi,j P r(X0 = i) (2)
π(k) = π(0)P k
(3)
P r(X1 = j|X0 = i)P r(X0 = i) =
i
i
• Soit π(t) le vecteur des probabilités P r(Xt = i).
π(1) = π(0)P
et
Ce qui donne un algorithme simple de calcul de la distribution à la date k.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[119/324]
Problèmes d’absorbtion, de transitoires et de stationnaire
• Existence d’une limite au vecteur π(t) lorsque le temps t temps vers
l’infini ?
• Que vaut π(t) à une date quelconque ?
• La chaı̂ne est elle absorbée ?
• La chaı̂ne revient elle toujours dans certains états ?
• Etablir une classification des états et des chaı̂nes.
• Tenir compte de la taille
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[120/324]
Premier Exemple : probabilités limites


0.1
0.4
0.5
0
0
0.2
0.3
0.5
0.3
0.1
0.2
0.4
0.1
0
0
0.9


M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[121/324]
Convergence des puissances
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[122/324]
Deuxième exemple: être absorbé en 4
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[123/324]
Classification des Etats
On définit pour chaque état quatre quantités liées aux dates de retour à cet
état.
• fjn est la probabilité de l’événement ”(le premier retour en j à lieu en
n transitions)”.
!∞
• fj est la probabilité de retour en j : fj = n=1 fjn
!∞
• Mj est le temps moyen de retour en j : Mj = n=1 n × fjn
• γ est le pgcd des valeurs de n telles que fjn est non nulle. γ est la
période de retour.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[124/324]
Transience ou Récurence
• Si fj < 1 l’état est transitoire.
• Si fj = 1 l’état est récurent :
– si Mj = ∞, l’état est recurent nul.
– si Mj < ∞, l’état est recurent non nul.
De plus,
– si γ > 1, l’état est périodique de période γ.
– si γ = 1, l’état est apériodique.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[125/324]
Classification des chaines
• Nécessaire d’examiner leur structure.
• Définition 5 Un sous ensemble A d’états est fermé si et seulement si
il n’y a pas de transition entre cet ensemble et son complémentaire.
!
!
i∈A
j∈A Pi,j = 0
• Définition 6 (Etat absorbant) un état absorbant est un sous
ensemble fermé ne comprenant qu’un seul élément.
• Définition 7 Une chaine est irréductible si et seulement si le graphe
orienté de la chaine est fortement connexe. C’est à dire si il existe un
suite de transitions menant de i à j pour tous les états i et j.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[126/324]
• Pour analyser une chaine réductible, il faut la décomposer en
composantes fortement connexes.
• Théorème 4 Soit une chaine de Markov irréductible, tous les états
sont:
– tous transitoires
– ou tous récurents non nuls
– ou tous récurents nuls
De plus, si un état est périodique, alors tous les états le sont avec la
même période.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[127/324]
Existence d’une limite
Théorème 5 Soit une chaine de Markov, irréductible et apériodique, alors
la distribution limite π = limt→∞ π(t) existe et est indépendante de la
distribution initiale π(0) (on dit qu’elle est ergodique). De plus,
• soit tous les états sont transitoires ou récurents nuls et dans ce cas
π(j) = 0, pour tout j.
• soit tous les états sont récurents non nuls et π est solution unique des
deux équations :

 π = πP
(4)
 πe = 1
où e est un vecteur colonne dont tous les éléments sont 1. De plus, on
a π(j) = 1/Mj
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[128/324]
Chaı̂ne Finie
• Plus simple: pas de récurrence nulle.
• Théorème 6 Toute chaine finie,irréductible et apériodique est
ergodique.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[129/324]
Résoudre le stationnaire
• Analytiquement (voir plus loin)
• Numériquement (pourquoi pas ?)
• Simulation (en faisant très attention)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[130/324]
Résoudre états absorbants
• Probabilité d’être absorbée sachant que l’on commence en i
• Temps moyen avant d’être absorbée sachant que l’on commence en i
• Hypothèse : il y a plusieurs points absorbants et pas de classes
récurentes (pretraitement pour fusionner chaque classe récurente en un
sommet).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[131/324]
Pb des points absorbants
• On suppose que l’espace des états est partitionné: les états absorbants
sont en tête.


Id 0

• La matrice P peut être décomposée en bloc 
R Q


Id
0

• On peut prouver que P 2 = 
2
R + QR Q


Id
0

• Et que, pour tout n, P n =  !n−1
( j=0 Qj )R Qn
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[132/324]
Matrice Fondamentale
• P n est la matrice de transition pour n sauts successifs.
• limn→∞ P n [i, j] est la probabilité d’être en j à l’infini sachant que l’on
a débuté en i.
• La matrice M = (Id − Q)−1 existe si Q ne contient pas de classe
!
j
récurrente et elle vaut ∞
j=0 Q .
• Et donc,

limn→∞ P n = 
Id
MR
• M est la matrice fondamentale.
0
0


M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[133/324]
Probabilités d’être absorbé
• L’entrée [i, j] de la matrice produit M ∗ R donne la probabilité d’être
absorbé en j sachant que le point initial est i (point non absorbant).
• Si πO est la distribution initiale la probabilité d’être absorbé en j
s’obtient par conditionnement sur l’état initial
µ(absorbe en j) =
"
(M R)[i, j]π0 (i)
i
• Si il y a un seul point, la proba est 1 (inutile de faire des calculs).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[134/324]
Temps Moyen avant d’être absorbé
• Soit Xi,j le nombre de visite achant que l’on a débuté en i avant d’être
absorbé.
• On calcule dans un premier temps E[Xi,j ].
• Le temps moyen avant d’être absorbé sachant que l’on a débuté en i
!
est alors : j E[Xi,j ].
• Le temps moyen avant d’être absorbé sachant la distribution initiale π0
! !
est alors : i j π0 (i)E[Xi,j ].
• On regoupe tous les points d’absorbtion en un seul (de numéro 1).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[135/324]
E[Xi,j ]
• Théorème 7 E[Xi,j ] = M (i, j)
• On retouve la matrice fondamentale.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[136/324]
Preuve
• Posons δi,j le symbole de Kronecker,
• En conditionnant sur la première étape on a

 δ
avec proba P (i, 1)
i,j
Xi,j =
 Xk,j + δi,j avec proba P (i, k)
• En passant aux espérances:
E[Xi,j ] = δi,j P (i, 1) +
"
(E[Xk,j ] + δi,j )P (i, k)
k>1
• Apres regroupement:
E[Xi,j ] = δi,j +
"
E[Xk,j ]P (i, k)
k>1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[137/324]
Preuve - suite et fin
• Posons E[Xi,j ] = Z[i, j].
• En passant à une formulation matricielle :
Z = I + QZ
• Et donc, Z = (I − Q)−1 = M
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[138/324]
Temps Continu - CTMC
• On construit et on analyse de façon similaire des processus de Markov
en temps continu.
• Les délais entre transition sont des exponentielles, les différentes
transitions sont rassemblées dans une matrice génératuer Q
• On peut se ramener à la chaine des sauts pour étudier les propriétés
d’existence.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[139/324]
Propriétés
Par construction, la matrice du générateur Q vérifie les propriétés
suivantes :
• tous les éléments de Q, sauf ceux de la diagonale, sont positifs ou nuls
!
• pour tout i, j Qi,j = 0
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[140/324]
Equilibre Stationnaire
• La distribution d’équilibre est solution de
πQ = 0
et πe = 1
• e est un vecteur plein de 1 (notation classique)
• On n’étudiera pas les distributions transitoires (équations
différentielles)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[141/324]
Flux Stationnaire
• Considérons l’équation d’équilibre sous forme matricielle:
πQ = 0
• En développant pour un i quelconque, on a:
"
π(j)Q(j, i) = 0
j
• Séparons la somme:
"
π(j)Q(j, i) = −π(i)Q(i, i)
j&=i
• Mais:
Q(i, i) = −
"
Q(i, k)
k&=i
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[142/324]
• Donc:
"
j&=i
π(j)Q(j, i) =
"
π(i)Q(i, k)
k&=i
• Interprétation en terme de flux: tout ce qui permet de sortir de i
(partie droite) est égal à tout ce qui permet de rentrer en i.
• Interprétation simple et plus facile à utiliser
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[143/324]
Analyse
• Pour le problème stationnaire on doit résoudre πQ = 0.
• Pour le problème stationnaire on doit résoudre π(t)Q =
π(0).
∂π
∂t
connaissant
• pour les temps avant absorption on doit résoudre :
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[144/324]
Modèle de Disponibilité à deux états
• Q(up, down) = α, Q(up, up) = −α, Q(down, down) = −β,
Q(down, up) = β,
• α est le taux de panne, β le taux de réparation.
• Stationnaire : résoudre πQ = 0
• 2 inconnues, 2 équations, mais une seule indépendante.
• On rajoute π(up) + π(down) = 1.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
• Donc π(up) =
[145/324]
β
α+β
• Et la fiabilité assymptotique vaut π(up).
• On a aussi π(down) =
α
α+β
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[146/324]
Transitoire
• On doit maintenant résoudre π(t)Q =
•
∂πU P
∂t
∂π
∂t
sachant πU P (0) = 1.
= βπDOW N (t) − απU P (t)
• Mais on a pour tout t, πDOW N (t) = 1 − πU P (t).
• Ce qui donne l’équation (solution connue) :
∂πU P
= β − (α + β)πU P (t)
∂t
• Et donc,
πU P (t) =
β
exp(−(α + β)t)
−
α+β
α+β
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[147/324]
Système à deux composants
• On suppose maintenant que l’on a ajouté un second composant
redondant.
• Les pannes sont exponentielles (taux α) et indépdendantes.
• Les réparations sont exponentielles et indépendentes. Il y a un
réparateur et le taux de réparation est β.
• Le systme est DOWN quand tous les composants sont DOWN.
• On ne peut réparer qu’un seul composant à la fois.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[148/324]
Modèle
• Etats : nombre de composants en activité: 0, 1, 2.
• Transitions :
– 2 vers 1 : taux 2α
– 1 vers 0 : taux α
– 0 vers 1 : taux β
– 1 vers 2 : taux β
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[149/324]
Equation Stationnaire
2απ(2)
= βπ(1)
(α + β)π(1)
= 2απ(2) + βπ(0)
απ(1)
= βπ(0)
1
= π(0) + π(1) + π(2)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[150/324]
Résolution
• Apres substitution on a :
π(1) =
β
π(0)
α
π(2) =
β
π(1)
2α
• Donc
π(0)(1 +
β
β2
+ 2) = 1
α 2α
• Et la disponibilité stationnaire vaut 1 − π(0).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[151/324]
Processus de Naissance et de Mort
• Définition 8 Une chaı̂ne de Markov est un processus de Naissance et
de Mort si et seulement si, pour tout état n, les seules transitions
possibles amènent aux états n − 1 et n + 1, si ces états existent.
• La transition de l’état n à l’état n + 1 est une Naissance.
• La transition de l’état n à l’état n − 1 est une Mort.
• λn (resp. µn ) est le taux de Naissance (resp. de Mort) à l’état n.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[152/324]
Equilibre Stationnaire
• Ecrivons l’équation d’équilibre stationnaire pour Xt :
π(n)[µn 1{n>0} + λn ] = π(n − 1)λn−1 1{n>0} + π(n + 1)µn+1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(5)
[153/324]
Résolution
• Pour résoudre, considérons l’équation à l’état 0 pour obtenir π(1) en
fonction de π(0).
π(0)λ0 = π(1)µ1
(6)
• Examinons maintenant l’équation à l’état 1.
π(1)[µ1 + λ1 ] = π(0)λ0 + π(2)µ2
(7)
• Après simplification : π(1)λ1 = π(2)µ2
• Par récurence sur n :
π(n)λn = π(n + 1)µn+1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(8)
[154/324]
• Soit:
• Si on peut normaliser:
1n−1
λi
π(n) = π(0) 1i=0
n
i=1 µi
∞ 1n−1
"
λi
1i=0
<∞
n
µ
i
i=1
n=1
• alors,
3−1
∞ 1n−1
"
λ
i
1i=0
π(0) = 1 +
n
µ
i=1 i
n=1
2
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(9)
(10)
(11)
[155/324]
Processus de Naissance et de Mort simple
• Description par une file d’attente (capacité = stockage dans la file,
nombre de serveurs = puissance du service).
• Capacité Infinie, 1 serveur
• Capacité Infinie, m serveurs
• Capacité Finie, 1 serveur
• Capacité Finie, m serveurs
• Capacité Infinie, Inifinité de serveurs
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[156/324]
La file M/M/1
• Arrivées Poisson, Service iid Exponentiel, 1 Serveur, Capacité infinie
pour garder les clients.
• On note µ le taux de service et λ le taux d’arrivées.
• C’est un processus de Naissance e tde Mort avec les taux de transition:

 λ =λ ∀ i
i
(12)
 µi = µ ∀i
• Posons ρ = λ/µ.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[157/324]
• Equation d’équilibre global :
π(x)[µ1{x>0} + λ] = π(x − 1)λ1{x>0} + π(x + 1)µ
(13)
• Condition d’ergodicité:
– la chaine est ergodique si et seulement si (ρ < 1). Dans ce cas la
solution stationnaire est π(x = k) = (1 − ρ)ρk .
– Lorsque ρ = 1 le processus est récurent nul.
– Si ρ > 1 le processus est transitoire.
• Par la suite on suppose que le processus est ergodique
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[158/324]
Statistiques Simples
• La moyenne du nombre de clients E(N ) dans la file:
E(N ) =
∞
"
iπ(x = i) =
i=1
ρ
1−ρ
(14)
• La probabilité que la file soit vide est (1 − ρ)
• le taux d’utilisation de la file U vaut donc ρ.
• Variance V (N ) du nombre de clients dans la file:
2
2
V (N ) = E(N )−(E(N )) =
∞
"
i2 π(x = i)−(E(N ))2 =
i=1
ρ
(15)
(1 − ρ)2
• Probabilité qu’il y ait au moins n clients dans la file: ρn .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[159/324]
Caractéristiques temporelles
• Théorème 8 La fonction de répartition F (r) du temps de réponse a
une distribution exponentielle:
F (r) = 1 − e−r(µ−λ)
• En appliquant la formule de Little, on trouve plus simplement le temps
moyen de séjour dans la file E(r) = T = 1/(µ − λ).
• Par inversion de la fonction de répartition les quantiles de la
distribution du temps de réponse. Par exemple, borne sq du temps de
réponse de q pourcent du nombre de clients.
sq =
1
100
ln(
)
µ−λ
100 − q
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[160/324]
Figure 1: Attente, Séjour et Service en fonction de ρ
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[161/324]
Quelques chiffres
• Percentile du temps de séjour
– 90 pourcent : 2.3 Temps Moyen de Séjour
– 95 pourcent : 3 Temps Moyen de Séjour
• Le temps moyen de séjour est fortement non linéaire:
• Idem pour le temps moyen d’attente
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[162/324]
Non Linéarité
• On considère une file dont la durée de service moyenne est 2mn et 24s
(144s)
• Le taux d’arrivée est 10 clients/h
• Que vaut le temps moyen de réponse ?
• Réponse : le temps moyen de service est 0.04h
• Donc la charge vaut 0.4 (10*0.4)
• Et le temps de réponse vaut en seconde 144/(1 − 0.4) = 240
• Le taux d’arrivées augmente de 2 clients/h
• La charge passe à 0.48 et le délai passe à 277s.
• Augmenter les arrivées de 20 pourcent augmente le délai de 17
pourcent
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[163/324]
• Le taux d’arrivée est maintenant de 20 clients/h
• Donc la charge vaut 0.8
• Et le temps de réponse vaut en seconde 720s
• Le taux d’arrivées augmente de 2 clients/h
• La charge passe à 0.88
• Le délai passe à 1200s.
• Augmenter les arrivées de 10 pourcent augmente le délai de 67
pourcent
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[164/324]
Caractéristiques temporelles
• Distribution du temps d’attente: F (w) = 1 − ρe−w(µ−λ) .
• Exponentielle tronquée.
• wq la borne du temps d’attente de q pourcent des clients:
wq = max(0,
1
100ρ
ln(
))
µ−λ
100 − q
• Si q est inférieur à 100(1 − ρ), le temps d’attente est nul. Ce
pourcentage correspond aux clients entrant dans une file vide.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[165/324]
Figure 2: Distribution de l’attente
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[166/324]
Figure 3: distribution du percentile de l’attente divisé par l’attente moyenne
en fonction de la charge pour les percentiles 90, 95 et 98
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[167/324]
Compromis Usager/Opérateur
• Un opérateur souhaite que son système soit utilisé le plus possible
• donc ρ doit être grand
• Mais lorsque ρ s’approche de 1, le temps d’attente des usagers est non
borné
• Demandes antagonistes : compromis....
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[168/324]
Effet d’échelle
• Un système avec beaucoup de clients est plus efficace qu’un système
avec peu de clients.
• Sur un exemple:
• Arrivées : 5 clients/h. Service moyen de 6mn.
• Donc la charge est 0.5 et le temps moyen de réponse est de 12mn.
• Mais si on double le taux d’arrivées tout en divisant par deux le temps
de service (les clients sont plus petits mais plus nombreux, ou le
serveur est plus rapide)
• La charge reste 0.5 mais le temps moyen de réponse devient 6mn.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[169/324]
Effet d’échelle
• A combien peut-on faire monter le taux d’arrivées tout en gardant le
délai initial de 12mn
1
12 =
µ−λ
λ = 15 clients/h
• Un serveur rapide peut fournir des performances supérieures en tmps
moyen avec un effet plus que linéraire....
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[170/324]
Capacité et Dimensionnement
• Choisir le taux de service pour assurer un temps moyen de service pour
un taux d’arrivée donné.
• Soit R le temps de réponse,
• La capacité C est le débit nominal du serveur = µ
R=
1
C−λ
• Donc, C = λ + 1/R
• C ≥ λ assure la stabilité du système, le terme 1/R est le cout pour
obtenir les performances demandées sur un système aléatoire simple.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[171/324]
Figure 4: Capacité et Effet d’échelle, C/λ en fonction de λ
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[172/324]
Analyse M/M/m
• C’est un processus de Naissance et de Mort caractérisé par:


∀i

 λi = λ
µi = iµ si i ≤ m



µi = mµ si i > m
(16)
• La probabilité qu’il y ait au moins m clients dans le système est une
quantité importante notée γ
• C’est donc aussi la probabilité qu’un client entrant soit contraint
d’attendre avant de commencer son service
γ=
(mρ)m
π0
m!(1 − ρ)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(17)
[173/324]
Figure 5: Probabilité de ne pas attendre en fonction de ρ pour m = 1, 2, 3
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[174/324]
La file M/M/m
Caractéristiques Spatiales
Charge
ρ = λ/(mµ)
Probabilité système vide
π0 = 1 +
Probabilité d’avoir k clients
5
si k¡m
π0
(mρ)m
m!(1−ρ)
(mρ)k
+
!m−1
Nombre moyen de clients
k!
mm ρk
sinon π0 m!
(mρ)m
γ = m!(1−ρ)
π0
ργ
E(n) = mρ + 1−ρ
Variance du nombre de clients
V (n) = mρ + ργ(m +
Probabilité d’attente
i=1
(mρ)i
i!
6−1
1+ρ−ργ
)
(1−ρ)2
Nombre moyen de
clients en attente
E(n) =
ργ
(1−ρ)
V (n) =
ργ(1+ρ−ργ)
(1−ρ)2
Variance du nombre
de clients en attente
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[175/324]
La file M/M/m
Caractéristiques Temporelles
Répartition du temps de réponse
si ρ "= (m − 1)/m F (r) =
sinon F (r) = 1 − (1 + γµr)e−rµ
γ
1
(1 + m(1−ρ)
)
µ
1
(1 + mγ(2−γ)
2 (1−ρ)2 )
µ2
−wµm(1−ρ)
Temps de réponse Moyen
E(r) =
Variance du temps de réponse
V (r) =
Répartition du temps d’attente
F (w) = 1 − γe
Temps d’attente moyen
E(w) =
Variance du temps d’attente
q-percentile du temps d’attente
γ
mµ(1−ρ)
V (w) = m2γ(2−γ)
µ2 (1−ρ)2
E(w)
100γ
max(0, γ ln( 100−q
)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[176/324]
La file M/M/m/B
• Il y a B places et m serveurs. Donc B > m.
• Le processus du nombre de clients est encore un processus de naissance
et de mort dont les taux sont :


λi = λ




 λ =0
B

µi = iµ




 µ = mµ
i
∀i<B
si i ≤ m
(18)
si m < i ≤ B
• Puisque la chaı̂ne a un nombre fini d’états, le système est toujours
stable.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
• Les probabilités stationnaires sont obtenues simplement :

 π 0 λn
∀n<m
n! µn
πn =
n
π0 λ

∀n≥m
n−m
n
m! m
[177/324]
(19)
µ
• et π0 est obtenu par normalisation.
• Toutes les arrivées qui se produisent pendant que le buffer est dans
l’état B sont perdues.
• Le taux d’arrivée réel est donc λ(1 − πB )
• le taux de perte est λπB .
• La formule de Little donne le temps moyen de séjour et le temps
moyen d’attente.
E(r) =
E(n)
E(q)
et E(w) =
λ(1 − πB )
λ(1 − πB )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[178/324]
La file M/M/m/B
Caractéristiques Spatiales
Charge
ρ = λ/(mµ)
5
π0
Probabilité
1+
(mρ)m (1−ρB+1−m
m!(1−ρ)
si k ≤ m
d’avoir k clients
Nombre moyen de clients
π0
(mρ)k
k!
mm ρk
sinon π0 m!
B
E(n) = i=1 iπi
+
!m−1
i=1
(mρ)i
i!
6−1
!
Nombre moyen de clients
!B
en attente
E(q) =
Taux d’arrivée réel
λ(1 − πB )
i=m+1
(i − m)πi
Utilisation moyenne
d’un serveur
ρ(1 − πB )
Taux de perte
λπB
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[179/324]
La file M/M/m/B
Caractéristiques Temporelles
Temps de réponse moyen
E(r) =
Temps d’attente moyen
E(w) =
E(n)
λ(1−πB )
E(q)
λ(1−πB )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[180/324]
Quelques exemples d’application
• Gateway
• Centre de calcul
• Bases de Données
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[181/324]
Perte et Gateway par M/M/1
• Des paquets arrivent avec un taux de 125 paquets par seconde dans un
gateway
• Celui ci doit utiliser 2ms pour expédier un paquet.
• En utilisant un modèle M/M/1, analyser l’élément
• en particulier, trouver la probabilité de perte si le buffer est de taille 12
• et la taille pour que la probabilité soit inférieure à 10−6 .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[182/324]
• λ = 125pps
• µ=
1
0.002
= 500pps
• ρ = 0.25
• Proba n paquets = (1 − ρ)ρn
• Nombre moyen de paquets dans le gateway =
• Temps moyean de réponse =
1/µ
1−ρ
ρ
1−ρ
= 0.333
= 2.66ms
• On fait mainteant une approximation (buffer fini par buffer infini)
• Probabilité d’overflow = ρ13 = 1.510−8
• Taille : ρn ≤ 10−6 et donc n > 6log(0.1)/log(0.25)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[183/324]
Perte et Gateway par M/M/1/B
• On suppose maintenant qu’il n’y a que deux buffers
• π1 = 0.25π0 et π2 = 0.25 ∗ 0.25π0
• Donc, π0 =
1
1+0.25+0.0625
= 0.76 et π1 = 0.19 et π2 = 0.0476
• Donc le nombre moyen vaut: 0.19 + 2 ∗ 0.0476 = 0.29
• le taux d’arrivée effectif est : 125 ∗ (1 − π(2)) = 119pps
• et le taux de perte est de 6 pps...
• le temps moyen de réponse est de 2.4ms.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[184/324]
Quelques Leçons
• Augmenter la taille des buffers diminue les pertes
• Augmenter la taille des buffers augmente les délais
• Augmenter la taille des buffers augmente la gigue (la variation du
délai)
• Augmenter la taille des buffers augmente la latence (le premier délai)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[185/324]
Centre de Calcul
• Les étudiants se rendent au centre de calcul selon un processus de
Poisson avec un taux de 10 personnes par heure
• Chaque étudiant travaille 20mn en moyenne. La distribution du temps
de travail est exponentielle.
• Il y a 5 terminaux.
• Les étudiants disent qu’ils attendent trop.....
• Et que le centre de calcul est trop loin...
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[186/324]
Analyse du centre par une M/M/5
• λ = 1/6 etudiant/minute
• µ = 1/20
• ρ = 0.666
• Utilisation moyenne d’un terminal = 0.6666
• la probabilité d’attente = probabilité que tous les terminaux soient
(m∗ρ)m
occupés = γ = π0 m!(1−ρ)
= 0.33
• Nombre moyen d’étudiants dans le centre = mρ +
ργ
1−ρ
= 4.0
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
• Nombre moyen d’étudiants en attente =
ργ
1−ρ
[187/324]
= 0.65
• Temps moyen de séjour dans le centre = 1/µ(1 +
γ
m(1−ρ) )
= 24mn
• Qui se décomposent en 20 minutes de travail et 4 minutes d’attente...
• Mais 90-Percentile du temps d’attente = 14 minutes...(10 pourcents
des étudiants doivent attendre plus de 14 minutes).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[188/324]
Comment répondre
• Augmenter le nombre de terminaux
• Distribuer les terminaux (sans en augmenter le nombre)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[189/324]
Augmenter le nombre de terminaux
• Combien de terminaux pour que le temps d’attente soit plus petit que
2 minutes en moyenne et plus petit que 5 minutes dans 90 pourcents
des cas ?
• On augmente de 1 terminal. (m=6)
• ρ devient 0.556, γ = 0.15,
• Temps moyen d’attente = 1.1 minute
• 90 percentile = 3 minutes
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[190/324]
Répartition
• On distribue les 5 terminaux en 5 places distinctes, avec 5 files
d’attente séparées et pas d’informations globales pour choisir.
• On a donc 5 M/M/1
• Le taux de service reste identique
• Le taux d’arrivées est divisée par 5 (répartition équiprobable)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[191/324]
• La charge ρ reste la même
• Le temps moyen de séjour est
1/µ
1−ρ
= 60mn
• La variance du temps de séjour est maintenant de 3600 (elle était de
479 dans le système centralisé).
• Très mauvaise solution : le temps moyen de séjour augmente
considérablement (moyenne comme variance).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[192/324]
Autre Leçon
• En première analyse, un système centralisé est plus efficace pour
l’utilisation des ressources et le temps d’attente
• La différence provient des états où certaiens files sont vides alors que
des clients attendent dans d’autres
• Mais d’autres points peuvent modifier cette analyse.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[193/324]
Requêtes dans un SGBD
• Arrivées selon un processus de Poisson de taux 30 req par seconde.
• Chaque requête prend 0.02 seconde de traitement
• Donc le taux de service est de 1/0.02 = 50 requetes par seconde
• Analyse par une M/M/1
• La charge est de 0.6
• Le serveur est vide pendant 40 pourcent du temps
• Le nombre moyen de requêtes est 1.5
• Donc le temps moyen de réponse est 0.05 seconde
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[194/324]
Changeons la vitesse du serveur
• La vitesse du serveur double
• La charge devient 0.3
• Le serveur est vide 70 pourcent du temps
• Mais le temps moyen de réponse passe à 0.014 (il a été divisé par plus
de 3)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[195/324]
Résolution Numérique DTMC, Pb Stationnaire
Chaı̂nes finies
Calcul de la distribution stationnaire π
Solution de :
ΠQ = 0
Πe = 1 En Temps Continu
(20)
ΠP = Π
Πe = 1 En Temps Discret
(21)
On suppose que la solution existe
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[196/324]
Plan
• Méthodes directes
• Méthodes itératives
• Méthodes récursives
• Méthodes par décomposition
• Lumpabilité
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[197/324]
Uniformisation
On peut transformer les matrices pour passer d’un problème en temps
continu en un problème en temps discret.
• Soit Q un générateur
• Posons δ = maxi=1..n (|Q(i, i)|)
• Soit ) ≥ 0
• Définissons P( = Id + Q(δ + ))−1
• Propriété 1 P( est une matrice stochastique qui a la même mesure
invariante que Q.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[198/324]
Preuve :
1. P( admet Π comme mesure invariante
ΠP( = ΠId + ΠQ(δ + ))−1 = Π
(22)
2. Tous les éléments hors diagonaux de P( sont positifs car ils sont la
somme d’éléments positifs.
3. Tous les éléments diagonaux de P( sont positifs : en effet,
−1 ≤
4. Pour tout i :
"
P( (i, j) =
j
Q(j, j)
≤0
) + maxi |Q(i, i)|
(23)
"
1 "
Q(i, j) +
Id(i, j) = 0 + 1 = 1
)+δ j
j
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[199/324]
Choix de !
• Une valeur strictement positive de ) implique que P( a des éléments
diagonaux non nuls; elle est donc apériodique.
• ) permet de changer le spectre de la matrice P( . Attention aux
méthodes itératives
• Lorsque ) tend vers l’infini, toutes les valeurs propres de P( tendent
vers 1 en module
• Prendre ) petit, heuristique de Wallace (solveur RQA) ) = δ/100.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[200/324]
Méthodes directes
• Résolution d’un problème linéaire
• Variante de l’élimination de Gauss
• Choisir la variante la plus précise, la complexité est toujours cubique
pour des matrices pleines
• L’élimination a pour conséquence de remplir la matrice si elle était
initialement creuse
• algorithme GTH : beaucoup plus stable numériquement car il n’y a ni
nombres négatifs ni soustractions
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[201/324]
GTH
• Du nom des ses auteurs : Grassman, Taksar et Heyman
• Idée : oter les sommets depuis le dernier
• Equilibre en n :
Πn (
n−1
"
P (n, i)) =
i=1
n−1
"
P (j, n)Πj
(24)
j=1
• Equation d’équilibre d’un sommet a successeur de n dans la chaine de
Markov
Πa (
n
"
P (a, i)) =
i=1
n−1
"
P (j, a)Πj + P (n, a)Πn
(25)
j=1
• Remplaçons Πn par sa valeur.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[202/324]
Πa (
n
"
i=1
P (a, i)) =
n−1
"
P (j, a)Πj +
j=1
!n−1
P (j,n)P (n,a)
• Posons R(j, a) = P (j, a) + !
.
n−1
i=1
P (j, n)P (n, a)Πj
!n−1
i=1 P (n, i)
j=1
(26)
P (n,i)
• R est une matrice stochastique de taille n − 1
• Il est possible que P (j, a) soit nul et que R(j, a) ne le soit pas. Il suffit
qu’il y ait, dans la chaı̂ne de Markov, une transition de j à n et une
autre de n à a.
• R est moins dense que la matrice P et on doit modifier la structure des
éléments non nuls de P pour construire R.
• Le choix du sommet à éliminer est important pour minimiser le
remplissage de la matrice
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[203/324]
Code de GTH
program gth(input,output);
begin
for n:=nr downto 1 do begin
S:=0;
for j:=0 to n-1 do S:=S+P[n,j];
for i:=0 to n-1 do P[i,n]:=P[i,n]/S;
for i:=0 to n-1 do for j:=0 to n-1 do
P[i,j]:=P[i,j]+P[i,n]*P[n,j];
if S<=0.0 then writeln(’erreur’, n) else writeln(n);
end;
Tot:=1;
pi[0]:=1;
for j:=1 to nr do begin
pi[j]:=P[0,j];
for k:=1 to j-1 do pi[j]:=pi[j]+pi[k]*P[k,j];
Tot:=Tot+pi[j];
end;
for j:=0 to nr do pi[j]:=pi[j]/Tot;
end gth.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[204/324]
Comparaison GTH-QR
• En simple précision...
• Le résultat ”exact” est fourni par un algorithme en double précision
• On calcule les erreurs absolues sur GTH et les erreurs absolues min et
max pour QR (ça dépend de la colonne enlevée)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
Exemple : matrice petite, probabilités fortes











P =










[205/324]
0.2
0
0
0.6
0
0
0
0
0
0.2
0
0.1
0
0
0.6
0
0.3
0
0
0
0.1
0
0
0
0
0
0.8
0
0
0
0.6
0
0.3
0
0
0
0
0
0.5
0
0
0.5
0
0
0
0
0
0.5
0
0
0.2
0
0
0
0.3
0
0
0
0
0
0.7
0
0.2
0
0
0.1
0.1
0
0.9
0
0
0
0
0
0
0
0
0.1
0
0
0
0.8
0
0
0
0.1
0
0.4
0
0
0
0.4
0
0
0
0.2


0 

0.1 
0.1
0
erreur-GTH
erreur-min-QR
erreur-max-QR
4.510−8
6.910−8
3.710−6
M2 ASS-ACSIS 2008, Université de Versailles St Quentin

















(27)
[206/324]
Autre exemple : petite matrice mais probabilités assez faibles...


1 − 10−6


0.4


P =  5 10−7

 5 10−7

2 10−7
10−7
2 10−7
3 10−7
4 10−7
0.3
0
0
0.3
0
1 − 10−6
0
5 10−7
0
0
1 − 10−6
5 10−7
3 10−7
10−7
4 10−7
1 − 10−6
erreur-GTH
erreur-min-QR
erreur-max-QR
3.1 10−8
6.12 10−3
3.89 10−2








M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(28)
[207/324]
Conclusions-méthodesdirectes
• Avantages
– Complexité fixe indépendante des données
– Stabilité numérique (GTH)
– Facile à implémenter
• Inconvénients
– Complexité cubique en temps, quadratique en espace pour les
matrices pleines
– Peu adaptées aux structures creuses
• Pour des matrices de taille inférieure à 1000
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[208/324]
Méthodes itératives
• Résolution d’un problème de vecteur propre
• Variantes de la méthode des puissances
x(k+1) =
1 (k)
x A
λ1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(29)
[209/324]
Méthode des Puissances
• Soit (λ1 , λ2 , ..., λn ) les vecteurs propres à gauche de la matrice A,
ordonnées par ordre décroissant en module
• Supposons |λ1 | > |λ2 |
• Les vecteurs propres (y1 , ..yn ) forment une base; exprimons x(0) dans
cette base.
(0)
x
=
n
"
αi yi
(30)
i=1
On suppose que α1 += 0.
• puisque λi est valeur propre associée à yi , on a :
(1)
x
n
n
1 (0)
1 "
1 "
αi yi A =
αi λi yi
x A=
=
λ1
λ1 i=1
λ1 i=1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(31)
[210/324]
Plus généralement :
n
(k+1)
x
"
1
λi
= ( )k x(0) Ak =
αi ( )k yi
λ1
λ1
i=1
(32)
On sépare le premier terme :
(k+1)
x
n
"
λi
= α1 y1 + (
αi ( )k yi
λ1
i=2
(33)
• Puisque toutes les valeurs propres à partir de la seconde sont
strictement inférieures à λ1 , tous les termes de la somme tendent vers
0.
• L’itération a pour limite un vecteur propre de A associé à λ1 .
• Mais la vitesse de convergence dépend des autres valeurs propres et
surtout de la seconde.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[211/324]
Application aux chaı̂nes de Markov
• Itérer :
Π(n+1) = Π(n) P
(34)
• Inutile de normaliser car λ1 = 1
• temps de convergence trop long : améliorations nécéssaires
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[212/324]
Améliorer
• pour résoudre xA = b par des itérations successives,
• si on peut trouver une décomposition de A en M − N où M est
facilement inversible, alors
xM = xN + b
(35)
et grâce à l’inversibilité de M ,
x = xN M −1 + bM −1
(36)
• Ce qui conduit au schéma itératif simple :
x(n+1) = x(n) N M −1 + bM −1
• La matrice H = N M −1 est la matrice de l’itération.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[213/324]
• Pour la suite, on cherche à résoudre le problème transposé et en temps
continu, c’est à dire :
Qt Πt = 0
(37)
• On suppose que le générateur Qt est décomposé en une matrice
diagonale D, une matrice triangulaire inférieure L et une matrice
triangulaire supérieure U .
Qt = D − (L + U )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(38)
[214/324]
Jacobi
• M = D et N = L + U
• H = D −1 (L + U )
• Sous forme scalaire:
(n+1)
xi
=
1 "
(n)
{ (li,j + ui,j )xj }
di,i
(39)
j&=i
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[215/324]
Gauss-Seidel
(n+1)
• Les valeurs de la nouvelle itération xj
pour j < i peuvent être
(n+1)
utilisés à la place des valeurs de l’itération (n), pour calculer xi
.
• Opérateur H = (D − L)−1 U
• Iteration
(n+1)
xi
=
"
1 "
(n+1)
(n)
{
li,j xj
+
ui,j xj }
di,i j<i
j>i
(40)
• Gauss Seidel ascendante (ci-dessus) ou descendante (H vaut
(D − U )−1 L)
• La vitesse de convergence peut dépendre de l’ordre des variables.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[216/324]
S.O.R.
• La méthode de relaxation (SOR) consiste à effectuer, pour l’itération
(n + 1), une moyenne pondérée entre le résultat de l’itération (n) et
l’application de l’itération de Gauss Seidel
• Itération :
(n+1)
xi


"
"
1
(n)
(n+1)
(n)
= (1 − ω)xi + ω 
{
li,j xj
+
ui,j xj }
di,i j<i
j>i
(41)
• Opérateur : Hw = (D − ωL)−1 ((1 − ω)D + ωU )
• Choisir une valeur correcte de ω est un problème difficile.
• ω peut modifier la valeur propre dominante de l’opérateur Hw
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[217/324]
program GaussSeidel(input,output);
type element = record ori : integer; prob : real; end;
var nz,n,i,c,j, degre,iter : integer; diff,som,y : real;
p,op : array[0..nodemax] of real;
debut : array[0..nodemax] of integer;
arc : array[0..arcmax] of element;
begin
readln(nz); readln(n); c:=0;
for i:=0 to n-1 do begin
read(degre); debut[i]:=degre;
for j:=1 to degre do begin
read(arc[c].prob); read(arc[c].ori); c:=c+1;
end;
readln; op[i]:=1;
end;
iter:=0; som:=0.0; for i:=0 to n-1 do som:=som+op[i];
for i:=0 to n-1 do op[i]:=op[i]/som;
repeat
iter:=iter+1; c:=0;
for i:=0 to n-1 do begin
som:=0.0;
for j:=c to c+debut[i]-1 do begin
if arc[j].ori > i then y:= op[arc[j].ori] else y:= p[arc[j].ori];
som:=som+op[arc[j].ori]*arc[j].prob;
end;
p[i]:=som; c:=c+debut[i];
end;
som:=0.0; for i:=0 to n-1 do som:=som+p[i]; for i:=0 to n-1 do p[i]:=p[i]/som;
diff:=0.0; for i:=0 to n-1 do diff:=diff+abs(p[i]-op[i]);
op:=p;
until (iter=maxiter) or (diff<maxdiff);
for i:=0 to n-1 do writeln(p[i]);
end.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[218/324]
Comparaisons
• le coût d’une iteration est à peu près le même
• le nombre d’itérations dépend du spectre de H mais on ne sait pas
comment il a été changé.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[219/324]
Exemple 1 : Pb de Courtois




P = 


5 10−5
5 10−5
0
0
0
9 10−4
3 10−4
0
0
0
0.7
0.2995
0
10−4
10−4
4 10−4
0.39
0.6
5 10−5
10−4
0
0
0.6
0.2499
0.15
0
0.1
0.65
0.249
0.1
0.8
4 10−4
0.0996
0
5 10−5
0
0
3 10−5
0
4 10−5
5 10−5
0
0
0
5 10−4
0
3 10−5
0
0.149
9 10−4
0.85
0
5 10−5
5 10−5
0
0
0
0.1
0.8
0.0999
5 10−5
0.1999
0.25
0.55
Méthode
Itérations pour 10−6
Puissance
69000
Jacobi
23000
Gauss Seidel
11000
SOR opt
3500







C’est un problème NCD...
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[220/324]
Exemple 2
2 classes de composantes avec 2 composantes par classe. Les composantes
de type 1 (resp. 2) tombent en panne avec le taux λ1 (resp. λ2 ), et sont
réparées avec le taux µ1 (resp. µ2 ).
Etats (X, Y ) classés par ordre lexicographique où X (resp. Y ) est le
nombre de composantes de type 1 (resp. type 2) en activité.
 ∗ 2λ2

2λ1
µ2



Q = 



∗
2µ2
2λ1
λ2
∗
µ1
2λ1
∗
µ1
µ2
2λ2
∗
λ1
λ2
∗
2µ2
µ1
2µ1
λ1
λ1
∗
2µ1
µ2
2µ1
2λ2
∗
λ2
∗
2µ2







(42)
Indépendence entre les deux composantes; Calcul analytique exact de la
solution; comparaison des solutions
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[221/324]
λ1 = 0.2, λ2 = 0.3, µ1 = 5.0, µ2 = 6.0
Méthode
2ème valeur propre
Itérations pour 10−6
Puissance
0.76
52
Jacobi
1.0
Diverge
Gauss Seidel
0.072
6
SOR opt
0.018
6
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[222/324]
λ1 = 0.2, λ2 = 30.0, µ1 = 0.5, µ2 = 60.0
Méthode
2ème valeur propre
Itérations pour 10−6
Puissance
0.9942
2375
1.0
Diverge
Gauss Seidel
0.9827
790
SOR opt
0.7677
53
Jacobi
C’est un problème NCD...
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[223/324]
Initialisation
• Ne pas initiliser le vecteur de probabilités par un 1.0 pour le plus petit
état dans une méthode de Gauss Seidel ascendante.
• Employer une approximation pour choisir un vecteur initial proche de
la solution
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[224/324]
Conclusions-méthodes itératives
• Avantages
– La complexité d’une itération est le nombre d’élément non nuls de P
– Stabilité numérique (on ne fait que des additions)
– adaptées aux matrices creuses
• Inconvénients
– La complexité en nombre d’itérations dépend du spectre (et donc
des données)
• Pour des matrices creuses de grande taille dont la seconde valeur
propre est faible
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[225/324]
Méthode par Récursion
• Construire un système récursif sur les probabilités de manière à les
calculer à un facteur multiplicatif près qui est obtenu par
normalisation.
• Dépend de la structure de la matrice, pas des valeurs numériques
distinctes de 0.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[226/324]
Matrices Hessenberg
• Hessenberg Supérieure : triangle supérieur + sous diagonale principale;
Chaı̂ne Incluse aux instants de départ de la G/M/1




.
.
.
.
.
.
.
.
.
.
0
.
.
.
.
0
0
.
.
.
0
0
0
.
.


• Hessenberg Inférieure : triangle inférieur + sur diagonale principale;
Chaı̂ne Incluse aux instants d’arrivées de la M/G/1




.
.
0
0
0
.
.
.
0
0
.
.
.
.
0
.
.
.
.
.
.
.
.
.
.


M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[227/324]
Principe pour une Hessenber sup
• Equilibre en j :
πj =
j+1
"
πi Pi,j
i=0
• On en déduit πj+1
πj+1 =
1
Pj+1,j
2
πi (1 − Pj,j ) −
j−1
"
i=0
πi Pi,j
3
Si Pj+1,j est non nul.
• Cas fini : on pose π0 = 1, on effectue la récurence, on somme toutes les
probabilités et on normalise.
• Cas Infini : il faut que P soit régulière.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[228/324]
Matrices Block Hessenberg
• Même structure que les matrices Hessenberg

Q0,0 Q0,1
.

 Q
 1,0 Q1,1 Q1,2

Q=
Q2,1 Q2,2
 0

 0
0
Q3,2

0
0
0
• Qi,j blocs de taille k × k
mais par bloc.

. .

. . 


. . 


. . 

. .
• π divisé en sous vecteurs de taille k
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[229/324]
Algorithme
• Equilibre pour le bloc 0
π0 Q0,0 + π1 Q1,0 = 0
• Si Q1,0 est inversible
π1 = −π0 Q0,0 Q−1
1,0
• Equilibre pour le bloc 1
π0 Q1,0 + π1 Q1,1 + π2 Q2,1 = 0
• Si Q2,1 est inversible
π2 = (π0 Q1,0 + π1 Q1,1 )Q−1
2,1
• Après simplification
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[230/324]
−1
π2 = π0 (Q1,0 + Q0,0 Q−1
1,0 Q1,1 )Q2,1
• On peut continuer... si Qi+1,i est inversible (récursion descendante)
• Si lower block Hessenberg et Qi,i+1 inversible, alors récursion
ascendante
• Si bloc tridiagonal, on peut essayer les deux sens de récursion.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[231/324]
Exemple : M/C2 /1/N
• Arrivées Poisson λ, Service Cox à deux phases (µ1 , µ2 , a)
• Etats (x, y), x : nombre de clients, y : phase du service.
• (0, 2) état transitoire. N places dans la file








∗
0
0
∗
0
λ
(1 − a)µ1
µ2
0
∗
aµ1
∗
λ
0
λ
0
∗
λ
0
0
0
aµ1
∗
0
λ
0
∗
0
0
aµ1
∗
0
λ
0
(1 − a)µ1
µ2
0
(1 − a)µ1
µ2
0






• Blocs sousdiagonaux non inversibles,
• Blocs surdiagonaux inversibles
• Analyse ascendante
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[232/324]
Calcul de π(0, 1)
λ = 0.5, µ1 = 1.0, µ2 = 10.0
N
Calcul Récursif
GTH
2
0.0007158
idem
5
0.0006958
idem
10
0.0006955
idem
16
0.0006808
0.0006955
20
-0.1973
0.0006955
Une probabilité négative ????
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[233/324]
Résidus πQ
N
Résidus
2
10−16
3
10−15
5
10−13
10
10−9
12
10−7
16
10−3
20
50.9
Croissance géométrique avec N des erreurs
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[234/324]
Raison de l’instabilité
• λ < µ1 et λ << µ2

1/λ
• Les blocs Qi,i 
0
très grande
0
1/λ


 et Qi−1,i 
1/λ
0
0
1/λ

 ont une norme
• A chaque itération, les erreurs sont multipliées par cette norme.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[235/324]
Conclusions-méthodes récursives
• Avantages
– Utilisation de la structure de la matrice
– Problèmes de très grande taille
– associée à des files usuelles
• Inconvénients
– Problème de stabilité numérique
• Pour des matrices creuses de grande taille quasi Hessenberg
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[236/324]
Méthodes de Décomposition
Définition 9 une matrice stochastique P est presque complètement
décomposable (NCD) ssi on peut décomposer la matrice en blocs Pi,j tels
que :
1. ,Pi,i ,1 = O(1), ∀i
2. ,Pi,j ,1 = O()), ∀i, j, i += j
3. ) << 1
P =



P1,1
P2,1
P1,2
P2,2
P1,3
P2,3
P1,4
P2,4
P1,5
P2,5
P3,1
P4,1
P3,2
P4,2
P3,3
P4,3
P3,4
P4,4
P3,5
P4,5
P5,1
P5,2
P5,3
P5,4
P5,5



M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(43)
[237/324]
Approche de Courtois
• Solutions locales
• Matrice de couplage
• Approximations
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[238/324]
Solutions Locales de Pi,i
• Chercher ui le vecteur propre normalisé à 1 et associé à la valeur
propre dominante de Pi,i .
ui Pi,i = λi ui
• Cette valeur propre est inférieure à 1 mais très proche de 1.
• ui (j) est une approximation de la probabilité conditionelle d’être dans
le sommet d’indice j sachant que l’on est dans le bloc i.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[239/324]
Couplage
• A∗ : Matrice de couplage entre bloc : probabilité d’aller du bloc i au
bloc j
• Etape 1 : sommer les colonnes d’un bloc pour obtenir la probabilité
d’aller d’un état vers un bloc : Pi,j e
• Etape 2 : pondérer les lignes par les poids des ui (k) (probabilité d’être
dans l’état k quand on est dans le bloc i)
A∗ (i, j) = ui Pi,j e
• ξ(i) est la probabilité stationnaire de la matrice A∗
ξA∗ = ξ
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[240/324]
Approximation NCD
• l’état x correspond à l’état k de la composante i
• ui (k) approxime la probabilité d’être dans l’état k sachant que l’on est
dans la composante i
• ξ(i) est la probabilité d’être dans la composante i
π(x) = ui (k)ξ(i)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[241/324]
Algorithme MKS
• Itérer l’approche de Courtois
• Mais agréger les probabilités π calculée par l’équation de
décomposition redonne la quantité ui (.) précédemment calculée.
• L’algorithme modifie π par une simple itération de la méthode de
Gauss-Seidel
• Inutile de calculer les solutions locales, il suffit d’initiliser par une
distribution uniforme
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[242/324]
1. Choisir une solution initiale π (0) (x, y). x désigne le numéro de
l’agrégat, y le numéro de l’état dans l’agrégat. m désigne le compteur
d’itérations. Il est initialisé à 0.
2. Calculer les probabilités conditionnelles ui (j) d’être dans l’état y
sachant que l’on est dans l’agrégat x.
π (m) (i, j)
ui (j)(m) = ! (
k π m)(i, k)
(44)
3. Construire la nouvelle matrice de couplage A(m) :
(m)
A(m) (i, j) = ui
Pi,j e
(45)
4. Calculer la mesure invariante ξ (m) de A(m) .
5. Calculer la nouvelle approximation de la distribution stationnaire
z (m) (x) = ui (j)(m) ξ(i)(m)
avec x = (i, j)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
(46)
[243/324]
6. Perturber z (m) pour obtenir π (m) par une itération de Gauss Seidel
π (m) (k) = π (m) (k)Pk,k +
"
j<k
π (m) (j)Pj,k +
"
z (m) (j)Pj,k
j>k
7. Vérifier la convergence et dans le cas négatif incrémenter m et
recommencer à l’étape 2
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[244/324]
Pb de Courtois




P = 


5 10−5
5 10−5
0
0
0
9 10−4
3 10−4
0
0
0
0.7
0.2995
0
10−4
10−4
4 10−4
0.39
0.6
5 10−5
10−4
0
0
0.6
0.2499
0.15
0
0.1
0.65
0.249
0.1
0.8
4 10−4
0.0996
0
5 10−5
0
0
3 10−5
0
4 10−5
5 10−5
0
0
0
5 10−4
0
3 10−5
0
0.149
9 10−4
0.85
0
5 10−5
5 10−5
0
0
0
0.1
0.8
0.0999
5 10−5
0.1999
0.25
0.55







Approximation de Courtois : l’approximation est de l’ordre de 10−4 .
u1 = (0.401, 0.416, 0.182), u2 = (0.5714, 0.4286), u3 = (0.240, 0.555, 0.204)
; 0.99911 0.00079 0.0001 <
A∗ =
0.00061
0.99929
0.0001
0.00006
0.00004
0.9999
Algorithme MKS : en 4 itérations les résidus sont de l’ordre de 10−16 .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[245/324]
Conclusions-méthodes de décomposition
• Avantages
– Traitement efficaces de problèmes de grande taille
– Adaptées aux matrices NCD
– Problèmes réalistes (plusieurs echelles de temps)
• Inconvénients
– Détection de la structure NCD (algorithme de connexité)
• Pour des matrices creuses de grande taille NCD
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[246/324]
Lumpabilité ordinaire
• Par rapport à une partition de l’espace des états,
S = A1 ∪ A2 ∪ . . . ∪ Ak
• Critère de lumpabilité ordinaire :
∀l, m, ∀a, b ∈ Am
"
j∈Al
P (a, j) =
"
P (b, j)
j∈Al
• Alors on peut définir la chaine dont les états sont les Ai (les
macro-états) et résoudre la chaine agrégée.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[247/324]
Lumpabilité : exemple
• On commence par un exemple : taille 4, partition en deux sous
ensmbles.
π1
= P (1, 1)π1 + P (2, 1)π2 + P (3, 1)π3 + P (4, 1)π4
π2
= P (1, 2)π1 + P (2, 2)π2 + P (3, 2)π3 + P (4, 2)π4
π3
= P (1, 3)π1 + P (2, 3)π2 + P (3, 3)π3 + P (4, 3)π4
π4
= P (1, 4)π1 + P (2, 4)π2 + P (3, 4)π3 + P (4, 4)π4
• Regroupons les équations 1 et 2 d’une part, 3 et 4 de l’autre.
π1 + π2
= (P (1, 1) + P (1, 2))π1 + (P (2, 1) + P (2, 2))π2
+ (P (3, 1) + P (3, 2))π3 + (P (4, 1) + P (4, 2)π4
• Lumpabilité ordinaire : la somme en colonne est constante :
P (1, 1) + P (2, 1) = P (2, 1) + P (2, 2). Donc on peut factoriser.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[248/324]
Lumpabilité exacte
• Par rapport à une partition de l’espace des états,
S = A1 ∪ A2 ∪ . . . ∪ Ak
• Critère de lumpabilité exacte :
∀l, m, ∀a, b ∈ Am
"
P (j, a) =
j∈Al
"
P (j, b)
j∈Al
• Alors on peut simplifier la résolution en supposant que toutes les
probabilités dans un macro-état sont égales.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[249/324]
• Fin de la parenthèse Analyse Numérique
• Retour aux méthodes analytiques
• Après un exemple surprenant d’application !
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[250/324]
Google
• Comment trouver les pages ?
• Un robot d’exploration et une indexation
• Comment classer les pages pour trouver les plus pertinentes
• algorithme PAGERANK
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[251/324]
Fondamentaux de PageRank
• Hypothèse 1 : une page pertinente est pointéee par des pages
pertinentes au moyen de son URL.
• Hypothèse 2 : on quantifie la pertinence par un flottant positif.
• Hypothèse 3 : si une page source pointe vers k pages destinations
(grâce à leurs URL), alors chacune reçoit 1/k de la pertinence de la
source.
• Hypothèse 4 : Une page sans lien de sortie n’est pas pertinente
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[252/324]
Quantification simplifiée
• Soit Γ(x) les pages qui pointent sur x
• Soit d(y) le nombre de pages pointées par la page y
• Soit P e(x) la pertinence de la page x, on obtient,
P e(x) =
" P e(y)
d(y)
y∈Γ(x)
• ou encore, en posant M (y, x) =
P e(x) =
1
d(y)
"
P e(y)M (y, x)
y∈Γ(x)
• On reconnait la définition de la probabilité stationnaire d’une chaine
de Markov.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[253/324]
Pe = π
• La pertinence est donc égale à la probabilité stationnaire (à une
constante multiplicative près)
• Inutile de calculer la valeur exacte
• On utilise un algorithme itératif et on s’arrète avec une précision faible
• On réemploie la distribution initiale précédente lorsqu’on recalcule les
pertinences après avoir reconstruit un nouvel index.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[254/324]
En fait
• Le système est légérement différent (plus stable pour la convergence)
P e(x) = 0.15 + 0.85 ∗
" P e(y)
d(y)
y∈Γ(x)
• On peut en déduire comment influencer PageRank et Google.
• L’information est disponible sur le Web (par exemple
http://www.webworkshop.net/pagerank.html)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[255/324]
Se passer de l’hypothèse Markov
• Un résultat physique : Little
• Analyse opérationnelle
• Simulation Monte Carlo (espace)
• Simulation de processus (temps)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[256/324]
Analyse Opérationnelle
• Quelques lois opérationnelles
• sur des quantités mesurables (simulations, mesures)
• sans hypothèses probabilistes ou statistiques
• permettant de faire des tests
• et de borner les performances pour valider une première analyse.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[257/324]
Quantités Concernées
• Taux d’arrivées, λi : c’est le nombre d’arrivées sur le temps:
• Débit, Xi : c’est le nombre de travaux terminés sur le temps:
Ai
T
Ci
T
• Utilisation, Ui : c’est le temps utilisé par les services sur le temps:
Bi
T
• Temps moyen de service, Si : c’est le temps utilisé par les services sur
i
le nombre de travaux terminés: B
Ci
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[258/324]
Plan
• Utilisation
• Conservation de Flux
• Formule de Little
• Temps de réponse
• Systèmes interactifs
• Bottleneck (engorgement)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[259/324]
Utilisation
• Par définition
Ui =
Bi
Ci Bi
=
T
T Ci
• et donc Ui = Xi Si
• L’utilisation est le produit du temps moyen de service par le débit.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[260/324]
Conservation de Flux
• Conservation Entrées Sorties:
• Lorsque T devient grand
• si le système est stable,
• alors il y a conservation entre entrées et sorties d’un système.
Ai = Ci
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[261/324]
Conservation et Routage
• Un job se décompose en tâches élémentaires et ne quitte le système
que lorsqu’elles sont toutes terminées.
• Il demande Vi tâches au serveur i
• C0 est le flux entrant dans le système (et le flux sortant si le système
est stable)
• Donc chaque serveur reçoit Ci = Vi C0 tâches.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[262/324]
• Le débit du système est par définition X =
• Le débit du serveur i est Xi =
Ci
T
=
C0
T
Ci C0
C0 T
• Donc
Xi = XVi
• Loi de conservation du flux
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[263/324]
• Puisque l’utilisation Ui vaut par définition Xi Si , on a:
Ui = Xi Si = XVi Si
• On pose Di = Vi Si .
• Di est la charge induite par un job
• Le bottleneck est le serveur qui a la charge la plus élevée
• le nombre maximal de job exécutables est obtenu lorsque la serveur en
bottleneck a une utilisation de 1.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[264/324]
Exemple
• Chaque job demande 5 secondes de CPU, 80 accès sur le disque A et
100 accès sur le disque B.
• Entre chaque job, l’utilisateur attend 18 secondes.
• un accès disque sur A dure 50 ms, et sur B 30 ms.
• Il y a 17 terminaux connectés
• On mesure un débit de 15.7 accès par seconde sur le disque A
• Calcul du débit et de l’utilisation de la CPU et des disques.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[265/324]
Données Initiales
• DCP U = 5s
• VA = 80
• VB = 100
• SA = 0.05s
• SB = 0.03s
• XA = 15.7
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[266/324]
Utilisations
• DA = SA VA = 4s
• DB = SB VB = 3s
• Donc la CPU est le bottleneck.
• On reprendra l’exemple pour finir....
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[267/324]
Spécification du routage par des probabilités
• Pi,j est la probalilité d’aller en j après avoir terminé un travail en i.
!
• Equation de flux : Cj = i Ci Pi,j
!
• Donc Vj = i Vi Pi,j et V0 = 1
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[268/324]
Formule de Little
Soit Z un système dans lequel arrive des objets. Ces objets demeurent un
certain temps dans le système puis sortent de Z.
• N est le nombre moyen d’objets dans Z
• T est le temps moyen passé dans Z par un objet
• λ est le taux d’arrivée en Z des objets.
N = λT
(47)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[269/324]
Preuve de Little pour une simulation avec retour à 0
Considérons une trajectoire du système. Observons le système lorsqu’il se
vide pour la n-ième fois à l’instant x. Il était vide à l’origine. Il y a eu m
objets visiteurs entre 0 et x.
Soient ai et di la date d’arrivée et de départ du i-ème client. Le temps de
séjour du i-ème client vaut wi = di − ai .
T est la moyenne des wi .
T =
!m
i=1
wi
m
N (t) est le nombre d’objets à la date t.
N=
#x
t=0
N (t)dt
x
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[270/324]
Preuve de Little pour une simulation avec retour à 0 - suite
N
x
Figure 6: Trajectoire avec retour à 0
Soit S la surface engendrée par la trajectoire entre 0 et x.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[271/324]
Preuve de Little pour une simulation avec retour à 0 - suite
Calcul de S dans les deux sens (vertical et horizontal)
#x
• S = t=0 N (t)dt = x × N
!
• S= m
i=1 di − ai = m × T
Donc, N =
m
xT
et par définition λ =
m
x
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[272/324]
Conséquence imprévue de la preuve
!m
Autre Conséquence : S = i=1 dα(i) − ai pour toute permutation α qui
garantisse la cohérence de la trajectoire (c’est à dire que les arrivées sont
avant les départs).
La moyenne de la durée de séjour est indépendante de l’ordre de sortie
pour les disciplines conservatives.
Simplification importante pour la simulation ou pour l’analyse : changer la
discipline de service pour la rendre plus simple si on ne s’intéresse qu’à la
moyenne du temps de séjour.
Discipline plus simple : simulation plus rapide car il y a moins d’états ou
analyse plus simple.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[273/324]
Temps de réponse
• Grâce à la formule de Little on obtient:
Qi = Xi Ri
• Qi nombre moyen de clients dans le serveur i
• et Ri temps moyen de réponse du serveur i.
• car λi = Xi si le serveur est stable.
• Ui = Xi Si est la formule de Little appliquée sur le serveur sans la file.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[274/324]
Composition des temps de réponse
• Un job se décompose en tâches élémentaires et ne quitte le système
que lorsqu’elles sont toutes terminées.
• Vi passage par job dans la station i
• le temps de réponse total est:
R=
"
Vi Ri
i
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[275/324]
Systèmes interactifs
• A la fin d’un job, le résultat est rendu à l’utilisateur qui attend un
certain délai (thinking time Z) avant de recommencer un nouveau job.
• Le temps total de cycle est R (séjour du job) plus Z
• Le taux de génération de job pour un utilisateur est
1
Z+R
• Si il y a N utilisateurs, on en déduit
X=
N
R+Z
R=
N
−Z
X
• Et donc,
• c’est la loi du temps de réponse pour les systèmes intéractifs
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[276/324]
Bornes asymptotiques et analyse de bottlenecks
• On cherche le bottleneck (la station de Di maximale).
• Soit b cette station, on a Ub = XDmax et Ub ≤ 1.
• Donc X ≤
1
Dmax
• De plus, R ≥ D
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[277/324]
• En apppliquant la loi du temps de réponse des systèmes intéractifs, on
a:
N
R=
− Z ≥ N Dmax − Z
X
N
N
X=
≤
R+Z
D+Z
• Ce qui donne les deux formules de bornes asymptotiques
X ≤ min(
1
Dmax
,
N
)
D+Z
R ≥ max(D, N Dmax − Z)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[278/324]
Revenons sur l’exemple
• N = 17
• D=3
• Dmax = 5
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[279/324]
Bornes Asymptotiques
Figure 7: Bornes de X en fonction de N
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[280/324]
Bornes Asymptotiques
Figure 8: Bornes de R en fonction de N
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[281/324]
Fin de l’exemple
• X=
XA
VA
= 0.1963
• Vcpu = 100 + 80 + 1 car chaque visite à un disque est précédée d’un
passage par la CPU
• XC P U = XVcpu = 35.48
• XB = XVB = 19.6
• Ucpu = XDcpu = 0.98
• Ua = XDa = 0.784
• Ub = XDb = 0.588
• R = N/X − Z = 68, 6s
• X ≤ min(N/30, 1/5)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[282/324]
Fiabilité d’un réseau et Monte Carlo
On considère un réseau (sommets, arcs). Il y a deux sommets particuliers s
et t (extrémités du réseau).
• Les sommets sont fiables.
• Les arcs peuvent tomber en panne (proba 1 − qi ).
• Pannes indépendantes.
yi = 1 : arc OK (0 sinon).
y = (y1 , ..., yn ) un état du réseau. q le vecteur (q1 , ..., qn ).
φ(y) vaut 1 si on peut connecter s à t par le réseau lorsque la configuration
de panne y se produit.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[283/324]
Probabilité d’une configuration de panne
P (y, q) =
$
qiyi (1 − qi )1−yi
i
On veut calculer g(q) =
!
y
φ(y)P (y, q)
Problème difficile: il n’y a pas d’algorithme pour calculer g(q) en un temps
polynomial (en fonction des tailles du problème).
Monte Carlo : comment représenter le problème comme un calcul de
volume ?
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[284/324]
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[285/324]
Simulation Sans Interaction
• Simulation d’un processus
(le temps et l’espace sont pris en compte)
• Simulation d’une variable aléatoire : Monte Carlo
seul l’espace est pris en compte
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[286/324]
Méthodes de Monte Carlo
Version élémentaire
• Calculer l’intégrale d’une fonction événtuellement difficile sur une
région peu régulière.
• Compter des objets vérifiant une propriété, objets issus d’un ensemble
fini de taille m mais où la complexité de génération est exponentielle
en m.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[287/324]
Algo : Volume
• j := 1; S := 0;
• tant que j ≤ n faire
– Générer x(j) uniforme sur [0, 1]m
– si x(j) ∈ R alors φ = 1 sinon φ = 0
– S := S + φ;j := j + 1;
Plus rapide à converger que la version déterministe si m > 2.
Hypothèse : x(j) ∈ R est relativement facile à calculer.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[288/324]
Algorithme
• On commence par calculer la connectivité c entre le source et la
destination (algorithme de flot max)
• Toute configuration avec moins de c pannes ne déconnecte pas le
réseau.
• Donc on générera uniquement les configurations avec au moins c
pannes.
• La fonction φ se calcule par un algorithme d’atteignabilité (DFS ou
BFS)
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[289/324]
Génération d’entiers uniformes
Dispositif Physique ou Algorithme :
Problème de la reproductibilité : pouvoir reproduire la séquence et donc la
trajectoire (par exemple pour debugger...)
Problème du Test : pouvoir tester la séquence et ses propriétés statistiques.
On choisit d’utiliser un algorithme...
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[290/324]
Principe de Base
Utiliser une fonction f à n arguments pour générer la prochaine valeur.
Les arguments sont les n valeurs précédentes de la série.
xn+k = f (xn+k−1 , xn+k−2 , . . . , xk )
• Il faut n valeurs pour initialiser le processus (graines, semences, seed)
• Comportement cyclique potentiel. Si on retombe sur une série de n
valeurs déjà calculées, alors la suite de la série est la même.
• La longueur du cycle dépend de la fonction mais aussi des racines.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[291/324]
Informatique :
les entiers et des réels informatiques sont codés sur un support fini.
Conséquence :
La séquence est finie, périodique et déterministe
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[292/324]
La génération de nombres uniformes est une des fonctions les plus utilisées
dans la dynamique de la simulation.
Problème d’efficacité...
Employer des opérateurs simples et rapides (arithmétique entière, décalage
binaire)
Compromis entre la complexité et des propriétés statistiques à vérifier.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[293/324]
Contraintes sur les séquences générées
• avoir une grande longueur avant de recommencer la séquence (longueur
du cycle ou période).
• réussir un test d’uniformité avec le degré de confiance choisi par
l’utilisateur.
• réussir un test d’indépendance entre deux valeurs successives avec le
degré de confiance choisi par l’utilisateur.
• réussir des test variés en fonction des besoins spécifiques (distributivité
dans l’espace, autocorrélation).
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[294/324]
3 Principes
• Ce n’est pas parce-que ca a l’air compliqué que c’est aléatoire....
• Chercher un algorithme récent étudié par un spécialiste...
• Effectuer des tests en cas d’utilisation ”spéciale”...
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[295/324]
Générateurs simples
• LCG : linear Congruential Generator
• Générateur à décalage sur la représentation binaire
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[296/324]
Générateur LCG
La fonction f est linéaire et utilise une arithmétique modulo m.
xn = axn−1 + b mod m
où a et b sont positifs ou nuls. xn est un entier entre O et m − 1. On se
ramène aux réels par division par m.
yn = xn /m
Donc yn ∈ [0, 1[.
Attention la valeur 1 est exclue.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[297/324]
Générateur à décalage
xn est représenté comme un vecteur binaire. L’itération est
xn+1 = T xn
T est une matrice booléenne à diagonale constante (équivalente à un
polynome)
On peut effecteur l’opération T xn par un circuit.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[298/324]
Propriétés simples des générateurs LCG
• Période maximale m.
• Une seule racine.
• Pour faciliter les calculs, souvent m = 2k .
→ division et modulo = simples décalages de bits.
• si b est nul, on parle de LCG multiplicatif. Calcul plus facile.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[299/324]
Si b > 0, la période maximale m est obtenue si et seulement si les trois
conditions suivantes sont satisfaites :
• b et m sont premiers entre eux.
• chaque entier premier diviseur de m est aussi diviseur de a − 1.
• si m est multiple de 4, a − 1 doit être multiple de 4.
Exemple : les générateurs de type m = 2k , a = 4c + 1, et b impair ont un
cycle de longueur m.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[300/324]
La longueur du cycle n’est pas tout; la corrélation entre deux valeurs
successives est très importante.
Exemples :
xn = (234 + 1)xn−1 + 1 mod 235
xn = (218 + 1)xn−1 + 1 mod 235
Le premier a une autocorrélation d’ordre 1 de 0.25 alors que le second a
une autocorrélation d’ordre 1 de 2−18 .
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[301/324]
LCG multiplicatif
Deux familles intéressantes :
1. m = 2k
2. m premier
m = 2k
• Opération modulo = décalage en binaire
• période maximale m/4
• période maximale atteinte pour a = 8i ± 3 pour une racine initiale
impaire
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[302/324]
m premier
• Période maximale : m − 1
• Impossible d’atteindre 0 (et de quitter cette valeur)
• Pour obtenir la période maximale, il faut choisir a comme racine
primitive de m.
a est une racine primitive de m si et seulement si an − 1 n’est pas divisible
par m pour tout n strictement inférieur
Exemple, si m = 31, on peut prendre a = 3 car 3 est une racine primitive
de 31.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[303/324]
Problèmes d’Implémentation des générateurs LCG
1. Il faut toujours travailler sur de l’arithmétique entière exacte et non
pas passer en réel et faire une troncature.
2. Vérifier que le type entier existe effectivement dans le langage et qu’il
y a une arithmétique exacte associée.
3. il faut que l’opération de multiplication a × xn−1 ne provoque pas
d’erreurs de débordement (dépassement de l’entier maximum).
Sinon, le codage du générateur ne vérifie pas les propriétés enoncées.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[304/324]
Méthode de Schrage
Pour éliminer le problème du dépassement de l’entier maximal.
a × x mod m = g(x) + m × h(x)
q
= (m div a)
(48)
r
= (m mod a)
(49)
g(x)
= a × (x mod q) − r × (x div q)
(50)
h(x)
= (x div q) − (a × x div m)
(51)
Pour tout x de 0 à m − 1, les termes apparaissant dans le calcul de g(x)
sont plus petits que m.
De plus, si r < q, h(x) vaut 1 si g(x) est négatif et 0 si g(x) est positif. Il
est inutile de calculer h.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[305/324]
Exemple Méthode de Schrage
Codage en Pascal du générateur xn = 75 × xn−1 mod (231 − 1). a × x
peut atteindre à peu près 245 . Débordement possible sur une arithmétique
32 bits.
a = 75 = 16807
m = 2147483647
On calcule q et r
q = 12773
r = 2836
et donc q > r.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[306/324]
Function Random(var x : integer) : real;
const q = 12773;
a = 16807;
r = 2836;
m = 2147483647
var
x1,x2,g: integer;
begin
x1:= x div q;
x2:= x mod q;
g:=a*x2 - r*x1;
if g<0 then x:=g+m else x:=g;
Random:=x/m;
end;
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[307/324]
Problèmes et Conseils
• Ne jamais utiliser la fonction random fournie par un langage non
spécialisé sans l’avoir testée.
• Ne jamais utiliser 0 comme racine, si le générateur est un LCG
multiplicatif, on reste coincé à 0.
• Ne jamais prendre de racines aléatoires (inconnues) ou dépendantes du
système (horloge, pid). 2 Risques : non reproductibilité de la séquence
et choix d’une mauvaise racine.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[308/324]
Ne jamais supposer que si un nombre est aléatoire, un bit de sa
représentation l’est également. Ne pas se servir de la représentation binaire
de xn comme une chaı̂ne binaire aléatoire uniforme.
Exemple, xn = (8789xn−1 + 16384) mod 216 initialisé à 1
• le bit 1 (le poids faible) est toujours 1
• le bit 2 est toujours 0
• le bit 3 suit la séquence 01
• le bit 4 suit la séquence 0110
• le bit 5 suit un cyle 11010010
• plus généralement le bit l suit un cycle de longueur 2l−2 .
Cette propriété est toujours vraie pour les générateurs LCG avec m = 2k .
Les bits de poids faible sont ”peu aléatoires”.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[309/324]
Exemple d’erreurs provoquées par un générateur de ce type
A
B
C
D
Figure 9: Réseau Multi-étages
Modèle du routage : indépendant, à chaque switch on choisit la destination
avec probabilité 1/2.
Conclusion du modèle: Chaque switch du 2ème étage traite 1/4 du trafic.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[310/324]
Implémentation à l’aide du générateur précédent et on utilise les bits 1 et 2
des entiers générés pour faire le routage : 0 pour sortie haute, 1 pour sortie
basse.
Conclusion de la simulation : le switch C traite la totalité du trafic.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[311/324]
• Plus généralement, pour éviter les dépendances, éviter que les
séquences ne se chevauchent :
– déterminer la longueur de la simulation en nombre de tirages
aléatoires pour chaque source (N).
– évaluer à part les différentes racines : x0 , xN , x2N , etc.
xN = f (N ) (x0 )
x2N = f (2N ) (x0 )
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[312/324]
Problème de la k-distributivité
Illustrons le problème:
• xn = (216 + 3)xn−1 mod 231 est un générateur utilisé par IBM dans
les années 60, sous le nom de RANDU.
• Il existe une version pour micro 16 bits de ce générateur
xn = (28 + 3)xn−1 mod 215 . Les deux sont à éviter....
• si on prend 3 points successifs comme coordonnées (x, y, z), tous les
points ainsi générés se devraient remplir tout le cube.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[313/324]
Figure 10: Triplets de points construits par RANDU
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[314/324]
Figure 11: Triplets de points construits par RANDU, changement d’angle
de vue
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[315/324]
Tous les points ainsi générés se situent sur 15 plans et non pas dans tout le
cube.
Le problème est général à tous les générateurs LCG. Tous les
k-uplets sont dans au plus (k!m)1/k hyperplans parallèles.
Illustration en dimension 2 : des droites....
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[316/324]
30
"generateur.data"
25
20
15
10
5
0
0
5
10
15
20
25
30
Figure 12: Pavage par un LCG
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[317/324]
Amélioration des LCG par combinaison
Méthode de la Table (Knuth)
On utilise deux générateurs xn et yn .
1. On initialise un tableau T de taille k avec k valeurs successives du
générateur xn .
2. On utilise yn normalisé entre 1 et k. yn = i
3. On retourne T (i),
4. On calcule une nouvelle valeur de xn à ranger dans T (i)
5. On recommence en 2
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[318/324]
• Les mauvaises propriétés des LCG se transmettent aux algorithmes qui
les empmloient.
• 3 exemples d’algo de Box et Muller pour générer des lois normales.
• Ne pas croire que NS2 ou les autres logiciels n’ont pas ce type de
problème.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[319/324]
Figure 13: Box Muller et LCG: exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[320/324]
Figure 14: Box Muller et LCG: autre exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[321/324]
Figure 15: Box Muller et LCG: dernier exemple
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[322/324]
Bibliographie
• Simulation Modeling and Analysis, A. Law, D. Kelton, Mac Graw Hill.
• Méthodes statistiques à l’usage des médecins et des biologistes, D.
Schwartz, Flammarion, coll. Médecine-Sciences
• Monte Carlo, concepts, algorithms, and applications, G.S. Fishman,
Springer
• Simulation model design and execution : building digital worlds, P.
Fishwick, Prentice Hall.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[323/324]
Bibliographie
• Introduction to numerical solution of Markov chains, W.J. Stewart,
Princeton University Press, 1994
• Raj Jain, ”The Art of Computer Systems Performance Analysis”,
Wiley, 1991
• Mike Tanner, ”Practical Queueing Analysis”, IBM-Mac Graw Hill,
1995
• D.A. Menasce, V.A.F. Almeida, ”Capacity Planning for Web
Performance”, 1998
• R.A. Sahner, K.S. Trivedi, A. Puliafito, Performance and reliability
analysis of computer systemsn Kluwer Academic Press.
M2 ASS-ACSIS 2008, Université de Versailles St Quentin
[324/324]