Vous êtes sur la page 1sur 45

Plan du cours

0/ Probabilits, statistiques comme outils informatiques.


1/ Rappels de probabilits
2/ Gnration alatoire (principes et mthodes). ON EST ICI.
3/ Rappels et lments de statistiques.
4/ Evaluation de performances.
5/ Modles mathmatiques et analyse.
6/ Simulation.
7/ Mthodologie de lvaluation de performances

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

1 / 21

Gnration alatoire

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

2 / 21

Gnration alatoire
1

Introduction & motivations.

Les premiers exemples.

Les gnrateurs k pas. ON EST ICI.

Gnrateur de loi uniforme. ON EST ICI.

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

2 / 21

Gnrateur 1 pas

Dtection dun G1P, amliorations possibles?


Bote noire suite ultimement priodique!
Q UESTION : comment savoir quil sagt dun G1P?
Comment amliorer?

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

3 / 21

Gnrateur 1 pas

Dtection dun G1P, amliorations possibles?


Bote noire suite ultimement priodique!
Q UESTION : comment savoir quil sagt dun G1P?
Comment amliorer?
Proprits dun G1P
Soit (xn ) une suite ultimement priodique alors les deux proprits
suivantes sont quivalentes :
(i) La suite est produite par un G1P (rappel : G1P est dfini par
(F , x0 , f ) xn+1 = f (xn ) dans lens. F )
(ii)
n, m, xn = xm xn+1 = xm+1 .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

3 / 21

Vers des gnrateurs 2 pas?

On peut construire des gnrateurs deux pas du type Fibonacci:


x0 , x1 , xn+2 = f (xn , xn+1 )

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

4 / 21

Vers des gnrateurs 2 pas?

On peut construire des gnrateurs deux pas du type Fibonacci:


x0 , x1 , xn+2 = f (xn , xn+1 )

Cependant, on remarque vite que cette nouvelle suite nest rien


dautre quune projection du G1P dfini par le triplet
(F 2 , g, X0 = (x0 , x1 )) o g est donne par
g(X ) = g(x, y ) = (y , f (x, y )) .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

4 / 21

Dtection des gnrateurs deux pas


Donc comme pour les G1P, pour les G2P on peut montrer la proprit
suivante.

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

5 / 21

Dtection des gnrateurs deux pas


Donc comme pour les G1P, pour les G2P on peut montrer la proprit
suivante.
Proprit dun G2P
Soit (xn ) une suite ultimement priodique alors les deux proprits
suivantes sont quivalentes :
(i) La suite est produite par un G2P ( G2P est dfini par
(F , f , (x0 , x1 )) dans lens. F , f : F 2 F )
(ii)
n, m, [xn , xn+1 ] = [xm , xm+1 ] xn+2 = xm+2 .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

5 / 21

Dtection des gnrateurs deux pas


Donc comme pour les G1P, pour les G2P on peut montrer la proprit
suivante.
Proprit dun G2P
Soit (xn ) une suite ultimement priodique alors les deux proprits
suivantes sont quivalentes :
(i) La suite est produite par un G2P ( G2P est dfini par
(F , f , (x0 , x1 )) dans lens. F , f : F 2 F )
(ii)
n, m, [xn , xn+1 ] = [xm , xm+1 ] xn+2 = xm+2 .
Consquences
Les algorithmes de Brent et Floyd sappliquent sur les vecteurs!

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

5 / 21

Exemples

x0 = 1, x1 = 1 et xn+2 = xn+1 + xn MOD 5 .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

6 / 21

Exemples

x0 = 1, x1 = 1 et xn+2 = xn+1 + xn MOD 5 .


On a la suite 1, 1, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, On
peut crire tout ceci sous la forme matricielle:

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

6 / 21

Exemples

x0 = 1, x1 = 1 et xn+2 = xn+1 + xn MOD 5 .


On a la suite 1, 1, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, On
peut crire tout ceci sous la forme matricielle:
    
 


x0
1
xn+2
1 1 xn+1
=
;
=
.
x1
1
xn+1
1 0
xn
En utilisant le produit par blocks, nous avons

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

6 / 21

Exemples

x0 = 1, x1 = 1 et xn+2 = xn+1 + xn MOD 5 .


On a la suite 1, 1, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, 6, 6, 1, 5, 4, 5, 1, On
peut crire tout ceci sous la forme matricielle:
    
 


x0
1
xn+2
1 1 xn+1
=
;
=
.
x1
1
xn+1
1 0
xn
En utilisant le produit par blocks, nous avons

 
 
xn+1 xn
1 1 n 1
=
xn+2 xn+1
1 0
1
Par consquent, la priode est celle de

Ravelomanana Vlady

1
1


1 n
0


2
1
(modulo 5).

Analyse de performance & Simulations

Janvier, 2012

6 / 21

Gnrateurs du type GL2P


Ce sont les gnrateurs dfinis par une rcurrence linaire
dordre 2 .
x0 , x1 donns et xn+2 = axn + bxn+1 .
Cette rcurrence est lie lquation caractristique r 2 = a + br . On
observe :

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

7 / 21

Gnrateurs du type GL2P


Ce sont les gnrateurs dfinis par une rcurrence linaire
dordre 2 .
x0 , x1 donns et xn+2 = axn + bxn+1 .
Cette rcurrence est lie lquation caractristique r 2 = a + br . On
observe :
Proposition
Pour quune suite de puissances (r n )n0 vrifie une rcurrence linaire
dordre 2 il faut et il suffit quelle la vrifie pour n = 0, soit r 2 = a + br .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

7 / 21

Gnrateurs du type GL2P


Ce sont les gnrateurs dfinis par une rcurrence linaire
dordre 2 .
x0 , x1 donns et xn+2 = axn + bxn+1 .
Cette rcurrence est lie lquation caractristique r 2 = a + br . On
observe :
Proposition
Pour quune suite de puissances (r n )n0 vrifie une rcurrence linaire
dordre 2 il faut et il suffit quelle la vrifie pour n = 0, soit r 2 = a + br .
Vers des gnrateurs efficaces
Il faut paramtrer de faon obtenir de grandes priodes. On peut
dcomposer en petits gnrateurs dont on peut matriser les priodes:
ce seront les suites de la forme (r n ) et (nr n ).
Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

7 / 21

Combinaison de deux gnrateurs

On a vu que la suite (r n ) modulo p est produite par un GL1P et la suite


(nr n ) modulo p par un GL2P.
Proposition
Soit m > 0, , , r1 , r2 entiers. La suite (r1n + r2n )n 0 est produite
par le gnrateur
x0 = + , x1 = r1 + r2 ET xn+2 = (r1 + r2 )xn+1 (r1 r2 )xn .
Dans les mmes conditions, la suite (r n + nr n ) est produite par
+ , r + r ET xn+2 = 2rxn+1 r 2 xn .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

8 / 21

Autres gnrateurs ...

[M ITCHELL ] et [M OORE ] ont crit le gnrateur suivant:


Xn = (Xn24 + Xn55 ) MOD m
o les termes initiaux X0 X54 sont des entiers arbitraires non tous
pairs. La priode dune telle suite est 2f (255 1) pour m = 2a et
0 f < a (voir [K NUTH ] ). Une telle suite est difficile dans notre cadre
analyser.
Dautres gnrateurs sont trouver! Les trs bons gnrateurs sont
souvent (trs) difficiles analyser (exprimentalement et
analytiquement).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

9 / 21

Gnrer des variables alatoires quelconques


On suppose disposer dun gnrateur de v.a. uniformes (0, 1), not
U [0, 1], ou dun gnrateur pseudo-alatoire (0, M) correct. On note
par x resp. xi ) la v.a. produite par U [0, 1] (resp. la i-me occurrence
dune telle production).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

10 / 21

Gnrer des variables alatoires quelconques


On suppose disposer dun gnrateur de v.a. uniformes (0, 1), not
U [0, 1], ou dun gnrateur pseudo-alatoire (0, M) correct. On note
par x resp. xi ) la v.a. produite par U [0, 1] (resp. la i-me occurrence
dune telle production).
v.a. binomiale B(n, p)
Dfinition : nombre de succs sur n tentatives indpendantes,
chacune ayant une probabilit p de russir.
Cas particulier : Bernoulli B(1, p).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

10 / 21

Gnrer des variables alatoires quelconques


On suppose disposer dun gnrateur de v.a. uniformes (0, 1), not
U [0, 1], ou dun gnrateur pseudo-alatoire (0, M) correct. On note
par x resp. xi ) la v.a. produite par U [0, 1] (resp. la i-me occurrence
dune telle production).
v.a. binomiale B(n, p)
Dfinition : nombre de succs sur n tentatives indpendantes,
chacune ayant une probabilit p de russir.
Cas particulier : Bernoulli B(1, p).
Bernoulli
Pour gnrer une occurrence de Bernoulli y de paramtre p, il suffit de
poser:
y = 1 si x < p et y = 0 sinon.

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

10 / 21

Gnrer des binomiales


On peut distinguer trois cas:
Si n est petit, on utilise le fait que B(n, p) est la somme de n
Bernoulli :
On gnre x1 , , xn , on dduit y1 , , yn et y =

n
X

yi .

i=1

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

11 / 21

Gnrer des binomiales


On peut distinguer trois cas:
Si n est petit, on utilise le fait que B(n, p) est la somme de n
Bernoulli :
On gnre x1 , , xn , on dduit y1 , , yn et y =

n
X

yi .

i=1

Si n est pas trop grand, on utilise la mthode dite de la fonction


inverse (voir plus loin).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

11 / 21

Gnrer des binomiales


On peut distinguer trois cas:
Si n est petit, on utilise le fait que B(n, p) est la somme de n
Bernoulli :
On gnre x1 , , xn , on dduit y1 , , yn et y =

n
X

yi .

i=1

Si n est pas trop grand, on utilise la mthode dite de la fonction


inverse (voir plus loin).
Si n est trs grand, on utilise la loi normale et lapproximation
p
B(n, p) N(np, np(1 p)) .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

11 / 21

La mthode de la fonction inverse


Ide : On veut simuler une v.a. X de fonction de rpartition F .
Proposition
Soit X une v.a. de fonction de rpartition F strictement croissante. On
a
F (X ) U [0, 1] .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

12 / 21

La mthode de la fonction inverse


Ide : On veut simuler une v.a. X de fonction de rpartition F .
Proposition
Soit X une v.a. de fonction de rpartition F strictement croissante. On
a
F (X ) U [0, 1] .
Preuve.
On pose u = F (x). Donc x = F 1 (u). Par dfinition, F (x) = P [X x]. Donc
h
i
F (F 1 (u)) = P X F 1 (u) |
={zu
}
par df. de la rciproque

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

12 / 21

La mthode de la fonction inverse


Ide : On veut simuler une v.a. X de fonction de rpartition F .
Proposition
Soit X une v.a. de fonction de rpartition F strictement croissante. On
a
F (X ) U [0, 1] .
Preuve.
On pose u = F (x). Donc x = F 1 (u). Par dfinition, F (x) = P [X x]. Donc
h
i
F (F 1 (u)) = P X F 1 (u) |
={zu
}
par df. de la rciproque

Comme F est strictement croissante


h
i
P X F 1 (u) = P [F (X ) u] .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

12 / 21

La mthode de la fonction inverse


Ide : On veut simuler une v.a. X de fonction de rpartition F .
Proposition
Soit X une v.a. de fonction de rpartition F strictement croissante. On
a
F (X ) U [0, 1] .
Preuve.
On pose u = F (x). Donc x = F 1 (u). Par dfinition, F (x) = P [X x]. Donc
h
i
F (F 1 (u)) = P X F 1 (u) |
={zu
}
par df. de la rciproque

Comme F est strictement croissante


h
i
P X F 1 (u) = P [F (X ) u] .
On a donc u = P [F (X ) u] qui nest rien dautre que la df. de la loi uniforme.
Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

12 / 21

Exemple: la loi exponentielle

X suit une loi exponentielle de paramtre > 0 si sa fonction de


rpartition est F (x) = 1 ex .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

13 / 21

Exemple: la loi exponentielle

X suit une loi exponentielle de paramtre > 0 si sa fonction de


rpartition est F (x) = 1 ex . Cette fonction est inversible et est
strictement croissante. On a F 1 (u) = 1 log 1 u. On pourra poser
X = log (1 U)/ mais X = log U convient!

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

13 / 21

Exemple: la loi exponentielle

X suit une loi exponentielle de paramtre > 0 si sa fonction de


rpartition est F (x) = 1 ex . Cette fonction est inversible et est
strictement croissante. On a F 1 (u) = 1 log 1 u. On pourra poser
X = log (1 U)/ mais X = log U convient!
Remarques.
Lhypothse de la connaissance de F 1 na de sens que si F est
strictement croissante. Mais mme dans ce cas, il se peut que F 1
existe mais nait pas dexpression simple. Cest le cas de la loi
normale
Z x
1
2
F (x) =
et /2 dt .
2

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

13 / 21

Loi de probabilit discrte sur un ens. fini


Soit X une v.a. valeurs dans {1, , K }, on note
pk = P [X = k ]

(remarquez que

K
X

pk = 1)

k =1

P
On note Pk le cumul, i.e. P0 = 0 et Pk = ki=0 pk (et donc PK = 1).
On a donc un algorithme pour gnrer X :

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

14 / 21

Loi de probabilit discrte sur un ens. fini


Soit X une v.a. valeurs dans {1, , K }, on note
pk = P [X = k ]

(remarquez que

K
X

pk = 1)

k =1

P
On note Pk le cumul, i.e. P0 = 0 et Pk = ki=0 pk (et donc PK = 1).
On a donc un algorithme pour gnrer X :
Algo. pour loi discrte
On tire U.
Ensuite, on a
X =

K
X

i1{Pi1 U < Pi }

i=1

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

14 / 21

Poisson

On veut simuler la loi de Poisson de paramtre .


X Poisson() pk = P [X = k ] = e

Ravelomanana Vlady

k
(pour k N) .
k!

Analyse de performance & Simulations

Janvier, 2012

15 / 21

Poisson

On veut simuler la loi de Poisson de paramtre .


X Poisson() pk = P [X = k ] = e

k
(pour k N) .
k!

On remarque que pk +1 = k +1
pk . On peut donc utiliser lalgorithme
prcdent en utilisant les cumuls et en dcalant P1 = 0, P0 = e .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

15 / 21

Poisson (seconde mthode)

On utilise la proprit suivante. Si des vnements surviennent des


dates spares par des dures exponentielles de paramtre , le
nombre dvnements survenant en une unit de temps suit une loi de
Poisson de paramtre . On simule des v.a. i.i.d. {Y1 , Y2 , } telles
que Yi expo(). La v.a.
X
X =
k 1{Zk 1 < Zk +1 }
k 0

P
(o Zk = ki=1 Yi ) est Poisson().
Il faut donc simuler des v.a expo. et compter le nombre de
simulations ncessaires pour dpasser 1 ou bien simuler des v.a.
expo. de paramtre 1 et compter le nombre ncssaire pour dpasser
.

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

16 / 21

Algorithme de rejet pour loi quelconque

On veut simuler une v.a. X de densit f et de loi de rpartition F


Hypothses
a) f est support compact (f est nulle en dehors dun intervalle [a, b].
b) f est majore, i.e. x [a, b] : f (x) M.
M

F(x0)
a

Ravelomanana Vlady

x0

Analyse de performance & Simulations

Janvier, 2012

17 / 21

Algo de rejet: mthode

On tire un point A = (X , Y ) uniformment dans le rectangle


(abcd):
On tire U1 : X = a + (b 1)U1
On tire U2 : Y = MU2

Si Y f (X ), on garde X sinon on retire (dehors!).

On ritre jusqu Y f (X ).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

18 / 21

Algo de rejet: mthode

On tire un point A = (X , Y ) uniformment dans le rectangle


(abcd):
On tire U1 : X = a + (b 1)U1
On tire U2 : Y = MU2

Si Y f (X ), on garde X sinon on retire (dehors!).

On ritre jusqu Y f (X ).

Thorme
X ainsi obtenue a bien une densit f et une fonction de rpartition F .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

18 / 21

Dmonstration du th. de rejet

Il faut montrer que P [X x0 ] = F (x0 ). On a


P [X x0 ] = P [X x0 | on garde le point A = (X , Y )].
Donc,
P [X x0 ] = P [X x0 |Y f (X )] =

P [X x0 , Y f (X )]
.
P [Y f (X )]

Or
P [X x0 |Y f (X )] =
et
P [Y f (X )] =

Ravelomanana Vlady

surface zone hachure


F (x0 )
=
surface du rectangle (abcd)
M(b a)

surface sous la courbe


1
=
surface du rectangle (abcd)
M(b a)

Analyse de performance & Simulations

Janvier, 2012

19 / 21

Loi normale
La loi normale a la fonction de rpartition
1
F (x) =
2

et

/2

dt

On ne peut pas appliquer les mthodes prcdentes (support non compact & inverse
difficile ...).

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

20 / 21

Loi normale
La loi normale a la fonction de rpartition
1
F (x) =
2

et

/2

dt

On ne peut pas appliquer les mthodes prcdentes (support non compact & inverse
difficile ...). Nanmoins en appliquant le th. central limite (CLT), on a une mthode trs
simple de gnration de v.a. normales. On sait que si x est une v.a. desprance et
de variance 2 alors en sommant n v.a. i.i.d on a (CLT)
Somme n L

N(0, 1)
n

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

20 / 21

Loi normale
La loi normale a la fonction de rpartition
1
F (x) =
2

et

/2

dt

On ne peut pas appliquer les mthodes prcdentes (support non compact & inverse
difficile ...). Nanmoins en appliquant le th. central limite (CLT), on a une mthode trs
simple de gnration de v.a. normales. On sait que si x est une v.a. desprance et
de variance 2 alors en sommant n v.a. i.i.d on a (CLT)
Somme n L

N(0, 1)
n
1
Par exemple en tirant 12 v.a du gnrateur U [0, 1] on a E(U) = 12 et 2 (U) = 12
. On
simule 12 v.a U [0, 1]. On fait la somme. La variance de cette somme vaut 1 et il faut
la centrer en lui retranchant son esprance:

X =

12
X

Ui 6 .

i=1

Cette loi est trs proche de la loi normale N(0, 1).


Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

20 / 21

Autre mthode et N(, 2 )

p
On tire U1 et U2 et on dfinit R = 2 log U1 et = 2U2 . On pose
X = R cos et Y = R sin . X et Y sont deux N(0, 1). Pour avoir
Z N(, 2 ) on fait la transformation
Z = + X .

Ravelomanana Vlady

Analyse de performance & Simulations

Janvier, 2012

21 / 21