• 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

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

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

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

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