A prouver Pour cela, il faut connaître l'algorithme utilisé et montrer en termes de graphique que l'ensemble de tous les états constitue un cycle, qu'il n'y a pas de sous-cycles et que la cardinalité de l'espace d'état modulo N est nulle, de sorte qu'il n'y a pas d'ensemble d'états qui se produisent plus/moins fréquemment que d'autres. C'est ainsi que nous savons que le Mersenne Twister, par exemple, est uniformément distribué, même si la version 64 bits a une longueur de cycle de 2. 19937 -1 et ne pourront jamais être énumérés au cours de la vie de l'univers.
Sinon, vous utilisez des tests statistiques pour vérifier l'hypothèse d'uniformité. Les statistiques ne peuvent pas prouver un résultat, elles échouent à réfuter l'hypothèse. Plus la taille de votre échantillon est grande, plus l'échec à réfuter une hypothèse est convaincant, mais ce n'est jamais une preuve. (Cette perspective cause plus de problèmes de communication avec les non-statisticiens/non-scientifiques que toute autre chose que je connais). Il existe de nombreux tests d'uniformité, notamment les tests du chi carré, Anderson-Darling et Kolmogorov-Smirnov, pour n'en citer que quelques-uns.
Tous les tests d'uniformité laisseront passer des séquences de valeurs telles que 0,1,2,...,N-1,0,1,... l'uniformité n'est donc pas suffisante pour dire que vous avez un bon générateur. Vous devez également tester la corrélation sérielle à l'aide de tests tels que les tests d'espacement, les runs-up/runs-down, les runs au-dessus/en dessous de la moyenne, les tests d'"anniversaire", etc.
Une suite assez complète de tests d'uniformité et de corrélation sérielle a été créée par George Marsaglia au cours de sa carrière, et publiée en 1995 dans ce qu'il appelait en plaisantant le " test d'uniformité ". Tests de résistance " (car il s'agit d'une batterie de tests lourds).
1 votes
S'il s'agit d'une boîte noire, la réponse doit être une analyse statistique, mais si la source est disponible, vous pouvez analyser l'algorithme pour savoir si le système est efficace. biais résiduel
0 votes
Oui, modifié selon la suggestion
0 votes
La question porte-t-elle spécifiquement sur la distribution ou sur le caractère aléatoire en général ? Le caractère aléatoire et la distribution d'un RNG sont indépendants, et vous devez effectuer des tests différents pour chacun.
0 votes
Je pense que c'est à peu près uniformément réparti
0 votes
Dans ce cas, je pense que la réponse de BlueMoon93 est tout ce dont vous avez besoin.
1 votes
@CapitaineCodeman aussi, xkcd : Nombre aléatoire .
0 votes
Cette question semble être hors sujet car elle porte sur les mathématiques et appartient à la rubrique Mathématiques .
0 votes
Par ailleurs, Eric Lippert a publié un article intéressant sur la génération de données aléatoires et non uniformes. ericlippert.com/2012/02/21/generating-random-non-uniform-data (en anglais)
1 votes
@ColeJohnson Pas d'accord. Apparemment, les enquêteurs ont considéré que c'était quelque chose dont ils voulaient que les candidats démontrent la connaissance. La conception, l'implémentation et la correction des algorithmes nécessitent souvent des mathématiques, mais cela ne signifie pas qu'il s'agit de mathématiques.
0 votes
Il s'agit d'une question utile et significative. Elle est d'une grande importance pour les mathématiques et l'informatique, et donne lieu à une théorie sérieuse (voir ma réponse). Les réponses sont également d'une utilité pratique (comment puis-je tester si mon générateur de nombres pseudo-aléatoires est suffisamment aléatoire ?) et c'est pourquoi la question devrait rester. Malheureusement, elle est probablement trop intéressante pour Stack Overflow, qui préfère que ses questions soient précises (une norme déraisonnable - tout le monde n'a pas le langage pour parler précisément des nombres aléatoires, et de nombreuses théories intéressantes commencent par des questions intuitives - les rendre précises est une partie normale de la réponse).
0 votes
Il est fascinant de constater qu'il est possible de concevoir un générateur de nombres aléatoires qui semble aléatoire pour le public, mais qui, pour quelqu'un qui en connaît le secret, ne l'est pas du tout. Il peut même prédire les valeurs futures. De manière inquiétante, la NSA est soupçonnée d'avoir fait cela à l'algorithme Dual_EC_DRBG publié par le NIST. arstechnica.com/security/2014/01/