The problem is based on the Shadowrun dice pool. There if half or more of your dice are a 1 you "glitch" which is a bit more than just failing the test. Successes are counted on number of 5+'s in your pool. If you glitch but don't have any successes it's a critical glitch. So this is basically about the probability of getting a critical glitch.
Bem, aqui está um rápido script AnyDice para calcular as chances disso:
função: falha ROLL: s {resultado: 2 * [conta 1 em ROLL]> = #ROLL & [contagem {5,6} em ROLL] = 0} saída [falha 7d6]
A maneira como isso funciona é o seguinte:
- A função
falha ROLL: s
espera uma sequência de números como parâmetro. (Isso é o que o :s
na definição significa.) Quando recebe um conjunto de dados como 7d6
O AnyDice chama automaticamente a função para todas as sequências possíveis (classificadas) de números que podem ser obtidas rolando os dados e resume os resultados em um único dado tendencioso, representando a probabilidade da função retornar cada um dos resultados possíveis quando chamada com um lançamento aleatório de dados .
- Na função,
2 * [conta 1 no ROLO]> = #ROLL
avalia como verdadeiro (1) se pelo menos metade dos números na sequência ROLO
são uns e false (0), caso contrário. Similarmente, [contagem {5,6} no ROLO] = 0
avalia como verdadeiro se não houver cinco ou seis em ROLO
, e false caso contrário. O operador
entre eles é lógico AND: retorna true (por exemplo, 1) somente se ambas as expressões ao redor forem diferentes de zero (ou seja, não forem falsas).
Então, basicamente, não há matemática particularmente sofisticada aqui - o AnyDice resolve o problema com força bruta, testando todos os dados possíveis para ver se é uma falha crítica ou não. (Há a pequeno um pouco de matemática chique envolvido no cálculo das probabilidades de cada classificadas resultado de um rolo 7d6, mas tudo acontece automaticamente nos bastidores.)
Ps. Se você preferir fazer isso em Python, use, por exemplo, o dice_pool
função de esta resposta, que faz a mesma coisa que o AnyDice internamente - gera todos os possíveis rolos classificados de um NdX pool e suas respectivas probabilidades. Você pode então escrever um loop simples que resume as probabilidades de todos os rolos que são falhas críticas e produzem isso.