Générateur de nombres aléatoires

Ajouter au site Métainformation

Autres outils

Générateur de nombres

Générateur de nombres

Les progrès scientifiques et technologiques du XXe siècle doivent beaucoup au développement de la théorie des probabilités et à la création de générateurs de nombres aléatoires.

Les nombres aléatoires sont des nombres qui peuvent être interprétés comme les résultats de la mise en œuvre d'une variable aléatoire - le concept de base de la théorie des probabilités. Le concept de hasard dans ce contexte implique l'imprévisibilité de la valeur d'une quantité donnée avant le début de l'expérience.

Historique des nombres aléatoires

Le besoin de l'humanité d'utiliser des nombres aléatoires est apparu bien avant l'invention par des scientifiques d'appareils permettant d'obtenir des tableaux aléatoires. Pendant longtemps, les gens ont utilisé des moyens improvisés pour générer des nombres aléatoires, y compris des objets de nature animée et inanimée.

L'un des exemples les plus frappants des générateurs de nombres aléatoires les plus simples sont les dés familiers, qui sont largement utilisés aujourd'hui. Dans les expériences élémentaires et d'entraînement, les dépendances de la loi de mouvement d'un dé sur son environnement, les conditions initiales et le facteur humain peuvent être complètement négligées, de sorte que le nombre de points sur un dé peut, avec quelques réserves, être considéré comme un hasard. variable. Les dés ont joué un rôle important dans le développement de la théorie des probabilités : en 1890, le chercheur anglais Francis Galton a proposé une méthode pour générer des nombres aléatoires à l'aide de dés.

Un peu plus compliqué dans l'appareil se trouve un autre générateur de nombres largement utilisé dans la vie quotidienne - le tambour de loterie. Cet appareil est un tambour avec des boules numérotées qui sont mélangées à l'intérieur pendant la rotation. Le principal domaine d'application des tambours de loterie est les loteries et le loto. Il est facile de deviner que le lototron ne convient pas à une utilisation dans des expériences scientifiques sérieuses en raison du faible degré d'aléatoire et de la vitesse de fonctionnement.

Le premier générateur de nombres aléatoires permettant d'obtenir de grandes quantités de données et adapté à la résolution de problèmes appliqués a été inventé en 1939. Maurice George Kendall et Bernard Babington-Smith ont créé un appareil capable de générer une table contenant 100 000 nombres aléatoires. Et à peine 16 ans plus tard, la société stratégique américaine RAND a amélioré 10 fois les résultats des académiciens anglais - à l'aide de machines spéciales, une table d'un million de nombres aléatoires a été créée. La méthode tabulaire pour générer des nombres aléatoires a connu un développement important grâce à George Marsaglia, qui a reçu 650 Mo de nombres aléatoires en 1996. Cependant, en raison de l'étroitesse du champ d'application, cette méthode n'est actuellement pas largement acceptée.

Les machines qui génèrent des nombres aléatoires en temps réel présentent un certain nombre d'avantages par rapport aux appareils qui créent des tables de nombres aléatoires. L'une des premières machines de ce type était l' ordinateur Ferranti Mark 1 , qui en 1951 comprenait un programme qui générait des nombres aléatoires basés sur le flux de bruit d'entrée d'une résistance. Fait intéressant, l'idée de créer un tel programme était le grand mathématicien anglais Alan Turing. Autre innovation dans le domaine de la génération de nombres aléatoires, l'invention en 1957 de l'ERNIE (Electronic Random Number Indicator Equipment), initialement destiné à générer des numéros gagnants à la loterie britannique.

Nombres pseudo-aléatoires

L'invention des générateurs de nombres aléatoires a sans aucun doute grandement accéléré le processus scientifique et technologique. Cependant, ces dispositifs présentaient un inconvénient extrêmement important, qui limitait considérablement la possibilité de leur application. Déjà au milieu du XXe siècle, le mathématicien américano-hongrois John von Neumann constatait l'inadéquation des générateurs de nombres aléatoires physiques en informatique, en raison de l'impossibilité de répéter une expérience aléatoire et, par conséquent, de l'impossibilité de reproduire un nombre aléatoire pour tester le fonctionnement d'une machine. C'est ainsi que la communauté scientifique avait besoin de nombres pseudo-aléatoires - des nombres qui ont un certain nombre de propriétés importantes des nombres aléatoires, mais obtenus non pas à la suite d'une expérience aléatoire, mais sur la base d'un algorithme. John von Neumann lui-même est devenu l'auteur de la méthode "milieu du carré", qui permet d'obtenir des nombres pseudo-aléatoires à dix chiffres en sortie.

Le principal inconvénient des nombres pseudo-aléatoires est, bien sûr, le manque de données aléatoires, ce qui est si important dans de nombreux domaines de la science et de la vie. De plus, tous les générateurs de nombres pseudo-aléatoires ont la propriété de boucler, c'est-à-dire qu'à partir d'un certain moment pour répéter la séquence de nombres de sortie, de nombreux algorithmes sont réversibles, et certains ont même une distribution unidimensionnelle inégale. Par conséquent, à l'heure actuelle, ce domaine attire de nombreux chercheurs qui cherchent à développer des générateurs de nombres pseudo-aléatoires existants ou à en créer de nouveaux efficaces.

Faits intéressants

  • Selon certains historiens, les premières tentatives de génération de nombres aléatoires remontent à 3500 av. Curieusement, ils sont liés à l'ancien jeu de société égyptien "Senet", qui consiste à déplacer des jetons sur le plateau.
  • Pendant longtemps, les résultats des recensements de la population et d'autres tableaux de données obtenus expérimentalement ont servi de sources de nombres aléatoires pour certains problèmes pratiques réels.
  • Une vulnérabilité dans les algorithmes de génération de nombres pseudo-aléatoires a été exploitée au début des années 2010 par l'ancien directeur de la sécurité de la Multi-State Lottery Association. L'intrus avait accès à un logiciel utilisé pour déterminer les numéros gagnants des billets de loterie, avec lequel il pouvait déterminer les combinaisons gagnantes plusieurs jours par an. Il a été inculpé en 2015 après avoir gagné 16,5 millions de dollars.
  • Un générateur de nombres pseudo-aléatoires installé sur l'ordinateur de bord d'un vaisseau spatial Apollo a causé un dysfonctionnement de son mouvement et l'a sérieusement dévié de sa trajectoire prévue. Comme les scientifiques l'ont découvert, les données de sortie du générateur utilisées pour calculer les vitesses angulaires sont tombées dans le demi-plan inférieur dans 80% des cas, ce qui ne répondait absolument pas aux critères requis pour le caractère aléatoire des résultats du générateur.

Le problème de la génération de nombres aléatoires est actuellement l'un des plus pertinents et prometteurs de la communauté scientifique. En même temps, ce sujet est surtout intéressant pour les personnes éloignées du monde de la science. Familiarisez-vous avec les algorithmes de génération de nombres pseudo-aléatoires les plus connus et leurs domaines d'utilisation.

Générateur de nombres aléatoires

Générateur de nombres aléatoires

Chaque jour, des millions de personnes utilisent des services de génération de nombres aléatoires en ligne, mais peu de gens réfléchissent à ce qui se cache derrière ce processus. Comment fonctionnent les générateurs de nombres aléatoires et ces nombres sont-ils aléatoires ?

Comment sont obtenus les nombres aléatoires

Les exemples les plus connus d'expériences avec des résultats aléatoires pouvant être interprétés comme des nombres aléatoires sont le lancer familier d'une pièce de monnaie ou de dés, le mélange de cartes ou le tirage d'une carte dans un jeu mélangé. Les gens utilisent ces techniques dans la vie quotidienne depuis des siècles, mais évidemment, ces méthodes ne conviennent pas pour générer de grands tableaux.

Les premières tentatives de systématisation du processus de génération de nombres aléatoires ont conduit à la création d'algorithmes pour remplir les tables avec des nombres aléatoires. Cependant, le champ d'application de ces tables est plutôt étroit, de sorte que les tables de nombres aléatoires ont rapidement été supplantées par des machines qui génèrent des nombres aléatoires en temps réel et sont largement utilisées aujourd'hui.

Générateurs de nombres aléatoires et pseudo-aléatoires

Peu de gens le savent, mais la plupart des appareils modernes génèrent en fait des nombres pseudo-aléatoires. C'est le nom de séquences de nombres dont les propriétés sont à bien des égards similaires aux séquences aléatoires, mais le mécanisme de leur construction est sensiblement différent. Les véritables générateurs de nombres aléatoires utilisent les résultats de minuscules processus physiques aléatoires dans leur travail, tels que le bruit thermique et de tir, l'effet photoélectrique ou certains phénomènes quantiques. La séquence de sortie d'un tel générateur ne peut pas être prédite, ce qui est le principal avantage des générateurs de nombres aléatoires par rapport aux générateurs pseudo-aléatoires. Cette propriété des nombres aléatoires est particulièrement importante dans les domaines où la confidentialité et la sécurité des données sont requises, comme la cryptographie.

Contrairement aux vrais nombres aléatoires, les séquences de nombres pseudo-aléatoires sont générées sur la base d'un algorithme, elles sont donc prévisibles et fixes. Les résultats du générateur de nombres pseudo-aléatoires peuvent être améliorés en introduisant certains paramètres dans le système qui compliquent les dépendances entre les nombres, cependant, tous les générateurs de nombres pseudo-aléatoires existants bouclent tôt ou tard et, par conséquent, ne sont pas capables de produire vraiment nombres aléatoires.

Certes, en raison de la grande complexité de l'appareil et du coût des générateurs de nombres aléatoires, une grande attention est actuellement accordée par les scientifiques à la recherche et à l'optimisation des algorithmes les plus efficaces pour générer des nombres pseudo-aléatoires. Même des "générateurs de nombres pseudo-aléatoires cryptographiquement forts" (CSPRNGS) ont été inventés, qui sont utilisés dans les domaines du cryptage et de la garantie de l'intégrité des informations transmises.

Où des nombres aléatoires et pseudo-aléatoires sont utilisés

Les générateurs de nombres aléatoires font partie intégrante de la plupart des logiciels de système d'exploitation. De plus, ils sont indispensables pour les tests statistiques et les simulations numériques. Les générateurs de nombres aléatoires sont également utilisés dans la création de jeux informatiques complexes et peuvent considérablement étendre les capacités de l'intelligence artificielle, l'une des technologies les plus prometteuses de cette décennie. Bien entendu, les nombres aléatoires sont largement utilisés dans les loteries, les concours et les tirages au sort.

Générer des nombres aléatoires est un processus long et mystérieux à bien des égards, mais c'est pourquoi c'est encore plus intéressant. Plongez plus profondément dans ce sujet et assurez-vous de découvrir quelque chose de nouveau par vous-même.