在尝试解决特定的项目欧拉问题时,我遇到了一个特定数学公式的困难。根据该网页(http://www.mathpages.com/home/kmath093.htm),用于确定在多个骰子n上滚动和的概率的公式,每个骰子具有边数s,每个边编号为1到s,可以是给出如下:
alt text http://www.freeimagehosting.net/uploads/8294d47194.gif
在我的程序中开始获得荒谬的答案后,我开始逐步完成,并尝试使用某些特定值。特别是,我决定尝试一个总和T = 20的公式,n = 9个骰子,每个都有s = 4个边。因为9个4面骰子的总和应该给出类似钟形的结果曲线,范围从4到36,20的总和似乎应该是公平的(相对来说)可能。将值放入公式中,我得到了:
alt text http://www.freeimagehosting.net/uploads/8e7b339e32.gif
由于j从0到7运行,我们必须添加所有j ...但是对于大多数这些值,结果为0,因为至少有一个选择公式结果为0. j的唯一值似乎返回非0结果是3和4.将3和4放入此公式中,我得到了
alt text http://www.freeimagehosting.net/uploads/490f943fa5.gif
简化后,似乎是:
alt text http://www.freeimagehosting.net/uploads/603ca84541.gif
最终简化到~30.75。现在,作为一个概率,当然,30.75是远离...概率必须在0和1之间,所以有些事情已经非常错误。但我不清楚它是什么。
我可能误解公式吗?很可能,虽然我不清楚故障会发生在哪里。可以在网页上转录错误吗?也有可能,但我发现很难在网上找到它的另一个版本来检查它。我可以做一个愚蠢的数学错误吗?也可能......虽然我的程序提出了类似的值,但我认为我更有可能误解了一些东西。
任何提示?
(我会在MathOverflow.com上发布这个,但我认为它甚至不会接近那种在那里生存所必需的“研究生水平”数学。)
另外:我肯定不希望得到Project Euler问题的答案,而且我怀疑我偶然发现的其他人会有同样的感受。我只想弄清楚我的数学技能在哪里崩溃。
答案 0 :(得分:9)
According to mathworld(公式9是相关的公式),来自您的来源的公式是错误的。
正确的公式应该是n choose j
,而不是n choose T
。这将真正减少总和中的值的大小。
mathworld公式使用k
代替j
和p
代替T
:
formula from mathworld http://mathworld.wolfram.com/images/equations/Dice/NumberedEquation7.gif
答案 1 :(得分:3)
查看维基百科中的文章 - Dice。 这里的公式看起来几乎相似,但有一点不同。我认为它会解决你的问题。
答案 2 :(得分:2)
我将不得不在这里表现出我的无知......不是9选择20 = 0?更一般地说,不是n选择T总是为0,因为T> = n?也许我正在错误地阅读这个公式(我不是数学专家),但是看看de Moive的工作,我不确定这个公式是如何得出的;好像有点偏。您可以尝试从引文中的Moive's original math开始,第39页。