Nombre aléatoire
Choisissez l’intervalle et le nombre de tirages, et les nombres sont tirés avec un hasard que personne ne peut prévoir.
Résultat
Appuyez sur Tirer.
Comment ça marche
Les nombres viennent de la source aléatoire cryptographique du navigateur, celle qui sert aux mots de passe et aux clés de chiffrement. La fonction aléatoire ordinaire de JavaScript est prévisible pour qui en a vu assez de valeurs, et ne convient donc pas à un tirage au sort.
Chaque nombre de l’intervalle est exactement aussi probable, bornes comprises. Un simple reste favoriserait les plus petits nombres ; ici, les tirages qui créeraient ce biais sont écartés et refaits.
Sans répétition, chaque nombre sort au plus une fois, comme d’une urne. C’est ce qu’il faut pour une loterie ou pour répartir une liste. Avec répétition, le même nombre peut ressortir, comme en lançant un dé plusieurs fois.
Rien n’est enregistré ni envoyé. Un nouveau clic donne un nouveau tirage.
Comment le biais est évité
Le navigateur fournit un entier entre 0 et 4 294 967 295. Pour l’intervalle de 1 à 100, 100 entre 42 949 672 fois dans les 4 294 967 296 valeurs possibles, avec un reste de 96. Si l’on se contentait de diviser le nombre par 100 et de garder le reste, les nombres de 1 à 96 auraient chacun 42 949 673 chances et ceux de 97 à 100 une de moins. L’outil écarte donc les 96 valeurs les plus hautes et tire à nouveau, ce qui arrive environ deux fois sur cent millions de tirages.
Le NIST décrit dans la publication SP 800-90A des méthodes semblables, où les valeurs en trop sont écartées, et constate qu’elles donnent des nombres sans aucun biais, alors qu’une simple méthode du reste n’est assez régulière que si le nombre aléatoire compte au moins 64 bits de plus que ce qu’exige l’intervalle.
Sans répétition : deux chemins vers le même résultat
Quand le nombre de tirages multiplié par quatre est inférieur à la taille de l’intervalle, les nombres sont tirés un à un et un nombre déjà sorti est tiré à nouveau. Sinon, tout l’intervalle est mélangé par la méthode de Fisher-Yates et les premiers nombres sont retenus. Les deux chemins rendent chaque combinaison aussi probable. Les champs acceptent les entiers de −1 000 000 000 000 000 à 1 000 000 000 000 000. Un champ vide n’est pas accepté, mais une espace entre les milliers, comme dans 1 000, est acceptée. Si l’intervalle compte plus de 4 294 967 296 nombres, deux nombres du navigateur sont combinés en 53 bits aléatoires, avec le même rejet. L’ordre des champs De et À ne compte pas : de 10 à 1 est le même intervalle que de 1 à 10.
Exemple : le choix rapide 5 sur 49
Le choix rapide tire 5 nombres sur 49. Comme 5 × 4 font 20, moins que 49, les nombres sont tirés un à un. Il faut en moyenne 5,22 tirages pour obtenir cinq nombres différents, parce qu’un nombre déjà sorti revient parfois.
Il existe 1 906 884 combinaisons différentes de cinq nombres sur 49, et chacune a la même chance : une sur 1 906 884. Trier les nombres par ordre croissant ne change que l’affichage, pas les nombres tirés. Si le tirage que vous imitez demande en plus un numéro pris dans une autre série, tirez-le à part, avec Combien réglé sur 1.