poster455

把组合问题装进口袋:母函数与掷骰子

本文主要介绍母函数的由来以及用母函数来解决掷骰子中的概率问题.

把组合问题装进口袋:母函数与掷骰子
24 人挑战成功
趣味数学挑战

完成本期挑战需要达到:

高中数学水平

题目

有一枚正四面体骰子,每个面分别标有数字且每次投掷出现任意一面的概率都相等. 将其投掷无穷多次,记录下每次投掷后出现的点数,并将前n次投掷的点数和写成一个序列.

比如,假设前3次出现的点数依次为:,则点数和序列为:.

那么在点数和序列中,数字4出现的概率是 __________.

选项

想象一下你正坐在桌前,手里握着一枚均匀的六面骰子。你一次次地掷出它,并随手记下当前所有点数的总和:第一掷是 ,总和是 ;第二掷是 ,总和变成了 ……

随着投掷次数的增加,这个“点数和序列”在你的笔记本上不断延伸。我们把这个直观的物理过程,提炼为一个正式的数学挑战:

要解决这个概率问题,最暴力的办法是枚举,但数学家们为了更优雅地处理它,发明了一种神奇的工具——母函数

什么是母函数呢?我们将形式幂级数

称为是序列的母函数(又称生成函数, Generating function), 其中幂级数的系数即为序列对应的项.

如果你觉得“形式幂级数”这个词听起来太冷冰冰,不妨把它想象成一个袋子

母函数是一种类似于袋子的工具。携带许多零散的小物体可能会令人尴尬,我们将它们全部放入一个袋子中,然后我们只需携带一个对象,那就是这个袋子。 — 乔治·波利亚 (George Pólya), 《数学与合理推理》(1954)

说到底,母函数就是把一串复杂的数列,通过代数运算“打包”进了一个多项式里。下面我们就来看看,这个“袋子”是如何在这个掷骰子问题中大显身手的。

整数分拆:问题的本质

根据题意,点数和序列显然是递增的。因为骰子最小的点数也是 ,所以数字 最多只能出现在序列的前 位中(如果前 次全是 )。

如果数字 恰好出现在第 位,这意味着前 次掷骰子每次的点数都必须是 。根据独立事件积的概率公式,这个概率是

如果数字 出现在第 位,这说明前 次投掷的点数和恰好是 。这在数学中被称为整数分拆问题——即将一个正整数表示为若干个正整数的和.

在不考虑骰子面值限制的情况下,我们可以用“隔板法”轻松搞定:把 个球分成 份,每份至少 个,方案数是

但问题在于,骰子只有 点。如果拆分中出现了 (比如 这种 拆分),传统的隔板法就开始变得捉襟见肘了。

母函数:把组合变成代数

为了处理这种“受限”的拆分,母函数粉墨登场。这听起来很玄妙,但背后的原理其实非常直观。

让我们从最简单的情况看起:假设我们只投掷两次骰子,点数和为 4 的情况有多少种?

直觉告诉我们有 3 种:

现在,让我们把骰子的点数“实体化”为 的幂次:点数 对应 ,点数 对应 ……以此类推。那么一次投掷的所有可能可以用多项式表示为:

两次投掷的结果,就隐藏在 的展开式中:

当你展开这个乘积式时,为了得到 项,你必须从第一个括号选一项 ,从第二个括号选一项 ,使得它们的乘积

观察这个过程,你会发现一个惊人的等价性:

  • 代数层面的幂指数相加 ();
  • 正好对应了物理层面的点数求和 ()。

在展开过程中,所有能凑成 的方式都会被加在一起:

  • (对应点数 1 和 3)
  • (对应点数 2 和 2)
  • (对应点数 3 和 1)

这意味着, 前面的系数就是这 3 种情况的总和。多项式的乘法运算,在指数位置上自动完成了所有可能的组合枚举,并在系数位置上帮我们做好了加法。

这就是母函数最核心的魔力:它把复杂的“数数”问题,降维转化成了纯粹的“代数运算”问题。

以此类推,将一枚骰子投掷 次,所有可能的点数和分布都被“打包”在了母函数的 次幂中:

展开后 项的系数,就是掷骰子 次后点数和为 的所有可能方案数。不论是限制点数在 1-6 之间,还是要求点数必须是偶数,我们只需要调整括号内多项式的项,母函数就能自动帮我们处理这些复杂的约束条件。

历史的足迹

这种天才的想法并非偶然。历史上,瑞士数学家雅各布·伯努利在研究掷骰子问题时,就敏锐地察觉到了这种代数与组合的对称性。随后,欧拉在研究自然数分解时奠定了其理论基础。

1812年,拉普拉斯在《概率的分析理论》中系统化了这一工具。正如波利亚所说,母函数让我们不再需要拎着一堆零散的组合情况,而只需提着一个“代数袋子”轻装上阵。

最终的概率计算

现在,我们将概率引入这个“袋子”。掷一次骰子,每个点数出现的概率都是 ,其概率母函数为:

因为每一次投掷都是相互独立的,所以投掷 次的概率分布就由 给出。

回到最初的问题:数字 出现在序列中的总概率是多少?它可能出现在第 位、第 位……直到第 位。因此,我们只需要计算下面这个多项式之和:

找到展开式中 项的系数。经过计算,这个概率约为

延伸与思考

母函数的威力远不止于此。如果我们绘制出前 个数字出现在序列中的概率图:

概率分布图

你会发现一个有趣的现象:出现次数最多的竟然是数字6,概率约为。随着数字变大,概率逐渐趋于稳定(约 )。

如果这是一枚“作弊”骰子,掷出 的概率特别大,那么上述概率分布图会发生怎样的偏移?数字 出现的概率会增加还是减少?

参考文献:

[1] Eureka Issue 62 | A Journal of the Archimedeans