AccueilđŸ‡«đŸ‡·Chercher

RANDU

RANDU est le nom d'un gĂ©nĂ©rateur congruentiel linĂ©aire introduit dans les annĂ©es 1960, sur des machines IBM System/370 ou d’autres machines 32 bits. Il est trĂšs impopulaire car il possĂšde de nombreux biais auxquels ont dĂ» faire face les personnes qui l'ont utilisĂ©.

Tracé tridimensionnel de 100 000 valeurs générées avec RANDU. Chaque point représente 3 valeurs pseudo-aléatoires consécutives. On voit clairement que les points se situent dans 15 plans bidimensionnels.

DĂ©finition

Il est défini par la relation de récurrence :

avec X0 impair. On engendre des nombres réels pseudo-aléatoires entre 0 et 1 par

Critiques

C'est l'exemple parfait du fait que le potentiel d'un gĂ©nĂ©rateur ne saurait en aucun cas garantir sa qualitĂ©. En effet, bien que son potentiel soit de 31 (le minimum requis pour un bon gĂ©nĂ©rateur est de 5), il donne des rĂ©sultats plus que dĂ©cevants au test spectral pour des dimensions supĂ©rieures Ă  2 et n’aurait donc jamais dĂ» ĂȘtre utilisĂ©. De plus l'absence d'incrĂ©ment fait que sa pĂ©riode est faible (moins de 230).

Les défauts de ce générateur s'expliquent en remarquant que C'est pour cela que ce générateur avait été introduit. En effet, la multiplication par 65539, opération lente sur les machines de l'époque, était remplacée par un algorithme plus rapide utilisant des additions et des décalages de bits (shift), puisque .

Malheureusement, un tel choix de multiplicateur, , est un désastre pour les propriétés statistiques. En effet,

On en déduit que trois nombres successifs Xn, Xn+1 et Xn+2 vérifient toujours la relation

Il en est de mĂȘme pour les rĂ©els rn qui vĂ©rifient

Cette relation donne des corrélations macroscopiques : par exemple, une modification des valeurs de rn et rn+1 de l'ordre de 0,01, change la valeur de rn+2 d'au plus 0,15. Pour avoir un « bon » générateur, on souhaite une relation avec des coefficients beaucoup plus grands que 6 et 9, de telle maniÚre qu'une petite modification de rn ou rn+1 change complÚtement la valeur de rn+2, pour donner l'illusion d'un tirage vraiment aléatoire.

Ce générateur est parfois étudié dans les cours, pour ses vertus pédagogiques.

« ...its very name RANDU is enough to bring dismay into the eyes and stomachs of many computer scientists! » — Donald E. Knuth

Voir aussi

Références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.