如何计算这个复杂的掷骰子机制的结果概率?

机器算法验证 骰子
2022-03-26 03:42:03

这个问题询问角色扮演游戏成功的概率。然而,这个问题及其答案并未涵盖骰子机制的一些复杂性。特别是,它根本不包括 botches(一种可能的结果)。

玩家有一个骰子池,基于游戏中与这个问题无关的一些机制。骰子池是玩家可以掷出的可变数量的骰子。关于玩家可以掷多少个骰子是有规则的,但这与这个问题无关。它可以是从 1(单个骰子)到大约 15 的任意数量的骰子。我称之为P

骰子有 10 个面,标记为 1 到 10(包括 1 到 10)(在我们的领域术语中称为“d10”)

掷骰子时,有一个目标数字或难度数字。这个数字是如何产生的不在这个问题的范围内,但这个数字可以在 3 到 9 之间。围绕此的规则解释如下。我称之为T

当所有的骰子都掷完时,有一些规则可以确定结果:

  • 任何等于或大于 T 的骰子都被视为成功
  • 任何等于 1 的骰子都会从成功中减去

那样...

  • 如果在减法后(如果适用),没有剩余的骰子大于或等于 T,则结果为失败。
  • 如果减法后(如果适用),至少还有一个大于或等于 T 的骰子,则结果为成功。
  • 如果掷出的骰子没有大于或等于 T,并且至少有一个骰子是 1,那么它就是一个 botch

对于给定的 P 池和 T 目标,您如何计算该系统中成功、失败或失败的概率?

1个回答

如果时间允许,我将不得不分阶段解决这个问题。我希望有人会在我完成之前给出一个完整的(可能更简单)的方法。

首先,让我们看看拙劣的。

我将忽略您的一些符号并调用 dice的数量。n

如果掷出的骰子没有大于或等于 T,并且至少有一个骰子是 1,那么它就是一个 botch

首先考虑P(no dice T)=(T110)n

现在考虑P(no 1|no dice T)=(T2T1)n

所以P(botch)=[1(T2T1)n](T110)n

=(T1)n(T2)n10n

(假设我没有犯任何错误)


其次,减法后单模成功数的分布可以通过本文的方法解决但是,您似乎在追求(即整体滚动成功),我认为这可能适用于相对更简单的方法(尽管它们很可能涉及更多的工作结尾)。我会看看下一个编辑。P(at least one success in total)