previous up next contents index
Previous: 1. Générateurs uniformes Up: 1. Générateurs uniformes Next: 1.2 Le test de   Contents   Index

Subsections

1.1 Pourquoi étudier les générateurs uniformes ?

1.1.1 "Nothing is random, only uncertain"

Une simulation assistée par ordinateur n'est pas un calcul ordinaire, mais un calcul ayant la prétention de reproduire le comportement d'un système réel, ayant un comportement partiellement imprévisible, soit faute de données précises, soit par suite d'une nature intrinsèquement probabiliste.

Il faut donc créer un comportement aléatoire au sein d'un ordinateur, alors que cet ordinateur a tout au contraire été conçu pour être strictement déterministe. A cet effet, on utilise un dispositif fournissant des "nombres aléatoires". Un tel dispositif peut être matériel, de la pièce de pile ou face au compteur de désintégration radioactif en passant par une horloge mesurant le nombre de micro-secondes entre deux frappes au clavier. Mais il existe aussi des dispositifs logiciels, appelés "générateurs pseudo-aléatoires", qui utilisent un processus déterministe pour fournir des nombres ayant un comportement réputé être indiscernable du comportement d'un processus effectivement aléatoire.

Nous allons étudier en détail le fonctionnement de ces générateurs. D'abord parce que certains sont très mauvais, et que les générateurs les plus couramment utilisés ne sont pas toujours très bons. Mais surtout parce que cette étude permet d'illustrer de façon simple une problèmatique tout à fait générale : le but d'une simulation sur ordinateur n'est pas un résultat numérique, mais une estimation de la qualité de ce résultat numérique.

Pour redire les choses autrement, les différentes façons de se demander si un générateur aléatoire donné est acceptable sont autant d'illustrations de la façon dont une simulation doit, en général, être critiquée et ses résultats être examinés quant à leur signification éventuelle (au sens français du mot éventuel, c'est à dire loin d'être certain).

Les tests qui vont être décrits ci-dessous (intervalles de confiance, méthodes par lots, test du maths) sont de portée tout à fait générale et le lecteur qui ne s'intéresserait pas aux générateurs aléatoires en tant que tels pourra néanmoins trouver dans ce chapitre un exposé de techniques très largement réutilisables à d'autres simulations.

1.1.2 Quel est donc le problème posé ?

Dans ce qui suit, nous appellerons "générateur aléatoire" un calcul déterministe fournissant des nombres appartenant à maths et censés ressembler aux nombres que fournirait une suite de variables aléatoires iid (indépendantes et identiquement distribuées) selon la loi uniforme. Les générateurs censés imiter d'autres lois seront appelés générateur exponentiel, générateur normal, etc. et seront étudiés au chapitre suivant.

Encore une fois, les "générateurs aléatoires" sont aussi peu aléatoires que possible, et cette désignation est dont tout à fait détestable, tout en ayant l'avantage de la brièveté et de la consécration par l'usage. Nous dirons donc qu'un générateur est bon ou mauvais selon que les séquences obtenues possèdent ou non certaines propriétés.

Un certain nombre de ces propriétés sont évidemment de nature statistique. Ainsi sera-t-il exigé que la moyenne d'une séquence tant soit peu longue soit "raisonnablement proche" de l'espérance de la variable. Une propriété analogue est également exigée pour les variances : il suffirait sinon d'instancier maths par maths pour obtenir la bonne moyenne !

En second lieu, le générateur, prenant ses valeurs dans un ensemble fini et étant déterministe, est nécessairement périodique. Il sera donc exigé que la période de ce générateur soit largement supérieure à la longueur de toutes les séquences d'instanciations que l'on pourra envisager d'utiliser. Quant aux autres propriétés statistiques, on pourra y tenir plus ou moins et donc un générateur sera bon ou mauvais dans un contexte donné, et non pas dans l'absolu.

Un certain nombre de propriétés non statistiques sont tout aussi importantes. En premier lieu vient la rapidité d'exécution du générateur... mais lorsqu'un générateur est mauvais, mieux vaut qu'il soit lent ! En second lieu vient la qualité requise quant à la preuve des propriétés du générateur. Il existe en effet des générateurs "sans défauts connus", mais dont on ne connaît pas non plus de preuve théorique de leurs qualités !

Dans le reste de ce chapitre nous allons uniquement considérer des "générateurs uniformes" c'est à dire des générateurs pseudo-aléatoires de nombres uniformément répartis dans maths et le chapitre suivant montrera que l'on peut construire tous les autres générateurs pseudo-aléatoires à partir des générateurs uniformes.


previous up next contents index
Previous: 1. Générateurs uniformes Up: 1. Générateurs uniformes Next: 1.2 Le test de   Contents   Index


douillet@ensait.fr
2005-01-04