9 votes

Utiliser AnyDice pour déterminer les chances d'obtenir une séquence de chiffres spécifique sur plusieurs dés.

Après quelques heures passées à essayer de concevoir le code approprié en AnyDice Je dois admettre que je n'ai pas trouvé de moyen approprié pour atteindre mon objectif, et je me demande donc si quelqu'un pourrait me donner un coup de main.

Voici le problème :

  • Je cherche les chances de réussir à lancer un spécifique La combinaison exacte [1,2,5] avec 3d6, ou [4,3,3] avec 3d6, ou [1,2,2,6] avec 4d6, etc. (Ces derniers exemples soulignent le fait que le même nombre peut être présent un nombre variable de fois, comme un double, un triple, etc.)
  • Je peux facilement isoler les probabilités de certaines combinaisons "classiques" (comme les doubles avec 2d6, les triples avec 3d6, etc. Générique pour toute combinaison de n numéros pour n d6 (ou autre nombre de faces).

Quelqu'un sait-il comment coder cela ? Je suppose qu'AnyDice peut le faire, mais je ne sais pas comment lui dire de le faire. Je serais reconnaissant si quelqu'un pouvait au moins m'indiquer la bonne direction !

1 votes

Cherchez-vous à les classer dans l'ordre, ou simplement à obtenir les résultats de cette série ?

0 votes

Par ailleurs, il convient probablement de se demander s'il existe une raison vous avez besoin de ces données dans Any dice et vous ne vous contentez pas de calculer les probabilités à la main (ce qui pourrait être plus facile dans ce cas particulier).

1 votes

En général, de telles questions (en dehors du contexte d'outils logiciels spécifiques comme AnyDice) sont également abordées sur math.SE ou stats.SE, donc l'un de ces deux sites serait un endroit alternatif pour poser ce type de question.

12voto

trjh Points 11

Il est, en effet, possible de faire cela avec AnyDice :

function: compare A:s and B:s {
  result: A = B
}
output [compare 4d6 and {5, 2, 2, 1}]

L'astuce ici est que, lorsque vous passez un dé (comme 4d6 ici) à une fonction qui attend une séquence, AnyDice appellera la fonction pour chaque lancer de dé possible (trié), et retournera une distribution (c'est-à-dire un dé biaisé) donnant la probabilité d'obtenir chaque résultat.

(Notez que la séquence littérale {5, 2, 2, 1} doit être trié de la valeur la plus élevée à la valeur la plus faible, puisque c'est l'ordre de tri par défaut d'AnyDice pour les jets de dés).


L'exécution du programme ci-dessus donne environ 0,93% pour la probabilité de lancer [1, 2, 2, 5], dans n'importe quel ordre, sur 4d6. Pour revérifier le résultat, on peut calculer la probabilité à la main et le comparer au résultat d'AnyDice :

La première chose à comprendre est que, tant que nos dés sont équitables, les chiffres réels de la séquence n'ont aucune importance : nous obtiendrions exactement la même probabilité en lançant [1, 2, 2, 3] ou [2, 5, 5, 6], ou même [4, 5, 6, 6]. Tout ce qui compte, c'est le fait qu'il y a quatre dés chacun avec six côtés et que nous sommes intéressés par la probabilité de le laminage d'une combinaison spécifique donde deux des rouleaux sont égaux en toute commande . Ci-dessous, je vais continuer à utiliser [1, 2, 2, 5] comme exemple, mais il est important de garder à l'esprit que nous obtiendrions le même résultat pour n'importe quel ensemble de rouleaux.

Le reste est combinatoire simple :

  • Il y a 6 4 \= 1296 résultats possibles (et également probables) en lançant 4 dés à six faces. dans l'ordre . Nous voulons savoir combien de ces séquences, une fois triées, donnent [1, 2, 2, 5].

  • Il y a 4 ! \= 4 × 3 × 2 × 1 = 24 façons de mélanger un ensemble de quatre pièces. distinct Nous pouvons placer le plus petit nombre dans l'une des quatre positions, puis le plus petit suivant dans l'une des trois positions restantes, et ainsi de suite. Ainsi, si si tous les chiffres de la combinaison souhaitée étaient distincts, il y aurait 4 ! = 24 façons de la lancer, et la probabilité de la lancer serait donc de 4 ! / 6 4 \= 24 / 1296 = 1/54 ≈ 1.85%.

  • Cependant, dans l'ensemble [1, 2, 2, 5], deux des nombres sont égaux. Que faire ? Imaginons un instant que les nombres sont en fait, disons, [1, 2a, 2b, 5], où les étiquettes "a" et "b" ont été ajoutées pour rendre les deux "2" distincts.

    Nous avons maintenant quatre éléments distincts, que nous pouvons mélanger en 4 ! = 24 façons différentes. Si nous laissons ensuite tomber les étiquettes supplémentaires que nous avons ajoutées aux nombres pour les rendre distincts, nous obtenons un arrangement des nombres originaux : par exemple, [5, 2a, 1, 2b], sans les étiquettes, nous donne [5, 2, 1, 2]. Mais [5, 2b, 1, 2a] l'est aussi ! En fait, pour chaque arrangement de [1, 2, 2, 5], il y a deux arrangements de [1, 2a, 2b, 5] qui le produisent lorsque les étiquettes sont retirées : un qui a 2a avant 2b, et un qui les a dans l'autre sens.

    Ainsi, si deux des nombres de notre jeu sont égaux, il n'y a que 24 / 2 = 12 façons de le mélanger, et donc seulement 12 des 1296 séquences possibles de 4d6 le donneront une fois trié. Ainsi, la probabilité d'obtenir [1, 2, 2, 5] sur 4d6, dans n'importe quel ordre, est la suivante 12 / 1296 = 1/108 ≈ 0.93% comme nous l'a dit AnyDice.

Nous pouvons appliquer le même raisonnement pour les ensembles comportant plus de doublons. Par exemple, dans l'ensemble [1, 1, 5, 5], on a deux paires de nombres égaux. Nous pouvons utiliser la même astuce en les étiquetant [1a, 1b, 5a, 5b] avant de les mélanger, mais maintenant chaque séquence non étiquetée correspond à 2 × 2 = 4 séquences étiquetées. Ainsi, le nombre de façons de lancer [1, 1, 5, 5] sur 4d6, dans n'importe quel ordre, est de 24 / 4 = 6, et donc la probabilité ou le lancer est de 6 / 1296 = 1/216 ≈ 0,46%.

Qu'en est-il du cas de trois des nombres égaux, comme dans [1, 2, 2, 2] ? Encore une fois, nous pouvons réétiqueter les nombres comme [1, 2a, 2b, 2c], et avoir 24 façons de les mélanger, mais il y a maintenant plus de deux façons de disposer les "2". Combien de plus ? La réponse est donnée par la même formule que celle utilisée pour compter le nombre total d'arrangements ci-dessus : le nombre de façons de trier trois éléments distincts (ici, [2a, 2b, 2c]) est 3 ! = 3 × 2 × 1 = 6. Il n'y a donc que 24 / 6 = 4 façons d'arranger l'ensemble non étiqueté [1, 2, 2, 2] - un fait facilement vérifiable à la main - et donc la probabilité de le rouler est de 4 / 1296 = 1/324 ≈ 0,31%.

Enfin, bien sûr, pour quatre nombres égaux, comme dans [1, 1, 1, 1], il n'y a clairement qu'une seule façon de les lancer, et la probabilité est donc de 1/1296 ≈ 0,077%.

Voici la même information, commodément tabulée :

Probabilité d'obtenir un spécifique un ensemble de chiffres sur 4d6, dans n'importe quel ordre :

All numbers distinct: 24 / 1296 = 1/54   1.85%
Two numbers equal:    12 / 1296 = 1/108  0.93%
Two equal pairs:       6 / 1296 = 1/216  0.46%
Three numbers equal:   4 / 1296 = 1/324  0.31%
Four numbers equal:    1 / 1296          0.077%

Vous pouvez utiliser la même méthode pour calculer des probabilités similaires pour n'importe quel nombre de dés, quel que soit leur type. Par exemple, le nombre de façons distinctes de mélanger l'ensemble [2, 2, 3, 3, 3] est de 5 ! / (2 ! × 3 !) = 120 / (2 × 6) = 10, alors que le nombre total de façons de lancer 5d6 en séquence est de 6 5 \= 7776, ce qui donne une probabilité de 10 / 7776 ≈ 0,13% de lancer cette combinaison, dans n'importe quel ordre, sur 5d6.

(Et oui, cette méthode est équivalente à la fonction coefficients multinomiaux suggéré par limsup ; par définition, Multinomial(n 1 , n 2 , ..., n k ) = (n 1 + n 2 + ... + n k ) ! / (n 1 ! × n 2 ! × ... × n k !).)


Ps. Dans la réponse ci-dessus, j'ai supposé que vous étiez intéressé par la probabilité de lancer un spécifique ensemble de nombres dans n'importe quel ordre, de sorte que, par exemple, [1, 2, 5, 2] et [1, 2, 2, 5] seraient considérés comme des résultats équivalents, mais [2, 3, 3, 6] serait considéré comme un résultat différent.

Si vous souhaitez plutôt connaître la probabilité combinée de former toute combinaison contenant exactement une paire de nombres égaux, quels que soient ces nombres, vous devrez multiplier la probabilité de former n'importe quelle paire de nombres égaux. un de ces combinaisons (calculées ci-dessus) avec le nombre total de ces combinaisons.

Combien de combinaisons de ce type existe-t-il ? Il existe plusieurs façons de le calculer, mais une assez simple est la suivante :

  • Commencez par compter le nombre de façons de choisir trois nombres distincts (dans n'importe quel ordre) parmi les six du dé : c'est une chose si courante à faire en combinatoire qu'il existe une notation spéciale pour cela : 6 C 3 lire comme "6 choisir 3" . (Il existe une notation plus courante qui s'écrit un peu comme "( 6 3 )", mais avec le 6 directement au-dessus du 3 ; hélas, je ne peux pas le taper correctement ici). Ce nombre peut plus facilement être calculé comme le nombre de façons de choisir trois éléments distincts parmi six dans l'ordre c'est-à-dire 6 × 5 × 4 = 6 ! / (6-3) !, divisé par le nombre de façons de mélanger les objets choisis, soit 3 × 2 × 1 = 3 !, ce qui donne 6 C 3 \= (6 ! / (6-3) !) / 3 ! = 120 / 6 = 20.

  • Ensuite, multipliez ce nombre par trois, pour tenir compte du fait que nous pouvons choisir n'importe lequel des trois nombres à doubler. Ainsi, le nombre total de combinaisons de quatre nombres compris entre 1 et 6, avec exactement une paire de nombres égale, est le suivant 6 C 3 × 3 = 60, et donc la probabilité de lancer une telle combinaison sur 4d6 est de 60 × 12 / 1296 = 60 / 10 ≈ 55,6 %.

De même, le nombre de combinaisons de quatre nombres distincts entre 1 et 6 peut être calculé comme suit 6 C 4 \= (6 ! / (6-4) !) / 4 ! = (6 × 5 × 4 × 3) / (4 × 3 × 2 × 1) = 360 / 24 = 15, ce qui donne une probabilité totale de 15 × 24 / 1296 ≈ 27,8 % d'obtenir quatre nombres différents avec 4d6. (Notez que c'est moins que la probabilité d'obtenir une seule paire, même si chacune des quatre combinaisons différentes est individuellement plus probable que les combinaisons d'une paire, simplement parce qu'il y a moins de combinaisons où tous les dés sont différents que de combinaisons où deux sont identiques).

Pour deux paires, on obtient 6 C 2 \= 15 combinaisons possibles (puisque nous devons choisir deux nombres parmi six, et qu'ils sont tous deux doublés, donc nous n'avons pas besoin de faire de choix supplémentaires à ce sujet), soit une probabilité totale de 15 × 6 / 1296 ≈ 6,94 %. (Ce n'est pas une coïncidence si 6 C 2 \= 6 C 4 ; un moment de réflexion devrait rendre évident le fait que choisir deux articles sur six est équivalent à en choisir quatre et en laisser deux). Pour un brelan, le nombre de combinaisons est de 6 C 2 × 2 = 30 (on choisit deux nombres distincts, et on triple l'un d'entre eux), et donc la probabilité totale est de 30 × 4 / 1296 ≈ 9,26 %, alors que pour un carré, on a juste . 6 C 1 \= 6 choix, pour une probabilité totale de 0,46%. Ou, sous forme de tableau :

Probabilité de laminage tout résultat avec un modèle donné de nombres égaux/distincts avec 4d6, dans n'importe quel ordre :

All numbers distinct: 15 × 24 / 1296  27.78%
Two numbers equal:    60 × 12 / 1296  55.56%
Two equal pairs:      15 ×  6 / 1296   6.94%
Three numbers equal:  30 ×  4 / 1296   9.26%
Four numbers equal:    6 ×  1 / 1296   0.46%

Pps. Oui, nous pouvons aussi le faire dans AnyDice, mais c'est un peu plus complexe. Voici un exemple pour les différents résultats d'un jet de 4d6. :

function: unique values in S:s {
  U: {}
  loop N over S { if !(N = U) { U: {U, N} } }
  result: U
}  
function: find PATTERN:s in ROLL:s {
  COUNTS: {}
  loop N over [unique values in ROLL] {
    COUNTS: {COUNTS, N = ROLL}
  }
  result: [sort PATTERN] = [sort COUNTS]
}
output [find {4} in 4d6] named "four of a kind"
output [find {3, 1} in 4d6] named "one triple, one single"
output [find {2, 2} in 4d6] named "two pairs"
output [find {2, 1, 1} in 4d6] named "one pair, two singles"
output [find {1, 1, 1, 1} in 4d6] named "all singles"

Regardez le graphique intitulé "1" dans la vue transposée pour voir toutes les probabilités dans un seul graphique à barres.

Ppps. Voici la même chose pour 6d6 .

8voto

limsup Points 2023

Probabilité d'une combinaison spéciale sur nd6 :

  1. Si les séquences (1,2,3) et (1,3,2) sont pas le même - dés distinguables - alors chaque séquence a la même probabilité de (1/6)^n où n donne le nombre de dés lancés. Donc

    $$P(1,2,3)=P(3,2,1)=P(2,3,1)= \frac {1}{216}.$$

    Ou général

    $$P= \left ( \frac {1}{6} \right )^n.$$

  2. Si les séquences (1,2,2,3) et (2,1,2,3) sont identiques - des dés inaltérables - alors vous devez compter chaque séquence pour obtenir la probabilité. Mathématiquement, vous pouvez utiliser la multinomiale pour compter ces différentes combinaisons. Ainsi,

    $$P(1,2,2,3) = \mathrm {Multinomial}[1,2,1] \cdot \frac {1}{216} = \frac {12}{216}= \frac {1}{18}.$$

    Ou général

    $$P= \mathrm {Multinomial}[ \text {nombre de 1, nombre de 2, nombre de 3,..., nombre de 6}]. \cdot \left ( \frac {1}{6} \right )^ \text {(nombre de dés)}.$$

  3. S'il n'est pas important de savoir quels sont les chiffres de la séquence et (1,2,2,3) est le même que (2,4,4,6) et (2,2,4,4) est le même que (1,1,5,5) vous pouvez compter les faces possibles des dés dans la séquence avec \$6 \cdot 5 \cdot \dots\ $ etc. Cela vous donne

    $$P(double, double)= \mathrm {Multinomial}[2,2] \cdot 6 \cdot 5 \cdot \left ( \frac {1}{6} \right )^4$$

    y

    $$P(simple, simple, triple)= \mathrm {Multinomial}[1,1,3] \cdot 6 \cdot 5 \cdot 4 \cdot \left ( \frac {1}{6} \right )^5.$$

    Ou général

    $$P= \mathrm {Multinomial}[ \text {longueur de la 1ère série, longueur de la 2ème série,...}] \cdot \frac {6!}{(6- \text {nombre d'ensembles})!} \cdot \left ( \frac {1}{6} \right )^ \text {(nombre de dés)}.$$

0 votes

Votre numéro 1 est logique, mais votre numéro 2 l'est moins. Comment passer de P(1,2,2,3) à MultinomialCoefficient(4 choose 1,2,1)*1/216 ? Comment le formuler de manière générique pour qu'il puisse être utilisé pour d'autres combinaisons de nombres ? De plus, si je tape "MultinomialCoefficient(4 choose 1,2,1)*1/216" dans Wolfram Alpha, j'obtiens 35/72, et non 1/12 comme vous le dites ici. Est-ce plus compliqué que de simplement copier la formule sur le site web ?

0 votes

Le code w|a pour le coefficient multinomial est Multinomial[1,2,1]. Si vous avez la séquence a,b,b,c vous avez 1xa et 2xb et 1xc d'où Multinomial[1,2,1].

0 votes

D'accord, mais trois choses : premièrement, Multinomial[1,2,1]*1/216 = 1/18, pas 1/12, d'après w|a. Deuxièmement, comment généraliser cela à d'autres combinaisons de dés ? Par exemple, quelle serait la formule correcte pour (1,2,3,4) ? Ou pour (1,3,3,3) ? Vous dites qu'il faut utiliser le coefficient multinomial, mais vous ne dites pas vraiment comment l'utiliser. Troisièmement, si vous suggérez d'utiliser w|a pour ces calculs, vous devriez donner le format w|a correct dans votre réponse.

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