5.4 whrandom --- Générateur de nombres pseudo-aléatoires

Ce module implémente une classe de générateur de nombres pseudo-aléatoires de Wichmann-Hill qui s'appelle aussi whrandom. Les instances de la classe whrandom sont conformes à l'interface Générateur de Nombres Aléatoires décrite dans la section 5.3.1. Ils offrent aussi la méthode suivante, spécifique à l'algorithme de Wichmann-Hill:

whrandomseed([x, y, z])
Initialise le générateur de nombres aléatoires à partir des entiers x, y et z. La première fois que le module est importé, le nombre aléatoire est initialisé en utilisant des valeurs dérivées de l'heure courante. Si x, y, et z sont soit omis soit à 0, la valeur initiale sera calculée à partir de l'heure système courante. Si un ou deux des paramètres valent 0, mais pas tous les trois, les valeurs à zéro sont remplacées par des 1. Pour cette raison, des valeurs initiales apparemment différentes sont égales, avec les conséquences que cela entraîne sur la série pseudo-aléatoire produite par le générateur.

choice(seq)
Choisit un élément aléatoire à partir de la séquence non vide seq et le retourne.

randint(a, b)
Retourne un entier aléatoire N tel que a<=N<=b.

random()
Retourne le nombre à virgule flottante aléatoire suivant dans l'intervalle [0.0 ... 1.0].

seed(x, y, z)
Initialise le générateur de nombres aléatoires à partir des entiers x, y et z. La première fois que le module est importé, le nombre aléatoire est initialisé en utilisant des valeurs dérivées de l'heure courante.

uniform(a, b)
Retourne un nombre réel aléatoire N tel que a<=N<b.

Quand il est importé, le module whrandom crée aussi une instance de la classe whrandom, et rend les méthodes de cette instance disponibles au niveau du module. Par conséquent, on peut écrire soit N = whrandom.random() soit:

generator = whrandom.whrandom()
N = generator.random()

Notez qu'en utilisant des instances distinctes du générateur on obtient des séquences indépendantes de nombres pseudo-aléatoires.

Voir aussi:

Module random:
Générateurs pour diverses distributions aléatoires et documentation pour l'interface de Générateur de Nombres Aléatoires.
Wichmann, B. A. & Hill, I. D., ``Algorithm AS 183: An efficient and portable pseudo-random number generator'', Applied Statistics 31 (1982) 188-190.