27 votes

Quelle est la fiabilité des programmes de lancer de dés ?

Les programmes de dés et leur utilisation autour de la table sont en plein essor :

  • Les résultats obtenus à l'aide des programmes de dés présentent-ils des caractéristiques, des qualités ou des particularités qui pourraient nuire au jeu ? L'améliorer ?

  • Y a-t-il des programmes de dés qui sont en dessous de la norme dans leur génération de résultats fiables ? Si oui, ces résultats peuvent-ils être reconnus et évalués facilement ?

    Je pose cette question à propos de la résultats obtenus en utilisant des programmes de lancer de dés, et non l'expérience ou la tradition de l'utilisation de vrais dés. Personnellement, je préfère utiliser des dés, mais je suis souvent obligé de recourir à des programmes. Certains de ces programmes produisent ce que je considère comme des résultats suspects, de la même manière que ces dés bleus et mous d'un certain jeu en boîte dans les années 80. Cependant, étant conscient de mon propre penchant pour les dés, mais manquant d'outils pour déterminer la véracité de mes soupçons sur certains programmes, j'ai pensé que ce serait l'endroit où demander~.

39voto

ZombieSheep Points 18967

Tout lanceur de dés bien écrit vous donnera des résultats parfaitement aléatoires (enfin, pseudo-aléatoires - la différence n'a pas d'importance pour le jeu).

Certains lanceurs de dés ne sont pas bien écrits, ou dépendent de la source de nombres aléatoires du système d'exploitation/langage sous-jacent, qui peut lui-même être bien écrit ou non.

La grande majorité du temps, vous trouverez les rouleaux de dés plus aléatoires que les véritables dés, qui, étant des objets physiques, seront imparfaits.

Je connais un produit qui a dû changer la bibliothèque qu'il utilisait pour générer des rouleaux parce que l'implémentation du système d'exploitation était mauvaise, mais c'est un cas rare.

16voto

Grant Points 190

Un programme de lancer de dés est seulement aussi bon que le pire des programmes :

  1. l'algorithme de retour des nombres aléatoires à la case départ
  2. le générateur de graines pseudo-aléatoires

La plupart sont suffisamment proches pour être meilleurs que des dés.

Comme les ordinateurs ne peuvent pas générer de nombres vraiment aléatoires, aucun rouleau de dé n'est vraiment aléatoire. Les nombres pseudo-aléatoires, cependant, peuvent être suffisamment aléatoires pour être plus aléatoires que les vrais dés.

Une étude récente a montré que la plupart des d6 commerciaux présentent un biais important. L'étude comportait quelques défauts, mais montrait généralement un biais en faveur des chiffres faibles sur la plupart des d6 commerciaux (dans le cas d'une entreprise, presque au point que les 1 représentaient 2/7 des jets de 1d6 !) Aucun lot individuel testé ne montrait une distribution vraiment égale.

Quelques détails techniques...

Il existe deux méthodes de renvoi de nombres aléatoires utilisées en programmation :

  1. Un retour fractionné sur un flotteur ou un double-flotteur (double). EX : 0.348826495
  2. Retour d'un nombre entier sur un int ou double-int (long). ex : 25565

Étant donné une fraction, la norme est de multiplier les côtés par la fraction retournée, ce qui donne un nombre fractionnaire entre 0 et les côtés ; arrondir vers le bas, ce qui donne un nombre entier de 0 à côtés-1, inclus ; puis ajouter 1, pour obtenir un nombre entier de 1 à côtés, inclus. En raison de la nature des fractions, la résolution est légèrement biaisée, mais elle est effectivement inférieure à la résolution sur les machines 16 bits. Sur certaines machines 8 bits utilisant la précision simple, il a un biais notable sur les grands types de matrices. L'utilisation de routines d'arrondi peut également avoir une incidence sur ce résultat ; la plus courante est une troncature, qui est mathématiquement acceptable. §

Étant donné un retour entier, le mode normal est d'effectuer une opération de modulus (en américain : trouver le reste). Puis d'ajouter 1. 1+ ( Retourner les côtés du modulus ). Ceci introduit un très léger biais sauf pour d4, d8 et d16. Ce biais est pour les nombres BAS, et est (maximum_return mod sides) / maximum_return. Sur les machines 8 bits, avec des retours entiers de simple précision, c'est (256 mod sides)/256, pour 0 pour d4, d8, et d16, 1/64 pour d6 et d10, 3/128 pour d10, et 1/16 sur d20. C'est 7/32 pour d100... sur une machine 16 bits, avec un retour long (entier 32 bits), c'est négligeable pour tous les dés en dessous de 10000 faces...

Mais, sans regarder les sources, les méthodes et les valeurs de retour ne peuvent pas être évaluées équitablement.

Cependant, la génération de nombres aléatoires varie grandement selon le système d'exploitation, l'algorithme de génération de nombres aléatoires utilisé, la méthode d'ensemencement des nombres aléatoires et même le langage de programmation utilisé.

En résumé...

Sur les machines récentes dotées d'une architecture 16 bits, l'asymétrie est généralement faible, voire minime. Sur les machines 32 bits, l'asymétrie est généralement faible et minuscule. Tant que vous en utilisez un pour une machine 16 bits ou plus récente, vous devriez être aussi aléatoire que des dés, si ce n'est plus.


§ la spécification pour les routines à virgule flottante d'Applesoft écrites par Wozniak est pour un 3 octets et 5 octets, utilisant un seul octet d'exposant, et une mantisse de 2 ou 4 octets.

Un flottant typique (conforme à l'IEEE) de nos jours a une longueur de 4 octets, utilisant une mantisse signée de 24 bits (pour ±2^23) et un exposant de 8 bits. En sortie de décimales, la limite de précision est d'environ 6 places. Un double (double précision en virgule flottante) est de 4 octets, 53 mantisse signée et 11 exposant. La précision quadruple est de 8 octets avec une mantisse signée de 113 bits et un exposant de 15 bits, donnant de manière fiable une précision décimale de 30+ places. Notez que dans les trois cas, le bit de signe est en tête, puis l'exposant, puis la mantisse. Les quads ne sont pas encore couramment disponibles.

9voto

Erik Burigo Points 13844

Les ordinateurs et leurs semblables sont des machines déterministes. Ils n'ont aucun moyen de générer une variable aléatoire pure.

Cependant, il y a beaucoup de très bons algorithmes de génération de nombres pseudo-aléatoires qui génère une séquence de chiffres où la corrélation entre un chiffre et le suivant est si étrange qu'un être humain est incapable de discerner un modèle.
Ces algorithmes partent généralement d'un numéro d'ensemencement. Comme il s'agit d'un algorithme déterministe, la même graine produit toujours la même séquence de nombres. Pour contourner ce problème, la graine est généralement rendue dépendante du temps, afin qu'un utilisateur puisse introduire une véritable composante aléatoire (le moment où il invoque le lancement du dé).

Fondamentalement, il pourrait y avoir des différences entre les outils de lancer de dés en fonction de l'algorithme qu'ils mettent en œuvre. Cependant, ces différences ne sont pas perceptibles par un observateur humain et ne sont pas pertinentes pour le petit nombre de lancers et l'espace restreint des résultats possibles qui sont généralement impliqués dans une session de jeu de rôle (elles peuvent commencer à être pertinentes pour les analyses statistiques ou les simulations à grande échelle).

Je pense que certains dés pourraient être moins fiables que la plupart des générateurs pseudo-aléatoires en raison de défauts de production physique dans leur pondération.

6voto

Sam Points 2005

Une observation que j'ai faite avec les programmes de lancer de dés sur l'iPad/iPhone est qu'il semble y avoir des paramètres de "triche" permettant à l'utilisateur de biaiser les résultats pour qu'ils soient plus (ou moins) élevés que prévu.

Si vous faites du jeu en ligne et que les joueurs et le MJ utilisent tous un dé lancé sur une table de jeu virtuelle ou autre, vous n'avez probablement pas à vous en soucier, mais si vous envisagez que les joueurs utilisent des rouleaux de dé sur leur téléphone pendant qu'ils jouent en face à face, cela pourrait devenir un problème.

4voto

migo Points 4621

random.org produit des résultats aléatoires en lisant les changements atmosphériques, ce qui est à peu près aussi aléatoire que ce que l'on peut obtenir. En faisant des tests sur le rouleau Xd6 de Random, je n'ai rien vu qui suggère un biais - vous pouvez occasionnellement obtenir des résultats absurdes comme avec des dés, mais les habitudes de lancer n'entrent pas en jeu. Je sais que le plus gros problème avec les vrais dés, c'est que parfois, en fonction de la façon dont je les prends et de la hauteur à laquelle je les lance, ils continuent à répéter les mêmes résultats, ce qui fait que je peux avoir une bonne ou une mauvaise série. Ce n'est pas le cas avec random.org.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X