Esse problema é bastante complicado de calcular exatamente porque, no final, ele evolui para uma cadeia de Markov, cuja velocidade de convergência não pode ser respondida conclusivamente.
Cálculo das probabilidades
Bater
Supondo que o lutador não seja um curinga, a chance de acertar normalmente é 4 / 10, e a chance de obter um aumento é 2 / 10. Já que é apenas um dado, se explodir não muda nada.
Dano
Se acertarmos normalmente, causamos danos ao 2D6. Dos possíveis resultados do 36, o 26 causa dano suficiente para causar pelo menos um Shaken. Desses, o 6 recebe dano suficiente para uma ferida, e o 6 pode fazê-lo com a explosão de dados (6-1, 6-2, 6-3). O 6-3 sempre gerencia, o 6-2 precisa de um 2, pelo menos, o 6-3, um 3. Portanto, a chance total de uma ferida direta é:
6 / 36 + 2 / 36 + 2 / 36 * 5 / 6 + 2 / 26 * 4 / 6 = 11 / 36
e, portanto, a chance de apenas agitar é 15 / 36
Se obtivermos um aumento, nosso dano aumentará para 3D6, para um total de resultados diferentes em 216 (antes das explosões). 206 desses causa pelo menos um Shaken, 135 deles um Ferimento sem explosões. Existem resultados 9 que fazem isso com explosões (6-2-1 na multiplicidade 6, sempre atinge dano 10 e 6-1-1 na multiplicidade 3, que precisa de um 2 em sua explosão). Portanto, a chance total de causar uma ferida diretamente é:
135 / 216 + 6 / 216 + 3 / 216 * 5 / 6 = 861 / 1296
E a chance de apenas tremer é 375 / 1296
Ao ser abalado
Sempre que o oponente é abalado, há uma chance de ele se recuperar antes do próximo golpe. Supondo por um momento que as curvas sempre acontecem alternativamente (porque, caso contrário, a matemática incha ainda mais), a partir de um estado Shaken, existem duas possibilidades:
A) o bandido se recupera antes do golpe, o que significa que as chances são as mesmas de antes
B) o bandido não se recupera, portanto, qualquer resultado que Shakes cause causa uma ferida.
portanto
p (Abalada-> Ferida) = p (Recuperação) * p (Normal-> Ferida) + (1-p (Recuperação)) * (p (Normal-> Ferida) + p (Normal-> Agitada))
p (Shaken-> Shaken) = p (Recuperar) * p (Normal-> Shaken) + (1-p (Recuperar)) * p (Normal-> Normal)
p (Shaken-> Normal) = p (Recuperar) * p (Normal-> Normal)
Com uma vontade de D6, o Bandit tem uma chance de 50% de se recuperar, felizmente, apenas temos que levar a média dos dois resultados.
A cadeia de Markov resultante
Se juntarmos tudo, obteremos uma rede de três estados para o Bandido no final de uma rodada: Normal, Abalado, Ferido e conheceremos as probabilidades de transição para cada um:
Normal:
- para Normal: 10188 / 12960
- para Shaken: 786 / 12860 (4 / 10 * 15 / 36 + 2 / 10 * 375 / 1296)
- para feridos: 1986 / 12960 (4 / 10 * 11 / 36 + 2 / 10 * 861 / 1296)
Agitado:
- para Normal: 5094 / 12960 (1 / 2 * 10188 / 12960)
- para Shaken: 5487 / 12860 (1 / 2 * (786 + 10188) / 12960)
- para feridos: 2379 / 12960 (1 / 2 * (1986 + 1986 + 786) / 12960)
Ferido:
E, nesse estágio, infelizmente, a precisão acaba, porque a velocidade exata na qual uma cadeia de Markov converge para seu estado estacionário ainda é um problema em aberto na matemática.
No entanto, sabe-se que um bom limite superior é dado pelo segundo maior valor próprio da matriz de probabilidade, que é a velocidade do decaimento exponencial em direção ao estado final, com a fórmula de C * λ2 ^ n
Conectar isso ao valor médio de uma distribuição exponencial nos dá um comprimento médio de rotação de -1 / ln (λ2)
Numpy me fornece um λ2 de 0.84292938, correspondente a um tempo médio de turno de 5.85233068601 até que o bandido seja derrotado.
A abordagem de simulação
Deve-se notar, no entanto, que esse valor, embora seja matematicamente mais rigoroso, não é muito mais útil do que seu cálculo rápido, porque o combate do Mundo Selvagem é muito instável e a variação nesse valor é extrema. Em cerca de 15% dos casos, a luta terminou com o primeiro ataque, por exemplo.
E como a velocidade de convergência correta da cadeia de Markov precisaria ser simulada para começar, nesse ponto seria mais fácil simular todo o combate, incluindo o bandido que volta. O que, felizmente, Zadmar realmente fez:
http://www.godwars2.org/SavageWorlds/combat2.html
Introduzindo os seguintes blocos de estados 2:
NWD, Wnd0, Ben0, BenNU, BenNS, Fi10, Nome: Lutador
e
NWD, Wnd0, Ben0, BenNU, BenNS, Fi6, Nome: Bandit, Arm1
nos dá o resultado:
Houve brigas 10000. Lutador venceu 8121 deles, enquanto Bandit venceu 1879. A luta mais curta durou a rodada 1, enquanto a luta mais longa durou a rodada 22. A duração média de uma luta foi de rodadas 2.