想象一下你正坐在桌前,手里握着一枚均匀的六面骰子。你一次次地掷出它,并随手记下当前所有点数的总和:第一掷是
随着投掷次数的增加,这个“点数和序列”在你的笔记本上不断延伸。我们把这个直观的物理过程,提炼为一个正式的数学挑战:
例 1 ( 掷骰子问题 )
将一枚均匀的六面骰子投掷无穷多次, 记录每次投掷的点数, 并将前n次投掷的点数和写成一个递增序列。
(例如前3次点数依次为:
整数分拆:问题的本质
根据题意,点数和序列显然是递增的。因为骰子最小的点数也是
如果数字
如果数字
例 2 ( 拆分 )
10的有序5-拆分总共有多少种情况?(每部分在1到6之间)
在不考虑骰子面值限制的情况下,我们可以用“隔板法”轻松搞定:把
但问题在于,骰子只有
没错,正是“多项式乘法”。
在概率论发展的早期,像雅各布·伯努利这样的先驱,凭借着惊人的脑力和严密的逻辑,通过纯粹的组合推理解释了掷骰子中的复杂概率。然而,面对几百次投掷的规模,组合计算量是人力难以承受的。
直到后来,棣莫弗和欧拉引入了一种极其优雅的新视角:为什么不让“代数”来帮我们分担“组合”的压力呢? 让我们来看看,这个精妙的代数思维是如何运作的。
母函数:把组合变成代数
为了处理这种“受限”的拆分,让我们从最简单的情况看起:假设我们只投掷两次骰子,点数和为 4 的情况有多少种?
直觉告诉我们有 3 种:
现在,让我们把骰子的点数“实体化”为
两次投掷的结果,就隐藏在
当你展开这个乘积式时,为了得到
观察这个过程,你会发现一个惊人的等价性:
- 代数层面的幂指数相加 (
); - 正好对应了物理层面的点数求和 (
)。
在展开过程中,所有能凑成
(对应点数 1 和 3) (对应点数 2 和 2) (对应点数 3 和 1)
这意味着,
这就是大名鼎鼎的母函数(Generating Function)。
这种把复杂的“数数”问题,降维转化成代数多项式的魔法,其正式的数学面貌是形式幂级数
如果你觉得“形式幂级数”这个词听起来太冷冰冰,不妨把它想象成一个袋子:
母函数是一种类似于袋子的工具。携带许多零散的小物体可能会令人尴尬,我们将它们全部放入一个袋子中,然后我们只需携带一个对象,那就是这个袋子。 — 乔治·波利亚 (George Pólya), 《数学与合理推理》(1954)
以此类推,将一枚骰子投掷
展开后
最终的概率计算
现在,我们将概率引入这个“袋子”。掷一次骰子,每个点数出现的概率都是
因为每一次投掷都是相互独立的,所以投掷
回到最初的问题:数字
找到展开式中
延伸与思考
母函数的威力远不止于此。如果我们绘制出前
你会发现一个有趣的现象:出现次数最多的竟然是数字6,概率约为
如果这是一枚“作弊”骰子,掷出
参考文献:
[1] Eureka Issue 62 | A Journal of the Archimedeans

