Quais são as chances de obter totais de pontuação de habilidade específica em D&D?

16

Estou prestes a começar a rodar um novo jogo no 5e e odeio todas as maneiras de determinar as pontuações de habilidades.

Eu sempre senti que jogamos RPGs, pelo menos em parte, pela oportunidade de fingir ser mais do que somos na vida real e ninguém quer interpretar um personagem que seja apenas mediano. Então, sinto que os personagens deveriam ter a capacidade de se tornar de classe mundial em alguma área.

Usando matriz padrão ou ponto de compra, você não pode iniciar no nível 1 com mais de um 15 em nenhuma habilidade. Isso significa que você não pode ter acima de um 17 com mods raciais e que, para alcançar o nível mais alto possível do 20, você deve planejar usar pelo menos duas oportunidades de talento para melhorar o 20, e você basicamente não tem chance de melhorar uma habilidade secundária para algo significativo, se você quiser fazer alguma façanha sem habilidade.

E com os dados de rolagem, você pode ter alguma chance de começar em uma posição melhor, mas você tem uma chance significativa de começar em uma posição muito pior. Se as consequências de uma catástrofe dessas fossem algumas sessões de dificuldade, isso seria uma coisa, mas deixar ao acaso a possibilidade de interpretar, por meses ou um ano, um personagem cujos modificadores negativos superam os positivos me parece inaceitável.

Por esse motivo, acho que alguns mestres (incluindo Matt Mercer, da Critical Role) colocam limites mais baixos nos testes, dizendo, por exemplo, que se o total de testes para todas as seis estatísticas estiver abaixo do 70, você poderá rolar novamente.

Gosto dessa idéia, mas não tenho certeza de que seja suficiente para o que quero (dando aos meus jogadores a chance de serem excepcionais).

Sei que existem resultados possíveis do 1296 para a rolagem do 4D6 e sei que o resultado médio da rolagem do 4D6 e da queda do número mais baixo é 12.2446, o que significa (acho) que a pontuação média para fazer isso seis vezes é 73.46759.

Estou pensando em tornar o 73 o "piso" para meus jogadores (para que eles tenham pelo menos a média de heróis, por assim dizer), mas não tenho certeza se tenho uma compreensão boa o suficiente da matemática para saber que isso é o certo decisão.

O que eu gostaria de saber é "qual é a probabilidade de obter um total de menos de 70 nesses rolos?" Portanto, se você rolar 4D6 e soltar o mais baixo seis vezes e totalizar os seis resultados, qual é a probabilidade de que ele esteja abaixo do 70?

Eu também gostaria de saber que, para 71, 72, etc ... até 78. E eu gostaria de saber qual é a probabilidade de ficar acima do 80, e 81, 82, etc. até cerca de 90.

Não sou matemático e não sei como descobrir isso. Eu realmente nem sei como formular a pergunta. Espero que isso tenha sido claro o suficiente para obter uma resposta.


Uau! Esta é a minha primeira vez fazendo uma pergunta aqui e eu não tinha ideia de esperar respostas tão surpreendentes tão rapidamente. Eu realmente aprecio seus esforços em me educar sobre esse assunto. Muito obrigado.

por David Nowlin 14.08.2019 / 19:18

2 respostas

PCs são excepcionais, independentemente de suas pontuações de habilidade

Respondendo à sua pergunta real, e não à matemática primeiro: seu problema é que você coloca muita ênfase nas pontuações das habilidades. Um lutador já é excepcional apenas por ser um lutador, assim como um mago, clérigo ou druida já é excepcional por pertencer a essas classes. As pontuações de habilidade influenciam as coisas que os personagens podem fazer, mas isso é na melhor das hipóteses descrevendo os pontos fortes relativos dos PCs um contra o outro - e mesmo assim é uma medida muito inexata e enganosa, meu bárbaro anão com força 28 não é realmente mais excepcional que um feiticeiro, com seu status mais alto sendo um 17 em carisma, mas com a capacidade de destruir castelos por capricho via terremoto.

Portanto, não acredito que o seu problema possa ser resolvido via matemática, certamente não por meio de ajustes na pontuação dos jogadores; É mais uma questão de enquadrar os PCs como maiores que os heróis da vida, o que está muito ao seu alcance como mestre.

A questão matemática literal

Aqui estão as probabilidades exatas (até seis dígitos significativos) de obter as pontuações individuais e obter uma pontuação que é pelo menos tão bom como uma pontuação específica (o uso do sistema 4d6 diminui o nível mais baixo). Mas, como eu disse anteriormente, não tenho certeza de que saber disso melhorará muito para você (observe que um humano "médio" assume valores em torno do 10 (consulte também o Statblock comum):

Probabilidades de pontuação individual

\ $ \ begin {array} {c | c | c} \ text {Pontuação da habilidade} & \ text {Probability} & {\ text {Probabilidade de ser} \\\ text {pelo menos tão grande quanto}} \\\ hline 18 & 1.620370 \% & 1.620370 \% \\ 17 & 4.166667 \% & 5.787037 \% \\ 16 e 7.253086 \% & 13.040123 \% \\ 15 & 10.108025 \% & 23.148148 \% \\ 14 & 12.345679 \% & 35.493827 \% \\ 13 & 13.271605 \% & 48.765432 \% \\ 12 & 12.885802 \% & 61.651235 \% \\ 11 & 11.419753 \% & 73.070988 \% \\ 10 & 9.413580 \% & 82.484568 \% \\ 9 & 7.021605 \% & 89.506173 \% \\ 8 & 4.783951 \% & 94.290123 \% \\ 7 & 2.932099 \% & 97.222222 \% \\ 6 & 1.620370 \% & 98.842593 \% \\ 5 & 0.771605 \% & 99.614198 \% \\ 4 & 0.308642 \% & 99.922840 \% \\ 3 & 0.077160 \% & 100.000000 \% \\ \ end {array} \ $

Valor esperado do escore de habilidade única: 12.24

Total esperado: 73.47 (como você suspeitou na pergunta)

E aqui estão as probabilidades de totais de pontuação (até dígitos significativos do 6). Observe que há um monte de zeros e 100% s aqui, principalmente porque as chances são tão astronomicamente pequenas ou grandes que os dígitos significativos do 6 não são suficientes (exceto as probabilidades acumuladas para valores mínimos, pois é claro que nada pode ser menor que o mínimo).

Probabilidade total de pontuação

\$ \begin{array}{c|c|c} \text{Total Score} & \text{Probability} & {\text{Probability of being}\\\text{at least as great as}}\\\hline 108 & 0.000000\% & 0.000000\%\\ 107 & 0.000000\% & 0.000000\%\\ 106 & 0.000000\% & 0.000000\%\\ 105 & 0.000001\% & 0.000002\%\\ 104 & 0.000006\% & 0.000007\%\\ 103 & 0.000022\% & 0.000030\%\\ 102 & 0.000073\% & 0.000102\%\\ 101 & 0.000212\% & 0.000314\%\\ 100 & 0.000559\% & 0.000873\%\\ 99 & 0.001355\% & 0.002228\%\\ 98 & 0.003053\% & 0.005280\%\\ 97 & 0.006438\% & 0.011719\%\\ 96 & 0.012800\% & 0.024518\%\\ 95 & 0.024120\% & 0.048638\%\\ 94 & 0.043277\% & 0.091916\%\\ 93 & 0.074221\% & 0.166137\%\\ 92 & 0.122070\% & 0.288207\%\\ 91 & 0.193078\% & 0.481284\%\\ 90 & 0.294415\% & 0.775699\%\\ 89 & 0.433730\% & 1.209429\%\\ 88 & 0.618481\% & 1.827910\%\\ 87 & 0.855065\% & 2.682974\%\\ 86 & 1.147820\% & 3.830794\%\\ 85 & 1.498018\% & 5.328812\%\\ 84 & 1.902979\% & 7.231791\%\\ 83 & 2.355468\% & 9.587259\%\\ 82 & 2.843496\% & 12.430755\%\\ 81 & 3.350615\% & 15.781370\%\\ 80 & 3.856750\% & 19.638120\%\\ 79 & 4.339492\% & 23.977612\%\\ 78 & 4.775768\% & 28.753380\%\\ 77 & 5.143685\% & 33.897065\%\\ 76 & 5.424356\% & 39.321421\%\\ 75 & 5.603493\% & 44.924914\%\\ 74 & 5.672574\% & 50.597488\%\\ 73 & 5.629472\% & 56.226960\%\\ 72 & 5.478471\% & 61.705431\%\\ 71 & 5.229710\% & 66.935141\%\\ 70 & 4.898120\% & 71.833262\%\\ 69 & 4.502022\% & 76.335284\%\\ 68 & 4.061548\% & 80.396832\%\\ 67 & 3.597061\% & 83.993893\%\\ 66 & 3.127736\% & 87.121629\%\\ 65 & 2.670427\% & 89.792056\%\\ 64 & 2.238874\% & 92.030931\%\\ 63 & 1.843300\% & 93.874230\%\\ 62 & 1.490344\% & 95.364575\%\\ 61 & 1.183308\% & 96.547883\%\\ 60 & 0.922602\% & 97.470485\%\\ 59 & 0.706332\% & 98.176817\%\\ 58 & 0.530938\% & 98.707756\%\\ 57 & 0.391803\% & 99.099559\%\\ 56 & 0.283804\% & 99.383363\%\\ 55 & 0.201753\% & 99.585116\%\\ 54 & 0.140730\% & 99.725846\%\\ 53 & 0.096296\% & 99.822142\%\\ 52 & 0.064621\% & 99.886763\%\\ 51 & 0.042516\% & 99.929279\%\\ 50 & 0.027414\% & 99.956693\%\\ 49 & 0.017318\% & 99.974011\%\\ 48 & 0.010713\% & 99.984724\%\\ 47 & 0.006487\% & 99.991211\%\\ 46 & 0.003842\% & 99.995053\%\\ 45 & 0.002225\% & 99.997279\%\\ 44 & 0.001259\% & 99.998538\%\\ 43 & 0.000696\% & 99.999233\%\\ 42 & 0.000375\% & 99.999608\%\\ 41 & 0.000197\% & 99.999805\%\\ 40 & 0.000101\% & 99.999905\%\\ 39 & 0.000050\% & 99.999956\%\\ 38 & 0.000024\% & 99.999980\%\\ 37 & 0.000011\% & 99.999991\%\\ 36 & 0.000005\% & 99.999996\%\\ 35 & 0.000002\% & 99.999998\%\\ 34 & 0.000001\% & 99.999999\%\\ 33 & 0.000000\% & 100.000000\%\\ 32 & 0.000000\% & 100.000000\%\\ 31 & 0.000000\% & 100.000000\%\\ 30 & 0.000000\% & 100.000000\%\\ 29 & 0.000000\% & 100.000000\%\\ 28 & 0.000000\% & 100.000000\%\\ 27 & 0.000000\% & 100.000000\%\\ 26 & 0.000000\% & 100.000000\%\\ 25 & 0.000000\% & 100.000000\%\\ 24 & 0.000000\% & 100.000000\%\\ 23 & 0.000000\% & 100.000000\%\\ 22 & 0.000000\% & 100.000000\%\\ 21 & 0.000000\% & 100.000000\%\\ 20 & 0.000000\% & 100.000000\%\\ 19 & 0.000000\% & 100.000000\%\\ 18 & 0.000000\% & 100.000000\%\\ \end{array} \$

Código fonte para gerar a tabela (Haskell)

{- # LANGUAGE Strict, TypeApplications # -} importar Data.Map qualificado como M importar Text.Printf importar Data.List (sortBy) importar Data.Ord (comparando) importar Control.Applicative ((<|>)) import Data.Ratio rolls :: [Int] rolls = faça um <- dado b <- dado c <- dado d <- retorno dos dados. soma. tome 3. sortBy (comparando negate) $ [a, b, c, d] onde dados = frequências [1..6] :: M.Map Int Frequências int = foldr (\ vm -> M.alter (\ f -> fmap ( + 1) f <|> Apenas 1) vm) Probabilidades de rolagem M.empty :: M.Map Int probabilidades Racionais = frequências fmap ((/ 6 ^ 4). FromIntegral) printProb :: Int -> Rational -> Rational -> IO () printProb kp acc = printf "% d &% .6f \\ %% &% .6f \\ %% \\\\ n" k (porcentagem p) (porcentagem acc) em que porcentagem = fromRational @Double. (100 *) totalScoreInstances :: [(Int, Rational)] totalScoreInstances = do (força, pStr) <- oneScore (constituição, pCon) <- oneScore (destreza, pDex) <- oneScore (sabedoria, pWis) <- oneScore ( inteligência, pInt) <- oneScore (carisma, pCha) <- oneScore permite que totalScore = força + constituição + destreza + sabedoria + inteligência + carisma deixem totalProb = pStr * pCon * pDex * pWis * pInt * retorno pCha (totalScore, totalProb), onde probabilidades oneScore = M.toList totalScoreProbabilities :: M.Map Int Rational totalScoreProbabilities = foldl (\ m (s, p) -> M.alter (\ tp -> fmap (+ p) tp <|> Apenas p) sm) M .empty totalScoreInstances main = do putStrLn "## Probabilidades de pontuação individual" putStrLn "\\ $" putStrLn "\\ begin {array} {c | c | c}" putStrLn "\\ text {Pontuação da capacidade} & \\ text { Probabilidade} & \\ text {Probabilidade de ser pelo menos tão grande quanto} \\\\\\ hline "fst $ M.foldrWithKey (\ kv (m, acc) -> let acc '= acc + v in (m> > probabilidades printProb kv acc ', acc')) (return (), 0) putStrLn "\\ end {arra y} "putStrLn" \\ $ "seja esperado = M.foldlWithKey (\ tkv -> t + (deIntegral k * v)) Probabilidades 0.0 printf" Valor esperado da pontuação de habilidade única:% .2f \ n "$ fromRational @Double esperado printf "\ nTotal esperado:% .2f \ n" $ fromRational @Double esperado * 6 putStrLn "## Probabilidades totais de pontuação" putStrLn "\\ $" putStrLn "\\ begin {array} {c | c | c}" putStrLn "\\ text {Pontuação total} e \\ text {Probability} e \\ text {Probabilidade de ser pelo menos tão grande quanto} \\\\\\ hline" fst $ M.foldrWithKey (\ kv (m, acc) -> deixe acc '= acc + v em (m >> printProb kv acc', acc ')) (return (), 0) totalScoreProbabilities putStrLn "\\ end {array}" putStrLn "\\ $"

Nota: se você quiser executar isso sozinho, compile com ghc -O2 e não tente executá-lo através do intérprete se quiser ver o resultado antes da morte pelo calor do universo.

14.08.2019 / 19:58

Aqui está um anydice programa que faz o que você queria

https://anydice.com/program/171e4
O código:

T: 0 loop X sobre {1..6} {R: [mais alto 3 de 4d6] T: T + R} saída T

Como funciona:

  1. Definimos uma variável, T para ser igual a 0.
  2. Em seguida, executamos a seção entre colchetes na primeira vez.
  3. Cada vez que uma variável, R, é o resultado da queda de 4d6, a mais baixa.
  4. Nós adicionamos a variável R a T.
    Em seguida, executamos a seção entre colchetes mais cinco vezes (aumentando T por R para cada novo rolo).
  5. Finalmente, temos nossa variável T, que é a soma de todos os 6 de nossos testes.

Você pode clicar em vários botões no link para visualizar estatísticas diferentes, por exemplo "No máximo" mostrará totais na extrema esquerda e a porcentagem de chance de atingir no máximo esse total à direita.

Podemos ver que as chances de obter no máximo o 70 são 33.06%
As chances de obter no máximo o 78 são 76.02%
As probabilidades de obter pelo menos 80 são 19.64%
As chances de conseguir pelo menos 90 são .78%


Um método de código alternativo para fazer isso é o seguinte, conforme apontado por @Sdjz:
https://anydice.com/program/171e5

output [3 mais alto de 4d6] + [3 mais alto de 4d6] + [3 mais alto de 4d6] + [3 mais alto de 4d6] + [3 mais alto de 4d6] + [3 mais alto de 4d6] + [XNUMX mais alto de XNUMXdXNUMX]

Seu código faz a mesma coisa de uma maneira sem dúvida mais fácil de ler ou mais óbvia / intuitiva, simplesmente adicionando seis rolos de "4d6 diminuindo o menor".

gráfico de probabilidades


Ainda outro método equivalente foi criado por @LouisWasserman encontrado neste link: https://anydice.com/program/171f0

saída 6d [o mais alto 3 de 4d6]

Isso funciona porque quando anydice rola dados, por exemplo, 3d6, rola 1d6 três vezes e adiciona os resultados.
O código deles faz seis dados com os lados "4d6 drop the lower".
Em seguida, soma os resultados que são equivalentes aos outros dois métodos acima.

14.08.2019 / 19:29