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 es…

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é.
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
- Mersenne Twister - un exemple de bon générateur.
- Générateur de nombres aléatoires ou pseudo-aléatoires
Références
- Donald E. Knuth, The Art of Computer Programming, Volume 2: Seminumerical Algorithms, chapitre 3 : Random Numbers (Addison-Wesley, Boston, 1998).
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.