Testons :
1 2 3 4 5 6
| 455
231
231
231
231
... |
C'est plutôt prévisible pour une suite de nombres aléatoires ! Un sujet aussi complexe que le hasard ne peut être résumé par une formule aussi simple. Il existe des contraintes dans le choix des différents paramètres pour éviter ce genre de problème (ce qui, ici, se détecte facilement mais est parfois plus difficilement décelable car visible uniquement pour des valeurs précises de X) :
- b et c ne doivent pas être multiple l'un de l'autre
- a-1 doit être un multiple de n, avec n tous les nombres premiers diviseurs de c
- Si c est multiple de 4, a-1 doit être un multiple de 4
Même si ces conditions sont réunies, il peut subsister des erreurs, ou plutôt des imperfections au niveau du caractère aléatoire des nombres. Par exemple, si c est une puissance de 2, le bit de poids faible des nombres oscillera successivement entre 0 et 1. De même pour le générateur UNIX :
Xn+1 = ( 1103515245 * xn + 12345 ) % 2147483647
Même si ce générateur fonctionne correctement, il faut tout de même faire attention : les octets de poids faibles ne sont pas réellement aléatoires.
Partager