Régénérateur aléatoire. Générateur de nombres aléatoires Excel dans les fonctions et l'analyse des données

Un générateur de numéros en ligne est un outil pratique qui vous permet d'obtenir quantité requise nombres d’une profondeur de bits donnée et de la plage la plus large. Notre générateur de nombres aléatoires a de nombreuses utilisations ! Par exemple, vous pouvez organiser un concours sur VKontakte et y jouer pour un ours en peluche dans un groupe de motards pour une riposte :)) Nous serons également très flattés si, avec l'aide de celui-ci, vous décidez de déterminer le numéro gagnant dans n'importe quelle loterie ou décider sur quel numéro parier dans un casino. Nous espérons vraiment que quelqu'un trouvera le sien nombre chanceux en ligne avec nous !

Plage de nombres aléatoires :

Quantité:

Éliminer la répétition ?

Générer des nombres

S'il vous plaît, aidez-nous à développer : Parlez du générateur à vos amis !

Aléatoire | nombre aléatoire en ligne en 1 clic

Les nombres nous entourent dès la naissance et jouent un rôle important dans la vie. Pour beaucoup de gens, le travail lui-même est lié aux chiffres ; certains comptent sur la chance, en remplissant les chiffres ; tickets de loterie, et quelqu'un leur donne une signification complètement mystique. D'une manière ou d'une autre, nous ne pouvons parfois pas nous passer d'un programme tel que générateur de nombres aléatoires.

Par exemple, vous devez organiser un tirage au sort parmi les abonnés de votre groupe. Notre générateur de nombres aléatoires en ligne vous aidera à sélectionner rapidement et honnêtement les gagnants. Il vous suffit par exemple de définir le nombre requis de nombres aléatoires (en fonction du nombre de gagnants) et la portée maximale (en fonction du nombre de participants, si des numéros leur sont attribués). La fraude dans ce cas est totalement exclue.

Ce programme peut également servir de générateur de nombres aléatoires pour le loto. Par exemple, vous avez acheté un billet et souhaitez vous fier entièrement au hasard et à la chance pour choisir les numéros. Ensuite, notre randomiseur de numéros vous aidera à remplir votre billet de loterie.

Comment générer un nombre aléatoire : instructions

Programme de nombres aléatoires Cela fonctionne très simplement. Vous n'avez même pas besoin de le télécharger sur votre ordinateur - tout se fait dans la fenêtre du navigateur où cette page est ouverte. Les nombres aléatoires sont générés en fonction du nombre de nombres spécifié et de leur plage - de 0 à 999999999. Pour générer un numéro en ligne, vous devez :

  1. Sélectionnez la plage dans laquelle vous souhaitez le résultat. Peut-être souhaitez-vous supprimer les nombres jusqu'à 10 ou, disons, 10 000 ;
  2. Éliminez les répétitions - en sélectionnant cet élément, vous forcerez randomiseur de nombres vous proposer uniquement des combinaisons uniques dans une certaine plage ;
  3. Sélectionnez le nombre de chiffres – de 1 à 99999 ;
  4. Cliquez sur le bouton « Générer des numéros ».

Quel que soit le nombre de nombres que vous souhaitez obtenir, le générateur nombres premiers affichera l'intégralité du résultat à la fois et vous pourrez le voir sur cette page en faisant défiler le champ avec les chiffres à l'aide de la souris ou du pavé tactile.

Vous pouvez désormais utiliser les numéros prêts à l'emploi selon vos besoins. Depuis le champ du numéro, vous pouvez copier le résultat pour le publier dans un groupe ou l'envoyer par mail. Et pour que le résultat ne soulève aucun doute, faites une capture d'écran de cette page, sur laquelle les paramètres du randomiseur de nombres et les résultats du programme seront clairement visibles. Il est impossible de modifier les numéros sur le terrain, la possibilité de manipulation est donc exclue. Nous espérons que notre site Web et notre générateur de nombres aléatoires vous ont aidé.

Etc., et est utilisé par les propriétaires de comptes pour attirer de nouveaux publics dans la communauté.

Le résultat de ces tirages dépend souvent de la chance de l'utilisateur, puisque le destinataire du prix est déterminé au hasard.

Pour prendre cette décision, les organisateurs de loterie utilisent presque toujours un générateur de nombres aléatoires en ligne ou préinstallé qui est distribué gratuitement.

Choix

Très souvent, le choix d'un tel générateur peut être difficile, car leurs fonctionnalités sont très différentes - pour certains, elles sont considérablement limitées, pour d'autres, elles sont assez larges.

Un assez grand nombre de ces services sont mis en œuvre, mais la difficulté réside dans leur portée différente.

Beaucoup, par exemple, sont liés dans leur fonctionnalité à un certain réseau social(par exemple, de nombreuses applications génératrices ne fonctionnent qu'avec des liens de celui-ci).

Les générateurs les plus simples déterminent simplement au hasard un nombre dans une plage donnée.

C'est pratique car le résultat n'est pas associé à une publication spécifique, ce qui signifie qu'il peut être utilisé pour des tirages au sort en dehors du réseau social et dans diverses autres situations.

Ils n’ont essentiellement aucune autre utilité.

Conseil! En choisissant le plus générateur approprié il est important de considérer à quelles fins il sera utilisé.

Caractéristiques

Pour le processus le plus rapide de choix du service en ligne optimal pour générer des nombres aléatoires, le tableau ci-dessous présente les principales caractéristiques techniques et fonctionnalités de ces applications.

Tableau 1. Caractéristiques du fonctionnement des applications en ligne pour générer un nombre aléatoire
Nom Réseau social Résultats multiples Sélectionnez parmi une liste de numéros Widget en ligne pour le site Sélectionnez parmi une gamme Désactiver les répétitions
RandStuff Oui Oui Non Oui Non
Tirer au sort Site officiel ou VKontakte Non Non Oui Oui Oui
Nombre aléatoire Site officiel Non Non Non Oui Oui
Randomus Site officiel Oui Non Non Oui Non
Nombres aléatoires Site officiel Oui Non Non Non Non

Toutes les applications abordées dans le tableau sont décrites plus en détail ci-dessous.

RandStuff

Vous pouvez utiliser cette application en ligne en suivant le lien vers son site officiel http://randstuff.ru/number/.

Il s'agit d'un simple générateur de nombres aléatoires, caractérisé par un fonctionnement rapide et stable.

Il est implémenté avec succès à la fois sous la forme d'une application autonome distincte sur le site officiel et sous la forme d'une application au format .

La particularité de ce service est qu'il peut sélectionner un nombre aléatoire à la fois dans une plage spécifiée et dans une liste spécifique de numéros pouvant être précisée sur le site.

  • Travail stable et rapide ;
  • Absence de connexion directe à un réseau social ;
  • Vous pouvez sélectionner un ou plusieurs numéros ;
  • Vous ne pouvez choisir que parmi les numéros spécifiés.

Les avis des utilisateurs de cette application sont les suivants : « Nous déterminons les gagnants dans les groupes VKontakte grâce à ce service. Merci », « Vous êtes le meilleur », « Je n'utilise que ce service. »

Tirer au sort

Cette application est un simple générateur de fonctions, implémenté sur le site officiel sous la forme d'une application VKontakte.

Il existe également un widget générateur à insérer dans votre site Web.

La principale différence par rapport à l'application précédente décrite est qu'elle permet de désactiver la répétition du résultat.


Notez qu’idéalement, la courbe de densité de distribution de nombres aléatoires ressemblerait à celle illustrée à la Fig. 22.3. Autrement dit, idéalement, chaque intervalle contient le même nombre de points : N je = N/k , Où N — nombre total points, k nombre d'intervalles, je= 1, , k .

Riz. 22.3. Diagramme de fréquence de nombres aléatoires,
généré théoriquement par un générateur idéal

Il ne faut pas oublier que la génération d'un nombre aléatoire arbitraire comprend deux étapes :

  • générer un nombre aléatoire normalisé (c'est-à-dire uniformément distribué de 0 à 1) ;
  • conversion de nombres aléatoires normalisée r je aux nombres aléatoires X je, qui sont distribués selon la loi de distribution (arbitraire) requise par l'utilisateur ou dans l'intervalle requis.

Les générateurs de nombres aléatoires selon la méthode d'obtention des nombres sont divisés en :

  • physique;
  • tabulaire;
  • algorithmique.

RNG physique

Un exemple de RNG physique peut être : une pièce de monnaie ("face" 1, "face" 0) ; dé; un tambour avec une flèche divisée en secteurs avec des chiffres ; générateur de bruit matériel (HS), qui utilise un dispositif thermique bruyant, par exemple un transistor (Fig. 22.422.5).

Riz. 22.4. Schéma d'une méthode matérielle pour générer des nombres aléatoires
Riz. 22.5. Schéma d'obtention de nombres aléatoires à l'aide de la méthode matérielle
Tâche « Générer des nombres aléatoires à l'aide d'une pièce de monnaie »

Générez un nombre aléatoire à trois chiffres, uniformément réparti entre 0 et 1, à l'aide d'une pièce de monnaie. Précision à trois décimales.

La première façon de résoudre le problème
Lancez une pièce 9 fois, et si la pièce tombe sur face, écrivez « 0 » ; si elle tombe sur face, écrivez « 1 ». Supposons donc qu’à la suite de l’expérience, nous ayons reçu la séquence aléatoire 100110100.

Dessinez un intervalle de 0 à 1. En lisant les nombres dans l'ordre de gauche à droite, divisez l'intervalle en deux et choisissez à chaque fois une des parties de l'intervalle suivant (si un 0 est déroulé, alors celle de gauche, si un 1 est déployé, puis celui de droite). Ainsi, vous pouvez accéder à n’importe quel point de l’intervalle, aussi précisément que vous le souhaitez.

Donc, 1 : l'intervalle est divisé en deux et , la moitié droite est sélectionnée, l'intervalle est rétréci : . Numéro suivant 0 : l'intervalle est divisé en deux et , la moitié gauche est sélectionnée, l'intervalle est rétréci : . Numéro suivant 0 : l'intervalle est divisé en deux et , la moitié gauche est sélectionnée, l'intervalle est rétréci : . Numéro suivant 1 : l'intervalle est divisé en deux et , la moitié droite est sélectionnée, l'intervalle est rétréci : .

Selon la condition de précision du problème, une solution a été trouvée : il s'agit de n'importe quel nombre de l'intervalle, par exemple 0,625.

En principe, si nous adoptons une approche stricte, alors la division des intervalles doit être poursuivie jusqu'à ce que les limites gauche et droite de l'intervalle trouvé COINCIDE avec une précision à la troisième décimale. Autrement dit, du point de vue de la précision, le nombre généré ne se distinguera plus d'aucun nombre de l'intervalle dans lequel il se trouve.

La deuxième façon de résoudre le problème
Divisons la séquence binaire résultante 100110100 en triades : 100, 110, 100. Après avoir converti ces nombres binaires en nombres décimaux, nous obtenons : 4, 6, 4. En remplaçant « 0 » devant, nous obtenons : 0,464. Cette méthode ne peut produire que des nombres compris entre 0,000 et 0,777 (puisque le maximum pouvant être « extrait » de trois chiffres binaires est 111 2 = 7 8), c'est-à-dire qu'en fait, ces nombres sont représentés dans le système numérique octal. Pour traduire octal nombres dans décimal exécutons la représentation :
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Ainsi, le nombre requis est : 0,602.

RNG tabulaire

Les RNG tabulaires utilisent des tableaux spécialement compilés contenant des nombres vérifiés non corrélés, c'est-à-dire ne dépendant en aucun cas les uns des autres, comme source de nombres aléatoires. Dans le tableau La figure 22.1 montre un petit fragment d'un tel tableau. En parcourant le tableau de gauche à droite de haut en bas, vous pouvez obtenir des nombres aléatoires répartis uniformément de 0 à 1 avec le nombre de décimales requis (dans notre exemple, nous utilisons trois décimales pour chaque nombre). Puisque les nombres du tableau ne dépendent pas les uns des autres, le tableau peut être parcouru différentes façons, par exemple, de haut en bas ou de droite à gauche, ou, disons, vous pouvez sélectionner des nombres qui se trouvent dans des positions paires.

Tableau 22.1.
Nombres aléatoires. Uniformément
nombres aléatoires distribués de 0 à 1
Nombres aléatoires Distribué équitablement
0 à 1 nombres aléatoires
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

L’avantage de cette méthode est qu’elle produit des nombres véritablement aléatoires, puisque le tableau contient des nombres vérifiés non corrélés. Inconvénients de la méthode : pour le stockage grande quantité les nombres nécessitent beaucoup de mémoire ; Il existe de grandes difficultés pour générer et vérifier ce type de tableaux, les répétitions lorsque l'utilisation d'un tableau ne garantit plus le caractère aléatoire ; séquence de nombres, et donc la fiabilité du résultat.

Il existe un tableau contenant 500 nombres vérifiés absolument aléatoires (tirés du livre de I. G. Venetsky, V. I. Venetskaya « Concepts et formules mathématiques et statistiques de base dans l'analyse économique »).

RNG algorithmique

Les nombres générés par ces RNG sont toujours pseudo-aléatoires (ou quasi-aléatoires), c'est-à-dire que chaque nombre suivant généré dépend du précédent :

r je + 1 = F(r je) .

Les séquences constituées de tels nombres forment des boucles, c'est-à-dire qu'il existe nécessairement un cycle qui se répète un nombre infini de fois. Les cycles répétitifs sont appelés périodes.

L’avantage de ces RNG est leur rapidité ; les générateurs ne nécessitent pratiquement aucune ressource mémoire et sont compacts. Inconvénients : les nombres ne peuvent pas être entièrement qualifiés de aléatoires, puisqu'il existe une dépendance entre eux, ainsi que la présence de points dans la séquence de nombres quasi-aléatoires.

Considérons plusieurs méthodes algorithmiques pour obtenir du RNG :

  • méthode des carrés médians ;
  • méthode de produits intermédiaires;
  • méthode d'agitation;
  • méthode linéaire congruente.

Méthode du carré médian

Il y a un numéro à quatre chiffres R. 0 . Ce nombre est mis au carré et entré dans R. 1 . Suivant à partir de R. 1 est le nouveau nombre aléatoire du milieu (quatre chiffres du milieu) et écrit dans R. 0 . Ensuite, la procédure est répétée (voir Fig. 22.6). Notez qu'en fait, comme nombre aléatoire, vous ne devez pas prendre ghij, UN 0.ghij avec un zéro et un point décimal écrit à gauche. Ce fait se reflète comme sur la Fig. 22.6, et dans les figures similaires ultérieures.

Riz. 22.6. Schéma de la méthode des carrés moyens

Inconvénients de la méthode : 1) si à une certaine itération le nombre R. 0 devient égal à zéro, puis le générateur dégénère, le choix correct de la valeur initiale est donc important R. 0 ; 2) le générateur répétera la séquence jusqu'à M nétapes (en le meilleur cas de scenario), Où n chiffre du nombre R. 0 , M base du système numérique.

Par exemple sur la Fig. 22.6 : si le numéro R. 0 sera représenté dans le système de nombres binaires, puis la séquence de nombres pseudo-aléatoires sera répétée en 2 4 = 16 étapes. A noter que la répétition de la séquence peut intervenir plus tôt si le numéro de départ est mal choisi.

La méthode décrite ci-dessus a été proposée par John von Neumann et remonte à 1946. Cette méthode s’étant révélée peu fiable, elle fut rapidement abandonnée.

Méthode intermédiaire

Nombre R. 0 multiplié par R. 1, à partir du résultat obtenu R. 2 le milieu est extrait R. 2 * (c'est un autre nombre aléatoire) et multiplié par R. 1 . Tous les nombres aléatoires suivants sont calculés à l'aide de ce schéma (voir Fig. 22.7).

Riz. 22.7. Schéma de la méthode des produits médians

Méthode d'agitation

La méthode shuffle utilise des opérations pour déplacer cycliquement le contenu d’une cellule vers la gauche et la droite. L'idée de la méthode est la suivante. Laissez la cellule stocker le numéro initial R. 0 . En décalant cycliquement le contenu de la cellule vers la gauche d'un quart de la longueur de la cellule, nous obtenons un nouveau nombre R. 0*. De la même manière, parcourir le contenu de la cellule R. 0 vers la droite d'1/4 de la longueur de la cellule, on obtient le deuxième nombre R. 0**. Somme des nombres R. 0* et R. 0** donne un nouveau nombre aléatoire R. 1 . Plus loin R. 1 est inscrit dans R. 0, et toute la séquence d'opérations est répétée (voir Fig. 22.8).


Riz. 22.8. Schéma de la méthode de mélange

Veuillez noter que le nombre résultant de la sommation R. 0* et R. 0 ** , peut ne pas tenir complètement dans la cellule R. 1 . Dans ce cas, les chiffres supplémentaires doivent être supprimés du numéro obtenu. Expliquons cela dans la Fig. 22.8, où toutes les cellules sont représentées par huit chiffres binaires. Laisser R. 0 * = 10010001 2 = 145 10 , R. 0 ** = 10100001 2 = 161 10 , Alors R. 0 * + R. 0 ** = 100110010 2 = 306 10 . Comme vous pouvez le constater, le nombre 306 occupe 9 chiffres (dans le système de numérotation binaire), et la cellule R. 1 (identique à R. 0) peut contenir au maximum 8 bits. Par conséquent, avant de saisir la valeur dans R. 1, il est nécessaire de supprimer un bit « supplémentaire », le plus à gauche du nombre 306, ce qui donne R. 1 n'ira plus au 306, mais au 00110010 2 = 50 10 . Notez également que dans des langages comme Pascal, le « rognage » des bits supplémentaires lorsqu'une cellule déborde est effectué automatiquement en fonction du type de variable spécifié.

Méthode congruente linéaire

La méthode de congruence linéaire est l’une des procédures les plus simples et les plus couramment utilisées actuellement pour simuler des nombres aléatoires. Cette méthode utilise le mod( X, oui) , qui renvoie le reste lorsque le premier argument est divisé par le second. Chaque nombre aléatoire suivant est calculé sur la base du nombre aléatoire précédent à l'aide de la formule suivante :

r je+ 1 = module( k · r je + b, M) .

La séquence de nombres aléatoires obtenue à l'aide de cette formule est appelée séquence congruente linéaire. De nombreux auteurs appellent une séquence congruente linéaire lorsque b = 0 méthode congruente multiplicative, et quand b ≠ 0 — méthode congruente mixte.

Pour un générateur de qualité, il est nécessaire de sélectionner des coefficients adaptés. Il faut que le numéro Métait assez longue, puisque la période ne peut pas avoir plus Méléments. D'un autre côté, la division utilisée dans cette méthode est une opération plutôt lente, donc pour un ordinateur binaire le choix logique serait M = 2 N, puisque dans ce cas, trouver le reste de la division se réduit à l’intérieur de l’ordinateur à l’opération logique binaire « ET ». Choisir le plus grand nombre premier est également courant M, moins de 2 N: dans la littérature spécialisée, il est prouvé que dans ce cas les chiffres de poids faible du nombre aléatoire résultant r je+ 1 se comportent de manière tout aussi aléatoire que les plus âgés, ce qui a un effet positif sur l'ensemble de la séquence de nombres aléatoires. A titre d'exemple, l'un des Numéros de Mersenne, égal à 2 31 1, et donc, M= 2 31 1 .

L’une des exigences pour les séquences linéaires congruentes est que la durée de la période soit aussi longue que possible. La durée de la période dépend des valeurs M , k Et b. Le théorème que nous présentons ci-dessous nous permet de déterminer s'il est possible d'atteindre une période de longueur maximale pour des valeurs spécifiques M , k Et b .

Théorème. Séquence congruente linéaire définie par des nombres M , k , b Et r 0, a une période de longueur M si et seulement si:

  • Nombres b Et M relativement simple;
  • k 1 fois p pour chaque premier p, qui est un diviseur M ;
  • k 1 est un multiple de 4, si M multiple de 4.

Enfin, concluons avec quelques exemples d'utilisation de la méthode de congruence linéaire pour générer des nombres aléatoires.

Il a été déterminé qu'une série de nombres pseudo-aléatoires générés sur la base des données de l'exemple 1 seraient répétés tous les M/4 numéros. Nombre q est fixé arbitrairement avant le début des calculs, il convient cependant de garder à l'esprit que la série donne l'impression d'être aléatoire dans son ensemble k(et donc q). Le résultat peut être quelque peu amélioré si bétrange et k= 1 + 4 · q dans ce cas, la ligne sera répétée tous les M Nombres. Après une longue recherche k les chercheurs ont opté pour les valeurs de 69069 et 71365.

Un générateur de nombres aléatoires utilisant les données de l'exemple 2 produira des nombres aléatoires et non répétitifs avec une période de 7 millions.

La méthode multiplicative pour générer des nombres pseudo-aléatoires a été proposée par D. H. Lehmer en 1949.

Vérification de la qualité du générateur

La qualité de l'ensemble du système et l'exactitude des résultats dépendent de la qualité du RNG. Par conséquent, la séquence aléatoire générée par le RNG doit satisfaire un certain nombre de critères.

Les contrôles effectués sont de deux types :

  • vérifie l'uniformité de la distribution;
  • tests d’indépendance statistique.

Vérifie l’uniformité de la distribution

1) Le RNG devrait produire près de valeurs suivantes paramètres statistiques caractéristiques d'une loi aléatoire uniforme :

2) Test de fréquence

Un test de fréquence vous permet de savoir combien de nombres se trouvent dans un intervalle (m r – σ r ; m r + σ r) , c'est-à-dire (0,5 0,2887 ; 0,5 + 0,2887) ou, finalement, (0,2113 ; 0,7887). Puisque 0,7887 0,2113 = 0,5774, nous concluons que dans un bon RNG, environ 57,7 % de tous les nombres aléatoires tirés devraient tomber dans cet intervalle (voir Fig. 22.9).

Riz. 22.9. Diagramme de fréquence d'un RNG idéal
en cas de vérification pour le test de fréquence

Il est également nécessaire de prendre en compte que le nombre de nombres tombant dans l'intervalle (0 ; 0,5) doit être approximativement égal au nombre de nombres tombant dans l'intervalle (0,5 ; 1).

3) Test du chi carré

Le test du chi carré (test du χ 2) est l'un des tests statistiques les plus connus ; c'est la principale méthode utilisée en combinaison avec d'autres critères. Le test du Chi carré a été proposé en 1900 par Karl Pearson. Son travail remarquable est considéré comme le fondement de la statistique mathématique moderne.

Dans notre cas, la vérification par le critère du chi carré permettra de savoir à quel point le réel Le RNG est proche du benchmark RNG, c'est-à-dire qu'il satisfasse ou non à l'exigence de distribution uniforme.

Diagramme de fréquence référence Le RNG est présenté sur la Fig. 22.10. Puisque la loi de distribution du RNG de référence est uniforme, alors la probabilité (théorique) p je entrer des chiffres dans jeème intervalle (tous ces intervalles k) est égal à p je = 1/k . Et ainsi, dans chacun de k les intervalles vont frapper lisse Par p je · N Nombres ( N nombre total de numéros générés).

Riz. 22.10. Diagramme de fréquence du RNG de référence

Un vrai RNG produira des nombres répartis (et pas nécessairement uniformément !) k intervalles et chaque intervalle contiendra n je nombres (au total n 1 + n 2 + + n k = N ). Comment pouvons-nous déterminer la qualité du RNG testé et sa proximité avec celui de référence ? Il est tout à fait logique de considérer les carrés des différences entre le nombre de nombres résultant n je et "référence" p je · N . Additionnons-les et le résultat est :

χ 2 exp. = ( n 1 p 1 · N) 2 + (n 2 p 2 · N) 2 + + ( n k – p k · N) 2 .

De cette formule il résulte que plus la différence entre chacun des termes (et donc la moins de valeurχ 2 exp. ), plus la loi de distribution des nombres aléatoires générés par un vrai RNG a tendance à être uniforme.

Dans l’expression précédente, chacun des termes se voit attribuer le même poids (égal à 1), ce qui en fait peut ne pas être vrai ; par conséquent, pour les statistiques du chi carré, il est nécessaire de normaliser chaque jeème terme, en le divisant par p je · N :

Enfin, écrivons l’expression résultante de manière plus compacte et simplifions-la :

Nous avons obtenu la valeur du test du chi carré pour expérimental données.

Dans le tableau 22.2 sont donnés théorique valeurs du chi carré (χ 2 théorique), où ν = N 1 est le nombre de degrés de liberté, p il s'agit d'un niveau de confiance spécifié par l'utilisateur qui indique dans quelle mesure le RNG doit satisfaire aux exigences de distribution uniforme, ou p — est la probabilité que la valeur expérimentale de χ 2 exp..

sera inférieur à la théorie χ 2 tabulée (théorique).
ou égal à celui-ci
Tableau 22.2. Quelques points de pourcentage de la distribution χ 2 p = 1% p = 5% p = 25% p = 50% p = 75%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν p = 95% ν ) · X p p = 99% X 2 p+ sqrt(2 + 2/3 · 2/3 + ν ))
X p = Ô (1/carré( 2.33 0.00 0.674 1.64 2.33

1,64 p 0,674.

Considéré comme acceptable p de 10% à 90% Si χ 2 exp. bien plus que la théorie χ 2. n je(c'est p je · N est grand), alors le générateur

Même D. Knuth dans son livre « The Art of Programming » a noté qu'avoir χ 2 exp.

pour les petits, en général, ce n'est pas bon non plus, même si cela semble, à première vue, merveilleux du point de vue de l'uniformité. En effet, prenons une série de nombres 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, ils sont idéaux du point de vue de l'uniformité, et χ 2 exp. p sera pratiquement nul, mais il est peu probable que vous les reconnaissiez comme aléatoires. Si χ 2 exp. Si χ 2 exp. n je bien inférieur à la théorie χ 2. p je · N (c'est

petit), alors le générateur p l'exigence d'une distribution aléatoire uniforme, puisque les valeurs observées p trop proche du théorique

et ne peut pas être considéré comme aléatoire. p je · N Mais si χ 2 exp.

se situe dans une certaine plage entre deux valeurs de la théorie χ 2. , qui correspondent par exemple,

= 25% et

= 50%, on peut alors supposer que les valeurs de nombres aléatoires générées par le capteur sont complètement aléatoires.

En outre, il convient de garder à l’esprit que toutes les valeurs

doit être suffisamment grand, par exemple supérieur à 5 (découvert empiriquement). Ce n’est qu’à ce moment-là (avec un échantillon statistique suffisamment grand) que les conditions expérimentales peuvent être considérées comme satisfaisantes. p je Ainsi, la procédure de vérification est la suivante. je Tests d'indépendance statistique

1) Vérification de la fréquence d'apparition des nombres dans la séquence

Regardons un exemple. Le nombre aléatoire 0,2463389991 est constitué des chiffres 2463389991, et le nombre 0,5467766618 est constitué des chiffres 5467766618. En reliant les séquences de chiffres, nous avons : 24633899915467766618. n Il est clair que la probabilité théorique perte Il est clair que la probabilité théorique Le ème chiffre (de 0 à 9) est égal à 0,1. Il est clair que la probabilité théorique 2) Vérification de l'apparence des séries de numéros identiques m Notons par m L

nombre de séries de chiffres identiques dans une rangée de longueur n. Tout doit être vérifié n 3 = 2 .

de 1 à Il est clair que la probabilité théorique, Où p Il est clair que la probabilité théorique il s'agit d'un nombre spécifié par l'utilisateur : le nombre maximum de chiffres identiques dans une série. Il est clair que la probabilité théorique Dans l'exemple « 24633899915467766618 » 2 séries de longueur 2 (33 et 77) ont été trouvées, soit p 2 = 2 et 2 séries de longueur 3 (999 et 666), soit p La probabilité d'apparition d'une série de longueur p est égal à:

= 9 10 p Il est clair que la probabilité théorique= 0,9, puisqu'il ne peut y avoir qu'un seul symbole sur 10, et qu'il y a 9 symboles au total (zéro ne compte pas). Et la probabilité que deux symboles « XX » identiques apparaissent dans une rangée est de 0,1 · 0,1 · 9, c'est-à-dire que la probabilité de 0,1 que le symbole « X » apparaisse en première position est multipliée par la probabilité de 0,1 que le symbole « X » apparaisse dans une rangée. le même symbole apparaîtra en deuxième position « X » et multiplié par le nombre de ces combinaisons 9.

La fréquence d'apparition des séries est calculée à l'aide de la formule du chi carré dont nous avons discuté précédemment en utilisant les valeurs p Il est clair que la probabilité théorique .

Remarque : Le générateur peut être testé plusieurs fois, mais les tests ne sont pas complets et ne garantissent pas que le générateur produit des nombres aléatoires. Par exemple, un générateur qui produit la séquence 12345678912345 sera considéré comme idéal lors des tests, ce qui n'est évidemment pas tout à fait vrai.

En conclusion, notons que le troisième chapitre du livre de Donald E. Knuth The Art of Programming (Volume 2) est entièrement consacré à l'étude des nombres aléatoires. Il examine diverses méthodes de génération de nombres aléatoires, de tests statistiques de caractère aléatoire et de conversion de nombres aléatoires uniformément distribués en d'autres types de variables aléatoires. Plus de deux cents pages sont consacrées à la présentation de ce matériel.

Nous avons une suite de nombres constituée d'éléments pratiquement indépendants qui obéissent à une distribution donnée. En règle générale, distribution uniforme.

Vous pouvez générer des nombres aléatoires dans Excel de différentes manières. Considérons seulement les meilleurs d'entre eux.

Fonction de nombre aléatoire dans Excel

  1. La fonction RAND renvoie un nombre réel aléatoire et uniformément distribué. Il sera inférieur à 1, supérieur ou égal à 0.
  2. La fonction RANDBETWEEN renvoie un entier aléatoire.

Regardons leur utilisation avec des exemples.

Échantillonnage de nombres aléatoires à l'aide de RAND

Cette fonction ne nécessite aucun argument (RAND()).

Pour générer un nombre réel aléatoire compris entre 1 et 5, par exemple, utilisez la formule suivante : =RAND()*(5-1)+1.

Le nombre aléatoire renvoyé est réparti uniformément sur l’intervalle.

Chaque fois que la feuille de calcul est calculée ou que la valeur d'une cellule de la feuille de calcul change, un nouveau nombre aléatoire est renvoyé. Si vous souhaitez sauvegarder la population générée, vous pouvez remplacer la formule par sa valeur.

  1. Cliquez sur la cellule avec un nombre aléatoire.
  2. Dans la barre de formule, sélectionnez la formule.
  3. Appuyez sur F9. ET ENTREZ.

Vérifions l'uniformité de la distribution des nombres aléatoires du premier échantillon à l'aide d'un histogramme de distribution.


La plage de valeurs verticales est la fréquence. Horizontal - "poches".



Fonction ALÉATOIRE

La syntaxe de la fonction RANDBETWEEN est (limite inférieure ; limite supérieure). Le premier argument doit être inférieur au second. Sinon, la fonction générera une erreur. Les limites sont supposées être des nombres entiers. La formule supprime la partie fractionnaire.

Exemple d'utilisation de la fonction :

Nombres aléatoires avec précision 0,1 et 0,01 :

Comment créer un générateur de nombres aléatoires dans Excel

Créons un générateur de nombres aléatoires qui génère une valeur dans une certaine plage. Nous utilisons une formule comme : =INDEX(A1:A10,INTEGER(RAND()*10)+1).

Créons un générateur de nombres aléatoires compris entre 0 et 100 par pas de 10.

Vous devez en sélectionner 2 au hasard dans la liste des valeurs de texte. À l'aide de la fonction RAND, nous comparons les valeurs de texte dans la plage A1:A7 avec des nombres aléatoires.

Utilisons la fonction INDEX pour sélectionner deux valeurs de texte aléatoires dans la liste d'origine.

Pour sélectionner une valeur aléatoire dans la liste, utilisez la formule suivante : =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Générateur de nombres aléatoires à distribution normale

Les fonctions RAND et RANDBETWEEN produisent des nombres aléatoires avec une distribution uniforme. Toute valeur ayant la même probabilité peut tomber dans la limite inférieure de la plage demandée et dans la limite supérieure. Cela entraîne un énorme écart par rapport à la valeur cible.

Une distribution normale implique que la plupart des nombres générés sont proches du nombre cible. Ajustons la formule RANDBETWEEN et créons un tableau de données avec une distribution normale.

Le coût du produit X est de 100 roubles. L'ensemble du lot produit suit une distribution normale. Une variable aléatoire suit également une distribution de probabilité normale.

Dans de telles conditions, la valeur moyenne de la gamme est de 100 roubles. Générons un tableau et construisons un graphique avec une distribution normale avec un écart type de 1,5 roubles.

On utilise la fonction : =NORMINV(RAND();100;1.5).

Excel a calculé quelles valeurs se trouvaient dans la plage de probabilité. Étant donné que la probabilité de produire un produit d'un coût de 100 roubles est maximale, la formule affiche des valeurs proches de 100 plus souvent que d'autres.

Passons au tracé du graphique. Vous devez d’abord créer un tableau avec des catégories. Pour ce faire, nous divisons le tableau en périodes :

Sur la base des données obtenues, nous pourrons générer un diagramme avec une distribution normale. L'axe des valeurs est le nombre de variables dans l'intervalle, l'axe des catégories est celui des périodes.

Les numéros nous accompagnent partout - numéros de maison et d'appartement, numéros de téléphone, numéros de voiture, numéros de passeport, cartes plastiques, dates, mots de passe de messagerie. Nous choisissons nous-mêmes certaines combinaisons de nombres, mais la plupart sont obtenues par hasard. Sans nous en rendre compte, nous utilisons chaque jour des nombres générés aléatoirement. Si nous trouvons des codes PIN, alors un crédit unique ou carte de salaire sont générés par des systèmes fiables qui excluent l’accès aux mots de passe. Les générateurs de nombres aléatoires assurent la sécurité dans les domaines qui nécessitent vitesse de traitement, sécurité et indépendance des données.

Le processus de génération de nombres pseudo-aléatoires est soumis à certaines lois et est utilisé depuis longtemps, par exemple dans les loteries. Dans un passé récent, les tirages étaient effectués à l'aide de machines de loterie ou de lots. Maintenant, dans de nombreux pays, des numéros gagnants loteries d'État sont déterminés précisément par l’ensemble des nombres aléatoires générés.

Avantages de la méthode

Ainsi, un générateur de nombres aléatoires est un mécanisme moderne et indépendant permettant de déterminer de manière aléatoire des combinaisons de nombres. Le caractère unique et la perfection de cette méthode réside dans l'impossibilité d'intervention extérieure dans le processus. Le générateur est un ensemble de programmes construits, par exemple, sur des diodes de bruit. L'appareil génère un flux de bruit aléatoire dont les valeurs actuelles sont converties en nombres et forment des combinaisons.

La génération de nombres fournit des résultats instantanés : il faut quelques secondes pour créer une combinaison. Si nous parlons de loteries, les participants peuvent immédiatement savoir si le numéro du billet correspond à celui gagnant. Cela permet d'organiser des dessins aussi souvent que les participants le souhaitent. Mais le principal avantage de la méthode est son imprévisibilité et l'impossibilité de calculer l'algorithme de sélection des nombres.

Comment les nombres pseudo-aléatoires sont générés

En fait, les nombres aléatoires ne sont pas aléatoires : la série part d’un nombre donné et est générée par un algorithme. Un générateur de nombres pseudo-aléatoires (PRNG ou PRNG - générateur de nombres pseudo-aléatoires) est un algorithme qui génère une séquence de nombres apparemment sans rapport, généralement soumis à une distribution uniforme. En informatique, les nombres pseudo-aléatoires sont utilisés dans de nombreuses applications : cryptographie, modélisation par simulation, méthode de Monte Carlo, etc. La qualité du résultat dépend des propriétés du PRNG.

La source de génération peut être un bruit physique allant du rayonnement cosmique au bruit dans une résistance, mais de tels dispositifs ne sont presque jamais utilisés dans les applications de sécurité des réseaux. Les applications cryptographiques utilisent des algorithmes spéciaux qui génèrent des séquences qui ne peuvent pas être statistiquement aléatoires. Cependant, un algorithme correctement choisi peut produire des séries de nombres qui réussissent la plupart des tests de caractère aléatoire. La période de répétition dans de telles séquences est supérieure à l'intervalle de travail à partir duquel les nombres sont extraits.

De nombreux processeurs modernes contiennent un PRNG, tel que RdRand. Comme alternative, des ensembles de nombres aléatoires sont créés et publiés dans un bloc-notes unique (dictionnaire). Dans ce cas, la source des numéros est limitée et n'assure pas une sécurité complète du réseau.

Histoire du PRNG

Un prototype de générateur de nombres aléatoires peut être envisagé jeu de plateau Senet, commun dans L'Egypte ancienne en 3500 avant JC. Selon les conditions, deux joueurs participaient, les mouvements étaient déterminés en lançant quatre bâtons plats noirs et blancs - ils étaient une sorte de PRNG de l'époque. Les bâtons étaient lancés en même temps et les points étaient comptés : si l'un tombait avec le côté blanc, 1 point et un coup supplémentaire, deux blancs - deux points, et ainsi de suite. Résultat maximum Le joueur qui a lancé quatre bâtons avec le côté noir a reçu cinq points.

De nos jours, le générateur ERNIE est utilisé depuis de nombreuses années au Royaume-Uni pour les tirages de loterie. Il existe deux méthodes de génération principales numéros gagnants: congruence linéaire et congruente additive. Ces méthodes, ainsi que d'autres, sont basées sur le principe de la sélection aléatoire et sont fournies par un logiciel qui produit sans fin des nombres dont la séquence est impossible à deviner.

Le PRNG fonctionne en continu, par exemple dans machines à sous. Selon la loi américaine, cela condition requise, à laquelle tous les fournisseurs de logiciels doivent se conformer.