• Aucun résultat trouvé

IFT 6561 Simulation et mod`eles

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 6561 Simulation et mod`eles"

Copied!
22
0
0

Texte intégral

(1)

IFT 6561

Simulation et mod `eles

Fabian Bastin DIRO

Universit ´e de Montr ´eal

Automne 2013

Fabian Bastin IFT6561

(2)

Structure de r ´eseau

Consid ´erons le sous-ensemble de[0,1]t construit `a partir des diff ´erents ´etats initiaux possibles du g ´en ´erateur.

Ψt ={u= (u0, . . . ,ut−1) = (g(s0), . . . ,g(st−1)), s0∈ S}.

Un crit `ere majeur est queΨt doit recouvrir[0,1]t tr `es uniform ´ement, et ce pour “tout”t.

Par g ´en ´eralisation, nous chercherons ´egalement `a mesurer l’uniformit ´e deΨI ={(ui1, . . . ,uit)|s0∈ S}pour une classe choisie d’ensembles d’indices de formeI={i1,i2,· · · ,it}. La r ´ecurrence lin ´eaire `a la base d’un MRG a comme cons ´equence majeure de produire une structure pour l’ensembleΨt.

Fabian Bastin IFT6561

(3)

Structure de r ´eseau

Soit(x0, . . . ,xk−1)dans{0,1, . . . ,m−1}k, et la base canonique deRk:

{ei, i=1, . . . ,k},

Si(x0, . . . ,xk−1) =e1= (1,0, . . . ,0), la r ´ecurrence du MRG donne

(x1, . . . ,xk) = (0, . . . ,ak),

(x2, . . . ,xk,xk+1) = (0, . . . ,ak,a1ak modm), (x3, . . . ,xk+2) = (0, . . . ,(a21+a2)ak modm), . . . Si(x0, . . . ,xk−1) =e2= (0,1, . . . ,0), alors

(x1, . . . ,xk) = (1,0, . . . ,ak−1),

(x2, . . . ,xk,xk+1) = (0, . . . ,ak−1,(a1ak−1+ak) modm),

(x3, . . . ,xk+2) = (0, . . . , (a21ak−1+a1ak+a2ak−1) modm), . . .

Fabian Bastin IFT6561

(4)

Structure de r ´eseau

Nous pouvons continuer de la sorte jusqu’ `a consid ´erer (x0, . . . ,xk−1) =ek = (0, . . . ,0,1), ce qui produit

(x1, . . . ,xk) = (0, . . . ,1,a1),

(x2, . . . ,xk,xk+1) = (0, . . . ,1,a1,(a21+a2) mod m), . . . . Or tout vecteur(xn, . . . ,xn+t−1)qui ob ´eit `a la r ´ecurrence, pour t≥k, est une combinaison lin ´eaire `a coefficients entiers de ces k vecteurs de base.

Pour le voir, notonsxi,0,xi,1,xi,2, . . .la suite obtenue `a partir du vecteur de baseei. Un ´etat initial(x0, . . . ,xk−1) = (z1, . . . ,zk) peut s’ ´ecrire commez1e1+· · ·+zkek et produit la suite

z1(x1,0,x1,1, . . .) +· · ·+zk(xk,0,xk,1, . . .) modm, et r ´eciproquement.

Fabian Bastin IFT6561

(5)

Structure de r ´eseau

La r ´eduction modulomse fait en soustrayant des vecteursmei. Ainsi, pourt ≥k,(x0,x1, . . . ,xt−1)suit la r ´ecurrence si et seulement s’il s’agit d’une combinaison lin ´eaire `a coefficients entiers de

(1,0, . . . ,0,x1,k, . . . ,x1,t−1) ...

(0,0, . . . ,1,xk,k, . . . ,xk,t−1) (0,0, . . . ,0,m, . . . ,0)

...

(0,0, . . . ,0,0, . . . ,m).

Fabian Bastin IFT6561

(6)

Structure de r ´eseau

En divisant parm, on obtient que(u0, . . . ,ut−1)∈[0,1)t est dansΨt si et seulement si c’est une combinaison lin ´eaire (sur les entiers) de

v1 = (1,0, . . . ,0,x1,k, . . . ,x1,t−1)T/m ... ...

vk = (0,0, . . . ,1,xk,k, . . . ,xk,t−1)T/m vk+1 = (0,0, . . . ,0,1, . . . ,0)T

... ...

vt = (0,0, . . . ,0,0, . . . ,1)T.

Fabian Bastin IFT6561

(7)

Structure de r ´eseau

Si

Lt = (

v =

t

X

i=1

zivi | zi ∈ Z )

est le r ´eseau ayant ces vecteurs pour base, alors Ψt =Lt ∩[0,1)t.

Fabian Bastin IFT6561

(8)

m = 101, a = 12; v

1

= (1, 12)/101, v

2

= (0, 1)

0 1

un 0

1

un+1

. .

. .

.

. .

.

. . .

.

.

. .

.

. .

.

.

. .

. . .

. .

. .

. .

.

.

. .

. . .

. .

. .

.

. .

.

. .

. .

.

. .

.

. .

. .

. .

.

. .

.

.

. .

.

.

. .

. .

.

. .

. . . .

.

.

. .

.

. .

. .

.

. .

. .

. .

. . .

. .

...

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

..

..

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

..

Fabian Bastin IFT6561

(9)

LCG with m = 101 and a = 7

0 1

un 0

1

un+1

. .

. .

.

. .

.

. .

. . .

. .

.

.

.

.

. .

.

. .

. .

. .

.

. .

.

. .

.

. .

. .

.

. .

.

. .

. .

. .

.

.

. .

. .

. . .

. .

. .

. .

.

.

. .

.

. . .

.

. .

. .

. .

.

.

. .

. .

.

. .

. .

.

.

. .

. .

. . .

. .

Fabian Bastin IFT6561

(10)

LCG with m = 101 and a = 51

0 1

un 0

1

un+1

.

.

. .

.

. .

.

. .

.

.

.

. .

. .

. .

.

.

. .

.

. .

.

. .

. . .

. .

.

.

.

. .

. .

. .

. .

.

. . ..

.

. .

.

. .

.

. .

. .

. .

.

. .

. .

. .

.

.

.

. .

. .

.

.

. .

. .

.

.

. .

.

. .

. .

. .

. .

. . .. .

Fabian Bastin IFT6561

(11)

LCG with m = 101 and a = 51

Pourt>k, il y amt vecteurs dont les coordonn ´ees sont des multiples de 1/m, mais seulementmk sont dansΨt (il n’y a que mk ´etats initiaux possible), soit une proportion de 1/mt−k. Cette structure de r ´eseau implique que les points deΨt sont distribu ´es suivant un sch ´ema tr `es r ´egulier.

Par exemple, chaque point deLt a un plus proche voisin `a la m ˆeme distance et dans la m ˆeme direction que n’importe quel autre point, et il y a des familles d’hyperplans parall `eles

´equidistants qui couvrent tous les points.

Fabian Bastin IFT6561

(12)

Structure de r ´eseau

Au regard de cette structure particuli `ere, des mani `eres naturelles de mesurer l’uniformit ´e de ce genre d’ensemble de pointsΨt incluent:

1 la distance d’un point `a son plus proche voisin, qui est aussi la distance de l’origine au point le plus proche, ou de mani `ere ´equivalente le vecteur non-nul le plus court dans Lt;

2 La distance entre les deux hyperplans les plus ´eloign ´es qui couvrent une r ´egion ne contenant aucun point deLt;

3 le nombre minimum d’hyperplan ´equidistants parall `eles qui peuvent couvrir tous les points deΨt.

Fabian Bastin IFT6561

(13)

Distance au plus proche voisin

Pour obtenir la premi `ere mesure, nous devons calculer le plus court vecteur non nul dans un r ´eseau de basev1, . . . ,vt:

Minimiserkvk22=

t

X

i=1 t

X

j=1

zivTi vjzj

sous les contraintes quez1, . . . ,zt soient entiers et non tous nuls.

Il s’agit par cons ´equent d’un probl ´eme d’optimisation

quadratique en nombres entiers, lequel est difficile `a r ´esoudre.

Fabian Bastin IFT6561

(14)

Distance entre les hyperplans

Pour traiter les deux autres mesures propos ´ees, nous avons tout d’abord besoin de d ´efinir le r ´eseau dual, d ´enot ´eLt, comme suit:

Lt ={h∈ Rt :h·v ∈ Z pour toutv ∈Lt}.

Pour chaque vecteurh∈Lt et chaque entierz, l’ensemble {v ∈ Rt :hTv =z}est un hyperplan orthogonal `ah. Quandz parcourt tous les entiers, nous obtenons d `es lors une famille d’hyperplans parall `eles qui couvrent tous les pointsv deLt, car hTv ∈ Z pourv ∈Lt.

La distance entre deux hyperplans est la distance entre l’hyperplan d ´efini avecz =1 et celui d ´efini avecz =0, i.e., `a l’origine, puisque ce dernier contient l’origine.

Fabian Bastin IFT6561

(15)

Distance entre les hyperplans

Il est possible de montrer que cette distance vaut 1/khk2. Si`t est la longueur du plus court vecteurhnon nul dansLt, alors la distance entre les hyperplans pour la famille o `u ils sont le plus

´eloign ´es est 1/`t. Par cons ´equent, nous cherchons `a maximiser`t.

Un petit nombre d’hyperplans parall `eles couvrant tous les points deψt peut ˆetre trouv ´e en calculant le vecteur non-nul le plus court dansLt en utilisant la normeL1au lieu de la norme euclidienne.

Fabian Bastin IFT6561

(16)

Indices lacunaires

Plut ˆot de que consid ´erer des indices cons ´ecutifs, nous pouvons consid ´erer n’importe quel ensemble det index (distincts) I={i1,i2,· · ·,it}. Dans ce cas, nous avons

ΨI = {(ui1, . . . ,uit)|s0= (x0, . . . ,xk−1)∈ Zmk},

= LI∩[0,1)t,

1/`I = distance entre les hyperplans dansLI.

Note:Zm ={0,1,2, . . . ,m−1}.

Fabian Bastin IFT6561

(17)

Mesures d’uniformit ´e

Des bornes sup ´erieures de la forme`t ≤`t(n)pour un r ´eseau g ´en ´eral de densit ´endansRt existent.

Nous pouvons d `es lors standardiser`t par`t/`t(mk)pour avoir une mesure dans[0,1], ce qui permet d’obtenir la figure de m ´erite g ´en ´erale:

MJ =min

I∈J `I/`|I|(mk)

o `uJ est une famille d’ensemblesI={i1,i2,· · ·,it}.

La recherche de g ´en ´erateurs potentiellement int ´eressants passe alors par le calul num ´erique des param `etres qui maximisent cette mesure.

Fabian Bastin IFT6561

(18)

Autres bornes

Sii∈Ilorsqueak−i 6=0 (aveca0=−1), alors

`2I ≤1+a21+· · ·+a2k.

Il faut donc que cette somme soit grande!

Preuve partielle.

Consid ´eronsI={0, . . . ,t−1}et soit h= (−ak, . . . ,−a1,1,0, . . . ,0)T.

Siv = (v0,v1, . . . ,vt−1)T ∈Lt, alorsvk = (a1vk−1+· · ·+akv0) mod 1.

Ainsi,hTv doit ˆetre un entier, i.e.,h∈Lt. Donc`2t ≤ khk22=1+a21+· · ·+a2k. Se g ´en ´eralise au cas de`I.

Fabian Bastin IFT6561

(19)

Exemple: Lagged-Fibonacci

xn= (±xn−r ±xn−k) modm.

PourI={0,k−r,k}, on a 1/`I ≥1/√

3≈.577.

Les vecteurs(un,un+k−r,un+k)sont tous contenus dans deux plans!

Fabian Bastin IFT6561

(20)

Fonction random de la glibc

L’exemple `a ´eviter. . .

Le g ´en ´erateur commence par inialiser un tableau de 34 nombres sur le principe du g ´en ´erateur Standard Minimal:

1 x0=s;xi=16807∗xi−1 mod 231−1 (pouri =1, . . . ,30);

2 xi =xi−31 (pouri=31, . . . ,33) .

Pouri≥34, l’algorithme suit l’algorithme de Lagged-Fibonacci, avecm=231:

xi = (xi−3+xi−31) mod 231.

Enfin, la fonction ignore les 344 premiers nombres et supprime le bit de poids faible:

oi =xi+344>>1.

Fabian Bastin IFT6561

(21)

Fonction random de la glibc: observations

Le g ´en ´erateur r ´esume ce qu’il convient de ne pas faire:

1 le g ´en ´erateur Standard Minimal est d ´epass ´e;

2 les vecteursxi,xi+28,xi+31 sont contenus dans deux plans;

3 la lin ´earit ´e n’est pas compl ´etement supprim ´ee en enlevant le bit de poids faible, vu que pouri≥34,

oi =oi−31+oi−3 mod 231ouoi =oi−31+oi−3+1 mod 231, et on conserve la majeure partie des inconv ´enients li ´es `a m=231.

Fabian Bastin IFT6561

(22)

RANDU (IBM)

xn+1=65539xn mod 231

Fabian Bastin IFT6561

Références

Documents relatifs

Le soir nous pouvons voir parfois dans le ciel Mars. Surligne la bonne réponse : 1°) C'est un(e) étoile / planète / satellite du notre système solaire.. 2° ) Elle se trouve

Le soir nous pouvons voir parfois dans le ciel Mars. Surligne la bonne réponse : 1°) C'est un(e) étoile / planète / satellite du notre système solaire.. 2° ) Elle se trouve

Trois points A, B, C de l’espace forment un plan si, et seulement si, ils ne sont pas alignés.. • Méthode 1 : On vérifie que les vecteurs AB et

Th´ eorie des ensembles TD 5 M2 LMFI - automne 2018 On travaille dans un mod` ele U de ZF ayant un ensemble A non

(1) Montrer qu’il existe une relation fonctionnelle bijective sans param` etres entre les suites finies d’ordinaux et les ordinaux.. (2) Montrer qu’il existe une relation

Tracer les droites où se trouvent tous les points situés à 3 cm de (d).. Hachurer la zone où l’usine peut

Cette construction peut servir à trouver facilement les équations des projections orthogonales de la plus courte distance, lorsqu'on connaît les équations des

Pour exprimer la plus courte distance d'un point à une droite en fonction des coordonnées du point et des coefficients de Téquation de la droite, on commence ordinairement par mener