Nombres pseudo-aléatoires

Une séquence pseudo-aléatoire (Pseudo Random Sequence en anglais) est une suite de nombres entiers x0, x1, x2, ... prenant ses valeurs dans l'ensemble M={0, 1, 2, ..., m-1}. Le terme xn (n>0) est le résultat d'un calcul (à définir) sur le ou les termes précédents. Le premier terme x0 est appelé le germe (seed en anglais).

Algorithme général de récurrence

  1. Choisir x0 dans M
  2. Poser xn+1 = f(xn), pour n>0

où f est une application adéquate de M dans M.

Une suite construite comme indiqué dans l'algorithme ci-dessus contient toujours un cycle de nombres se répétant à partir d'un certain endroit. Pour éviter de devoir employer plusieurs fois le même nombre au cours d'une simulation, on cherchera à rendre la longueur de ce cycle, appelée période, aussi grande que possible.

Les opérations à faire pour calculer les termes de la séquence, ainsi les différents paramètres de départ forment ce qu'on appelle un générateur de nombres pseudo-aléatoires.

Remarquons que si on ne change pas le germe, on obtiendra toujours la même séquence. Cela peut se révéler utile, en particulier en simulation. Si l'on veut avoir des séquences différentes, on peut, par exemple, prendre comme germe les décimales de l'heure exacte où le programme a été démarré ou encore sur l'intervalle de temps entre deux événements (ex. appuyer sur deux touches du clavier).

D. H. Lehmer donnait cette définition: «Une suite aléatoire est une vague notion couvrant l'idée d'une suite dans laquelle chaque terme est imprévisible pour un non-initié, et dont les éléments satisfont un certain nombre de tests statistiques traditionnels, dépendant éventuellement de l'usage auquel est destinée la suite.»

Qualités requises d'un générateur

Qu'attend-on réellement d'un générateur de nombres pseudo-aléatoires? La réponse à cette question conditionne la méthode à choisir, car dans ce domaine comme ailleurs, tout est affaire de compromis. En général on privilégie quatre critères:

On dit qu'un générateur pseudo-aléatoire est acceptable s'il a passé avec succès toute une batterie de tests de statistiques généraux.


Référence


Didier Müller, 2.1.03