Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PRNG "trop perfomant" = Perte d'aléatoire ?

19 views
Skip to first unread message

Wons

unread,
Mar 25, 2013, 5:23:15 AM3/25/13
to
Bonjour à tous,

Une petite question qui me chiffonne, et que j'ai un peu de mal à résoudre, étant donné ce qu'elle implique.

J'ai travaillé récemment sur un PRNG maison, et générant 10 Mo de données à la volée (soit 1024 * 1024 * 10 = 10 485 760 éléments).

Après avoir calculé Monte-Carlo / Pi, effectué les tests d'occurrences, et le coef' de série (histoire de vérifier si les données ne se suivaient pas), j'obtiens un résultat assez étrange : tout est presque parfaitement aléatoire. Presque trop. Le calcul est réalisé par byte, soit un intervalle [0,255].

J'entends par là que pour chaque série de 10 millions générée, la moyenne arithmétique de toutes les occurrences est aux alentours de 127.5001, Monte-Carlo / Pi est de 3.14159XXXX, avec une entropie à 7.9999XX bits par octet...

D'où une question perturbante : un PRNG sortant en permanence des résultats extrêmement proches de l'aléatoire complet est-il toujours un PRNG ?

J'entends par là que si chaque byte est représenté autant de fois que ses pairs, peut-on considérer avoir toujours de l'aléatoire ?

L'aléatoire devrait plutôt sortir des valeurs non concordantes, avec des "pics" sur certains ? Auquel cas ce ne serait plus vraiment un générateur de nombres aléatoires ...

Obtenir ne serait-ce qu'une moyenne arithmétique presque parfaite sur 10 millions de résultats en sortie de PRNG, je trouve que c'est assez perturbant pour se poser la question de l'intégrité de l'aléatoire...

Qu'en pensez-vous ? Des avis ? Des questions ?

Pour info, le résultat d'un dernier test réalisé à l'instant :

Entropy = 7.999982 bits per byte.
Chi square distribution for 10485760 samples is 262.64, and randomly
would exceed this value 35.77 percent of the times.

Arithmetic mean value of data bytes is 127.5062 (127.5 = random).
Monte Carlo value for Pi is 3.141509682 (error 0.00 percent).
Serial correlation coefficient is -0.000065 (totally uncorrelated = 0.0).

Vos avis ? :)
0 new messages