• Aucun résultat trouvé

IFT 6561 Simulation: aspects stochastiques

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 6561 Simulation: aspects stochastiques"

Copied!
19
0
0

Texte intégral

(1)

IFT 6561

Simulation: aspects stochastiques

Fabian Bastin DIRO

Universit ´e de Montr ´eal

Automne 2013

(2)

Tests statistiques

L’ ´etude des propri ´et ´es th ´eoriques d’un g ´en ´erateur ne suffit; il estindispensable de recourir `a des tests statistiques pour valider celui-ci.

mbox

Nous formulons l’hypoth `ese

H0 : “{u0,u1,u2, . . .}sont des variables al ´eatoires i.i.d. U(0,1)00.

Nous savons queH0est fausse, mais comment pouvons-nous le d ´etecter?

Pour ce faire, d ´efinissons une statistiqueT, fonction deui, dont la distribution sousH0est connue (ou approximativement).

Nous rejetonsH0si la valeur deT est trop extr ˆeme.

(3)

Tests statistiques

La puissance et l’efficacit ´e du test d ´ependent fortement de la classe d’alternatives. Diff ´erents tests d ´etectent des probl `emes diff ´erents.

L’id ´eal serait de disposer d’une statistiqueT qui imite la variable al ´eatoire d’int ´er ˆet pratique. Ce n’est cependant gu `ere r ´ealisable en pratique.

Impossible de construire un g ´en ´erateur de variables al ´eatoires qui passerait tous les tests. Compromis: construire un

g ´en ´erateur qui passe le plus de tests raisonnables.

La plupart des tests ´etudient la r ´epartition uniforme d’un

(4)

Tests statistiques

Avoir une bonne couverture uniforme ne suffit toutefois pas: les points g ´en ´er ´es doivent avoir l’apparence d’ind ´ependance les uns par rapport aux autres.

Les tests d’uniformit ´e, qui repr ´esentent la majeure partie des tests `a notre disposition, remplissent partiellement ce second objectif dans la mesure o `u ils sont valid ´es pour des

sous-ensembles de points tr `es vari ´es.

Certains tests cependant sont sp ´ecifiquement conc¸us pour tester les corr ´elations entre les points produits par un g ´en ´erateur.

(5)

TestU01

Le logiciel TestU01 (http://www.iro.umontreal.ca/

˜simardr/testu01/tu01.html), impl ´emente un nombre tr `es important de tels tests.

Nous nous limiterons `a quelques exemples afin d’illustrer les id ´ees sous-jacentes.

(6)

Test de collisions

Partitionnons l’hypercube[0,1)t enk =dt boˆıtes cubiques de tailles ´egales. G ´en ´eronsnpointsui = (uti, . . . ,uti+t−1)dans [0,1)t, et posonsXj le nombre de points dans la boˆıtej.

Le nombre de collisions est donn ´e par

C=

k−1

X

j=0

max(0,Xj−1).

SousH0,Csuit approximativement une loi de Poisson de moyenneλ=n2/(2k), pournsuffisamment grand, et un petitλ.

(7)

Test de collisions

Si nous observonsccollisions, nous calculons lap-valeur `a droite comme

p+(c) =P[X ≥c |X ∼ Poisson(λ)].

Nous rejetonsH0sip+(c)est de mani `ere consistante tr `es proche de 0 (trop de collisions) ou de 1 (pas assez de collisions).

Une interpr ´etation possible est l’ ´etude par simulation Monte Carlo du comportement probablisite d’un algorithme de hachage.

(8)

Espacement entre anniversaires

Nous partitionnons `a nouveau l’hypercube[0,1)t enk =dt boˆıtes cubiques, et g ´en ´eronsnpoints.

SoitI(1) ≤I(2)≤ · · · ≤I(n)les num ´eros de boˆıte o `u les points tombent, tri ´es par ordre croissant.

Nous calculons les espacements

Sj =I(j+1)−I(j), 1≤j ≤n−1.

Le nombre de collisions entre les espacements est d ´efini comme

Y =

n−1

X

j=1

I[S(j+1)=S(j)].

(9)

Espacement entre anniversaires

Pourk suffisamment grand,Y suit approximativement une loi de Poisson de moyenneλ=n3/(4k).

SiY prend la valeury, lap-valeur `a droite est p+(y) =P[X ≥y |X ∼ Poisson(λ)].

Interpr ´etation comme probl `eme de simulation: nous pouvons vouloir ´etudier la distribution deY par simulation Monte Carlo, pour des valeurs mod ´er ´ees dek etn.

(10)

Test d’autocorr ´elation

G ´en ´eronsnuniformesu1, . . . ,unet calculons l’autocorr ´elation empirique de distancek:

ˆ

ρk = 1

n−k

n−k

X

j=1

ujuj+k −1 4

.

La distribution empirique deN valeurs de p12(n−k) ˆρk

est compar ´ee avec la distribution normale standard, qui est la distribution th ´eorique asymptotique quandn→+∞.

L’approximation n’est valide que pourntr `es grand, et avec k tr `es petit en comparaison den.

(11)

Quelques g ´en ´erateurs largement utilis ´es

Avant 2003, le g ´en ´erateur dans MS Excel ´etait ui = (9821.0ui−1+0.211327) mod 1.

Le g ´en ´erateur est `a pr ´esent une combinaison de trois GCLs simplistes. A la m ˆeme p ´eriode, le g ´en ´erateur dans MS VisualBasic ´etait

xi = (1140671485xi−1+12820163) mod 224, ui = xi/224.

Le g ´en ´erateur dansjava.util.Randomde Java est quant `a lui

48

(12)

R ´esultats de tests: test de colisions

Consid ´eronst=2,d =n/16,λ=128.

n Java VisualBasic Excel

c p+(c) c p+(c) c p+(c)

214 132

215 75 1−3.1×10−7 128

216 38 >1−10−15 121

217 0 >1−10−15 170 2.2×10−4 218 0 >1−10−15 202 9.5×10−10 219 0 >1−10−15 429 <10−15

(13)

R ´esultats de tests: test de colisions

Si on rejette les dix premiers bits de chaqueui: on prend ui :=1024ui mod 1.

n Java VisualBasic Excel

c p+(c) c p+(c) c p+(c)

214 8192 <10−15

215 24576 <10−15

216 57344 <10−15

217 122880 <10−15

218 253952 <10−15 224 1.0×10−14

219 160 3.5×10−3 516096 <10−15 425 <10−15

(14)

Espacements d’anniversaire

Consid ´eronst=2,λ=1.

n d Java VisualBasic Excel

y p+(y) y p+(y) y p+(y) 28 211

210 214 10 1.1×10−7

212 217 592 <10−15 5 3.7×10−3 214 220 11129 <10−15 71 <10−15 216 223 64063 <10−15 558 <10−15 218 226 14 4.5×10−12 261604 <10−15 4432 <10−15

(15)

Espacements d’anniversaire

n d LCG-16807

y p+(y) 210 214

212 217 2

214 220 170 <10−15 216 223 10060 <10−15

(16)

Espacements d’anniversaire

Et en rejetant les 10 premiers bits:

n Java VisualBasic Excel

y p+(y) y p+(y) y p+(y)

28 52 <10−15

29 199 <10−15

210 672 <10−15

211 1754 <10−15

212 3901 <10−15

213 8102 <10−15

214 16374 <10−15

215 21 6.0×10−15 32763 <10−15

216 99 <10−15 65531 <10−15 7 4.5×10−3

217 697 <10−15 — — 34 <10−15

(17)

Tests syst ´ematiques pour des familles de g ´en ´erateurs de nombres al ´eatoires

Pour une famille de g ´en ´erateurs de nombres al ´eatoires, on cherche une relation su type[n0≈Kργ,] o `un0est la taille d’ ´echantillon minimum pour obtenir un fort rejet,ρest la longueur de p ´eriode, etK etγ sont des constantes.

Pour des GCLs, on obtient (grossi `erement) pour le test de collisions:

n0≈16ρ1/2,

et pour le test d’espacement entre anniversaires:

n0≈16ρ1/3.

Nous souhaitons d `es lors construire le g ´en ´erateur de nombres

(18)

Librairie de tests

Tests effectu ´es sur la plupart des g ´en ´erateurs existants.

Pratiquement aucun des g ´en ´erateurs pr ´esent dans les logiciels commerciaux ne passe tous les tests. Vrai en particulier pour les g ´en ´erateurs modulo-2.

Les vainqueurs sont des MRG avec une bonne p ´eriode et une bonne structure, des g ´en ´erateurs multiplicatifs

“lagged-Fibonacci”, des g ´en ´erateurs non-lin ´eaires conc¸us pour la cryptologie, et certains g ´en ´erateurs avec des composantes venant de diff ´erentes familles.

(19)

Librairie de tests

Il est possible de combiner efficacit ´e empirique et th ´eorique, comme l’illustre le MRG32k3a.

Note: g ´en ´erateur multiplicatifs “lagged-Fibonacci”. Forme de base

xn=xn−r ∗xn−k modm.

Il a moins de propri ´et ´es math ´ematiques connues, difficult ´es du choix der et dek, initialisation complexe.mest souvent pris comme une puissance de 2.

Références

Documents relatifs

turel de poser la question s’il existent des processus x(t) satisfaisant aux conditions du théorème 2 , ayant une multiplicité N donnée, finie ou infinie.. Dans mon

Toutefois il peut arriver qu’une propriété de E(a) soit presque sûre pour chaque valeur donnée de a, mais qu’il existe presque sûrement des valeurs de a

Lorsque l’interrupteur est ouvert, le courant ´electrique provenant de la borne + du g´en´erateur ne peut pas passer et la lampe ne s’allume pas.. On dit que le circuit

Supposons qu’il y a m num´ eros diff´ erents et que chacun a une probabilit´ e 1/m pour chaque bouteille, ind´ ependamment des autres bouteilles.. Soit X le nombre de bouteilles

D` es qu’un processeur r´ eussit, ou encore si aucun processeur ne r´ eussit, la tˆ ache quitte le syst` eme, puis on r´ eordonne les processeurs comme suit: si un processeur autre

Une fa¸con simple de voir si les observations sont en accord avec cette hypoth` ese est de faire un test de chi-deux sur les r´ esultats, pour tester l’hypoth` ese que la

Each time an event occurs, we must decide whether or not to stop, with our objective being to stop at the last event to occur prior to some specified time T , where T &gt; 1/λ..

Remarque: Les mod` eles de CMTC examin´ es ici (et dans le chapitre sur les CMTC) peuvent sembler inutiles car trop irr´ ealistes, en particulier parce que toutes les dur´ ees