Génération de nombres aléatoires
Didier Cassereau
Laboratoire d’Imagerie Biomédicale, UPMC CNRS INSERM, Paris, France
ESPCI - Promotion 133
Générateurs aléatoires
Problème posé
Obtenir un générateur de valeurs aléatoires
satisfaisant une loi de probabilité donnée
histogramme proche de cette loi...
Deux grandes classes de méthodes
méthodes physiques
méthodes par calcul
2/10
Générateurs aléatoires
Méthodes physiques
Il faut disposer d’une source d’entropie issue d’une mesure physique
.Paramètres physiques d’environnement
bruit thermique
environnement sonore ou électromagnétique
...
.Paramètres liés à la machine elle-même
les mouvements physiques du disque dur
les frappes au clavier
les déplacements de la souris
le traffic réseau
3/10
Générateurs aléatoires
Méthodes par calcul
La génération repose sur un algorithme numérique
On parle alors de pseudorandom number generator
Algorithme le plus commun : générateur congruentiel linéaire
(valeur initiale X0(graine,seed)
Xn+1= (a·Xn+b)mod m
.générateur à valeurs entières entre 0 et m1
.algorithme totalement déterministe
.si la graine ne change pas, on peut rejouer toute la séquence
4/10
Générateurs aléatoires
Méthodes par calcul
Quelques exemples
Xn+1= (1664525 ·Xn+1013904223)mod 232 Knuth & Lewis
Xn+1=69069 ·Xnmod 232 Marsaglia
Xn+1=31167285 ·Xnmod 248 Lavaux & Jenssens
Xn+1=6364136223846793005 ·Xnmod 264 Haynes
Les risques
initialisation de la graine (porte dérobée en cryptographie)
périodicité du générateur (problème majeur des simulations de type
Monte-Carlo)
statistiques du générateur (biais statistique)
5/10
1 / 10 100%