Que signifie un nombre pseudo-aléatoire ?

王林
Libérer: 2022-04-07 18:37:34
original
8855 Les gens l'ont consulté

Les nombres pseudo-aléatoires sont des séquences de nombres aléatoires calculées à partir de la distribution uniforme "[0,1]" à l'aide d'un algorithme déterministe. Les nombres pseudo-aléatoires ne sont pas des nombres véritablement aléatoires, mais possèdent des caractéristiques statistiques similaires aux nombres aléatoires, telles que l'uniformité, l'indépendance, etc. Les méthodes de génération de nombres pseudo-aléatoires comprennent : 1. La méthode directe, qui est générée sur la base de la signification physique de la fonction de distribution ; 2. La méthode d'inversion ; 3. La méthode d'acceptation-rejet ;

Que signifie un nombre pseudo-aléatoire ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

Nombre pseudo-aléatoire

Un nombre pseudo-aléatoire est une séquence de nombres aléatoires calculée à partir de la distribution uniforme de [0,1] à l'aide d'un L'algorithme déterministe n'est pas vraiment aléatoire, mais possède des caractéristiques statistiques similaires aux nombres aléatoires, telles que l'uniformité, l'indépendance, etc.

Lors du calcul de nombres pseudo-aléatoires, si la valeur initiale (graine) utilisée reste inchangée, alors la séquence des nombres pseudo-aléatoires restera également inchangée. Les nombres pseudo-aléatoires peuvent être générés en grande quantité par les ordinateurs. Afin d'améliorer l'efficacité de la simulation dans la recherche en simulation, des nombres pseudo-aléatoires sont généralement utilisés à la place de nombres aléatoires réels. Les nombres pseudo-aléatoires avec des périodes de cycle extrêmement longues qui peuvent passer le test des nombres aléatoires pour garantir le caractère aléatoire des résultats de calcul sont généralement utilisés dans les simulations.

Méthode de génération :

Généralement, il existe trois méthodes principales pour générer des nombres pseudo-aléatoires :

(1) Méthode directe, basée sur la fonction de distribution Génération de signification physique. L'inconvénient est qu'il n'est applicable qu'à certains nombres aléatoires avec des distributions spéciales, telles que la distribution binomiale et la distribution de Poisson.

(2) Méthode d'inversion, en supposant que U obéit à la distribution uniforme dans l'intervalle [0, 1], soit X=F-1 (U), alors la fonction de distribution cumulative (CDF) de X est F . Cette méthode a un principe simple, une programmation pratique et une large applicabilité.

(3) Méthode d'acceptation-rejet : supposons que la fonction de densité de probabilité (PDF) du nombre aléatoire que vous souhaitez générer est f, puis trouvez d'abord un générateur de nombres aléatoires avec une PDF de g et une constante c , faisant f(x)≤cg(x), puis résolvez-le selon l'algorithme d'acceptation-rejet. Puisque l’algorithme opère c fois en moyenne pour obtenir un nombre aléatoire que l’on souhaite générer, la valeur de c doit être la plus petite possible. Évidemment, l’inconvénient de cet algorithme est qu’il est difficile de déterminer g et c.

Par conséquent, les générateurs de nombres pseudo-aléatoires (PRNG) utilisent généralement la méthode d'inversion, qui est basée sur une distribution uniforme. La qualité du PRNG uniformément distribué détermine la qualité de l'ensemble du système de nombres aléatoires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!