Math
Toute loi à partir de l'uniforme
Il n'y a que quelques façons de fabriquer un nombre aléatoire d'une loi donnée, et toutes partent d'une uniforme. Fais-la passer par l'inverse de la fonction de répartition (exponentielle, Cauchy, triangulaire). Prends-en deux et fais-en une paire de normales (Box-Muller). Lance des fléchettes dans une boîte autour de la densité et garde celles sous la courbe (rejet - la part gardée vaut π/4 pour le demi-cercle). Compte les attentes exponentielles dans une unité de temps (Poisson) ou les piles de dix pièces (binomiale). Suis un jeton numéroté à travers la machine, puis confronte tout l'échantillon à sa courbe exacte.

Ce qui se passe
Un ordinateur fabrique un seul type de nombre aléatoire, un uniforme entre 0 et 1 ; toute autre loi doit être manufacturée à partir de lui. L'inversion fait passer l'uniforme par l'inverse de la fonction de répartition visée. Box-Muller change deux uniformes en une normale avec une racine, un logarithme et un cosinus. Le rejet lance des fléchettes dans une boîte et garde celles sous la courbe - et le paie en fléchettes perdues. Compter des intervalles exponentiels donne Poisson. Chaque recette est tirée vingt mille fois et confrontée à la courbe exacte. Choisissez une loi, regardez la recette tourner et lisez la distance à la vérité.
Équations du module
Équations inversion : x = F^(−1)(u), u uniforme sur (0,1) ; exponentielle −ln u ; Cauchy tan π(u − ½) Box-Muller: x = √(−2 ln u₁) cos 2πu₂ rejet : garder (x, y) tiré uniformément sous le graphe de f Poisson(λ) : le nombre d'écarts exponentiels contenus dans une unité de temps


