Usando o AnyDice para determinar as chances de obter uma sequência numérica específica em vários dados

7

Depois de algumas horas tentando criar o código adequado no AnyDice, Tive que admitir que não encontrei uma maneira adequada de alcançar meu objetivo, por isso estou me perguntando se alguém poderia me ajudar.

Aqui está o problema:

  • Estou à procura de probabilidades de obter com êxito um específico combinação com um rol de dados múltiplos; por exemplo, a combinação exata [1,2,5] com 3d6 ou [4,3,3] com 3d6 ou [1,2,2,6] com 4d6, etc. (os últimos exemplos enfatizam o fato de que o mesmo número pode estar presente um número variável de vezes, como um duplo, triplo, etc. - maior complexidade.)
  • Posso facilmente isolar as probabilidades de algumas combinações "clássicas" (como dobra com 2d6, triplica com 3d6, etc.), mas o que estou procurando é um genérico fórmula para qualquer combinação de n números para nd6 (ou outro número de faces).

Alguém sabe como codificar isso? Eu estou supondo que AnyDice pode fazer isso, mas eu não sei como dizer. Ficaria muito grato se alguém pudesse pelo menos me apontar na direção certa!

por sorveteiro 26.01.2015 / 19:57

2 respostas

É, de fato, possível faça isso com o AnyDice:

função: compare A: se B: s {resultado: A = B} [compare 4d6 e {5, 2, 2, 1}]

O truque aqui é que, ao passar um dado (como 4d6 aqui) para uma função que espera uma sequência, o AnyDice chamará a função para todos os lançamentos possíveis (classificados) dos dados e retornará uma distribuição (isto é, um dado tendencioso), dando a probabilidade de obter cada resultado.

(Observe que a sequência literal {5, 2, 2, 1} precisa ser classificado do maior para o menor valor, já que essa é a ordem de classificação padrão do AnyDice para lançamentos de dados.)


A execução do programa acima fornece cerca de 0.93% da probabilidade de rolar [1, 2, 2, 5], em qualquer ordem, no 4d6. Para verificar novamente o resultado, podemos calcular a probabilidade manualmentee compare-o com o resultado do AnyDice:

A primeira coisa a entender é que, desde que nossos dados sejam justos, os números reais na sequência são irrelevantes: teríamos exatamente a mesma probabilidade de rolar [1, 2, 2, 3] ou [2, 5, 5 , 6] ou mesmo [4, 5, 6, 6]. Tudo o que importa é o fato de que existem quatro dados, Cada um com seis lados, e que estamos interessados ​​na probabilidade de rolando uma combinação específica, Onde dois dos rolos são iguaisem qualquer ordem. Abaixo, continuarei usando [1, 2, 2, 5] como exemplo, mas é importante ter em mente que obteríamos o mesmo resultado para qualquer conjunto de rolos.

O resto é combinatória simples:

  • Existem 64 = 1296 resultados possíveis (e igualmente prováveis) de rolar dados de seis lados do 4 em sequência. Queremos saber quantas dessas seqüências, quando ordenadas, produzem [1, 2, 2, 5].

  • Tem 4! = 4 × 3 × 2 × 1 = 24 maneiras de embaralhar um conjunto de quatro distinto números: podemos colocar o menor número em qualquer uma das quatro posições, depois o menor em qualquer uma das três restantes e assim por diante. Portanto, if todos os números da combinação que queríamos eram distintos, haveria 4! = 24 maneiras de rolá-lo e, portanto, a probabilidade de rolá-lo seria 4! / 64 = 24 / 1296 = 1 / 54 ≈ 1.85%.

  • No entanto, no conjunto [1, 2, 2, 5], dois dos números são iguais. O que fazer? Bem, vamos fingir por um momento que os números são realmente, digamos, [1, 2a, 2b, 5], onde os rótulos "a" e "b" foram adicionados para diferenciar os dois "2".

    Agora temos quatro itens distintos, que podemos embaralhar no 4! = 24 maneiras diferentes. Se nós soltarmos os rótulos extras que adicionamos aos números para torná-los distintos, obteremos uma disposição dos números originais: por exemplo, [5, 2a, 1, 2b], com os rótulos removidos, fornecerá [5, 2 , 1, 2]. Mas o mesmo acontece com [5, 2b, 1, 2a]! De fato, para cada organização de [1, 2, 2, 5], existem dois arranjos de [1, 2a, 2b, 5] que produzem quando os rótulos são removidos: um que tenha o 2a antes do 2b e outro que os tenha ao contrário.

    Portanto, se dois dos números em nosso conjunto são iguais, existem apenas maneiras 24 / 2 = 12 para embaralhá-lo e, portanto, somente 12 das possíveis sequências 1296 de 4d6 o produzem quando ordenadas. Portanto, a probabilidade de rolar [1, 2, 2, 5] no 4d6, em qualquer ordem, é 12 / 1296 = 1 / 108 ≈ 0.93%, assim como AnyDice nos disse.

Podemos aplicar o mesmo raciocínio para conjuntos com mais duplicação. Por exemplo, no conjunto [1, 1, 5, 5], temos dois pares de números iguais. Podemos usar o mesmo truque para rotulá-los como [1a, 1b, 5a, 5b] antes de embaralhá-los, mas agora cada sequência não marcada corresponde às sequências rotuladas 2 × 2 = 4. Portanto, o número de maneiras de rolar [1, 1, 5, 5] no 4d6, em qualquer ordem, é 24 / 4 = 6 e, portanto, a probabilidade ou rolagem é 6 / 1296 = 1 / 216 ≈ 0.46%.

E o caso de três números iguais, como em [1, 2, 2, 2]? Novamente, podemos re-rotular os números como [1, 2a, 2b, 2c] e ter formas 24 de embaralhá-las, mas agora existem mais de duas maneiras de organizar os "2". Quantos mais? Bem, a resposta é dada pela mesma fórmula que usamos para contar o número total de arranjos acima: o número de maneiras de classificar três itens distintos (aqui, [2a, 2b, 2c]) é 3! = 3 × 2 × 1 = 6. Portanto, existem apenas maneiras 24 / 6 = 4 de organizar o conjunto não rotulado [1, 2, 2, 2] - um fato facilmente verificável manualmente - e, portanto, a probabilidade de rolá-lo é 4 / 1296 = 1 / 324 ≈ 0.31%.

Por fim, é claro, para quatro números iguais, como em [1, 1, 1, 1], há claramente apenas uma maneira de lançá-los, e a probabilidade é, portanto, 1 / 1296 ≈ 0.077%.

Aqui estão as mesmas informações, convenientemente tabuladas:

Probabilidade de rolar um específico conjunto de números no 4d6, em qualquer ordem:

Todos os números são distintos: 24 / 1296 = 1 / 54 ≈ 1.85% Dois números iguais: 12 / 1296 = 1 / 108 ≈ 0.93% Dois pares iguais: 6 / 1296 = 1 / 216 ≈ 0.46% Três números iguais: 4 / 1296 = 1 / 324 ≈ 0.31% Quatro números iguais: 1 / 1296 ≈ 0.077%

Você pode usar o mesmo método para calcular probabilidades semelhantes para qualquer número de dados de qualquer tipo. Por exemplo, o número de maneiras distintas de embaralhar o conjunto [2, 2, 3, 3, 3] é 5! / (2! × 3!) = 120 / (2 × 6) = 10, enquanto o número total de maneiras de rolar 5d6 em sequência é 65 = 7776, dando uma probabilidade de 10 / 7776 ≈ 0.13% de rolar essa combinação, em qualquer ordem, no 5d6.

(E sim, esse método é equivalente ao coeficientes multinomiais sugerido pelo limsup; por definição, Multinomial (n1n2, ..., nk) = (n1 + n2 + ... + nk)! / (n1! × n2! × ... × nk!).)


Ps. Na resposta acima, presumi que você estivesse interessado na probabilidade de lançar um específico conjunto de números em qualquer ordem, de modo que, por exemplo, [1, 2, 5, 2] e [1, 2, 2, 5] seriam considerados resultados equivalentes, mas [2, 3, 3, 6] seria considerado um diferente resultado.

Se você desejar a probabilidade combinada de rolar qualquer combinação que contenha exatamente um par de números iguais, quaisquer que sejam esses números, será necessário multiplicar a probabilidade de rolar qualquer um dessas combinações (calculadas acima) com o número total dessas combinações.

Quantas combinações existem? Existem várias maneiras de calcular isso, mas uma bem simples é:

  • Primeiro conte o número de maneiras de escolher três números distintos (em qualquer ordem) dos seis no dado: isso é algo tão comum em combinações que existe uma notação especial para ele: 6C3, leia como "6 escolha 3". (Existe uma notação mais comum que é escrita como "(63) ", mas com o 6 diretamente acima do 3; infelizmente, não posso digitá-lo corretamente aqui.) Esse número pode ser mais facilmente calculado como o número de maneiras de escolher três itens distintos dentre seis em ordem, ou seja, 6 × 5 × 4 = 6! / (6-3) !, dividido pelo número de maneiras de embaralhar os itens escolhidos, ou seja, 3 × 2 × 1 = 3 !, que gera 6C3 = (6! / (6-3)!) / 3! = 120 / 6 = 20.

  • Em seguida, multiplique esse número por três, para explicar o fato de que podemos escolher qualquer um dos três números a serem dobrados. Assim, o número total de combinações de quatro números entre 1 e 6, com exatamente um par de números iguais, é 6C3 × 3 = 60 e, portanto, a probabilidade de rolar essa combinação no 4d6 é 60 × 12 / 1296 = 60 / 108 ≈ 55.6%.

Da mesma forma, o número de combinações de quatro números distintos entre 1 e 6 pode ser calculado como 6C4 = (6! / (6-4)!) / 4! = (6 × 5 × 4 × 3) / (4 × 3 × 2 × 1) = 360 / 24 = 15, fornecendo uma probabilidade total de 15 × 24 / 1296 ≈ 27.8% de rolar quatro números diferentes com o 4d6. (Observe que isso é menor que a probabilidade de rolar um único par, mesmo que cada uma das quatro combinações diferentes seja individualmente mais provável que as combinações de um par, simplesmente porque há menos combinações em que todos os dados são diferentes daqueles em que dois são iguais.)

Para dois pares, obtemos 6C2 = 15 combinações possíveis (já que precisamos escolher dois números entre seis e os dois duplicam, para que não precisemos fazer escolhas adicionais sobre isso), para uma probabilidade total de 15 × 6 / 1296 ≈ 6.94% . (Não é coincidência que 6C2 = 6C4; um momento de reflexão deve tornar óbvio que escolher dois itens entre seis é equivalente a escolher quatro e deixar dois para trás.) Para três tipos, o número de combinações é 6C2 × 2 = 30 (nós escolhemos dois números distintos e o triplo deles), então a probabilidade total é de 30 × 4 / 1296 ≈ 9.26%, enquanto que para quatro do mesmo tipo, temos apenas 6C1 = Escolhas 6, para uma probabilidade total de 0.46%. Ou, em formato de tabela:

Probabilidade de rolar qualquer resultado com um determinado padrão de números iguais / distintos com 4d6, em qualquer ordem:

Todos os números são distintos: 15 × 24 / 1296 ≈ 27.78% Dois números iguais: 60 × 12 / 1296 ≈ 55.56% Dois pares iguais: 15 × 6 / 1296 ≈ 6.94% Três números iguais: 30 × 4 / 1296 ≈ 9.26% Quatro números igual: 6 × 1 / 1296 ≈ 0.46%

Pps. Sim, também podemos fazer isso no AnyDice, mas é um pouco mais complexo. Aqui está um exemplo para vários resultados do rolamento 4d6:

function: valores únicos em S: s {U: {} loop N sobre S {if! (N = U) {U: {U, N}}} resultado: U} function: find PATTERN: s em ROLL: s { COUNTS: {} loop N sobre [valores únicos em ROLL] {COUNTS: {COUNTS, N = ROLL}} resultado: [classificar padrão] = [classificar CONTAS]} saída [localizar {4} em 4d6] chamado "quatro de um tipo "output [find {3, 1} no 4d6] denominado" um triplo, um único "output [find {2, 2} no 4d6] denominado output" two pairs "[find {2, 1, 1} no 4d6] nomeado "um par, dois singles" saída [encontre {1, 1, 1, 1} em 4d6] nomeado "todos os singles"

Veja o gráfico rotulado "1" na visualização Transposta para ver todas as probabilidades de maneira agradável em um único gráfico de barras.

PPPs. Aqui está a mesma coisa para 6d6.

26.01.2015 / 23:03

Probabilidade de uma combinação especial no nd6:

  1. Se as sequências (1,2,3) e (1,3,2) forem não o mesmo - dados distingíveis -, então cada sequência tem a mesma probabilidade de (1 / 6) ^ n onde n fornece o número de dados lançados. assim

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

    Ou geral

    $$ P = \ esquerda (\ frac {1} {6} \ direita) ^ n. $$

  2. Se as seqüências (1,2,2,3) e (2,1,2,3) forem as mesmas - dados não-verificáveis ​​-, será necessário contar cada sequência para obter a probabilidade. Matematicamente, você pode usar o coeficiente multinomial para contar essas diferentes combinações. assim

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

    Ou geral

    $$ P = \ mathrm {Multinomial} [\ text {número de 1s, número de 2s, número de 3s, ..., número de 6s}] \ cdot \ left (\ frac {1} {6} \ right) ^ \ text {(número de dados)}. $$

  3. Se não for importante quais números estão na sequência e (1,2,2,3) é o mesmo que (2,4,4,6) e (2,2,4,4) é o mesmo que (1,1,5,5), você pode contar as faces possíveis dos dados na sequência com \ $ 6 \ cdot 5 \ cdot \ dots \ $ etc. Isso dá a você

    $$ P (duplo, duplo) = \ mathrm {Multinomial} [2,2] \ cdot 6 \ cdot 5 \ cdot \ esquerda (\ frac {1} {6} \ direita) ^ 4 $$

    e

    $$ P (simples, único, triplo) = \ mathrm {Multinomial} [1,1,3] \ cdot 6 \ cdot 5 \ cdot 4 \ cdot \ esquerda (\ frac {1} {6} \ direita) ^ 5. $$

    Ou geral

    $$ P = \ mathrm {Multinomial} [\ text {comprimento do conjunto 1st, comprimento do conjunto 2nd, ...}] \ cdot \ frac {6!} {(6- \ texto {número de conjuntos})!} \ cdot \ left (\ frac {1} {6} \ right) ^ \ text {(número de dados)}. $$

26.01.2015 / 21:22

Tags