生成函数

Abstract

生成函数(Generating Function)将序列 的各项编码为形式幂级数 的系数,从而将计数问题转化为代数问题。通过幂级数的加法、乘法、求导等运算,可以解决组合计数、递推关系求解和排列组合恒等式证明等问题。核心工具包括广义二项式定理和部分分式分解。

定义

常生成函数(Ordinary Generating Function, OGF)

实数序列 生成函数是无穷级数

对于有限序列 ,通过令 将其扩展为无穷序列,其生成函数为多项式:

在组合数学中,生成函数被当作形式幂级数(formal power series)处理, 只是一个占位符,其作用是将序列的项编码为系数,无需关心收敛性。

生成函数的运算规则(Theorem 1)

,则

加法

乘法(Cauchy 乘积 / 卷积):

乘法公式表明:两个生成函数乘积的第 个系数,等于两个序列前 项的卷积

指数生成函数(Exponential Generating Function, EGF)

序列 指数生成函数

EGF 的乘法对应于排列的复合(有序选择),适用于排列计数等场景。经验法则:如果问题涉及”选若干个”(组合),用 OGF;如果涉及”排列”或”标签分配”,用 EGF。

核心性质

核心幂级数公式表

编号生成函数 展开式 系数
1
2
3
4
5
6
7
8
9

计数问题的因式对应关系

约束条件对应因式说明
可选 个(无上限)最常见的情况
可选 每种物品至多选一个
至少选 每种物品必须选
可选 有上下限约束

关系网络

graph LR
    A["生成函数"] -->|"编码序列"| B["[[离散数学/concepts/序列与求和]]"]
    A -->|"求解"| C["[[离散数学/concepts/递推关系]]"]
    A -->|"核心工具"| D["[[离散数学/concepts/广义二项式定理]]"]
    A -->|"展开系数"| E["[[离散数学/concepts/二项式系数]]"]
    A -->|"特殊情形"| F["[[离散数学/concepts/二项式定理]]"]
    A -->|"证明"| G["[[离散数学/concepts/排列组合恒等式]]"]

    A -->|"OGF"| H["常生成函数<br/>G(x) = Σ a_k x^k"]
    A -->|"EGF"| I["指数生成函数<br/>G_e(x) = Σ a_k x^k/k!"]

    A -->|"代数工具"| J["部分分式分解"]
    A -->|"应用"| K["整数分拆"]
    A -->|"理论"| L["形式幂级数"]

    D -->|"推导"| E
    F -->|"推广"| D

    style A fill:#5cb85c,color:#fff
    style H fill:#4a90d9,color:#fff
    style I fill:#d9534f,color:#fff

章节扩展

第08章 高级计数技术 — 8.4 生成函数

生成函数是 8.4 节的核心主题,涵盖以下内容:

用生成函数解决计数问题

核心思路是”编码-代数-解码”三步法:

  1. 编码:将每种选择用一个多项式因式表示, 的系数表示选择 个该类物品的方式数
  2. 代数:将所有因式相乘,利用代数工具求出乘积的闭式
  3. 解码:从闭式中提取目标幂次的系数,即为答案

典型应用

  • 方程解的计数:(有上下界约束) 构造因式乘积,提取 的系数
  • 分配问题:将 8 个相同饼干分给 3 个不同孩子(每人 2-4 个) ,提取 的系数
  • 允许重复的组合数:,由广义二项式定理得系数

用生成函数求解递推关系

  1. 为序列的生成函数
  2. 将递推关系两边乘以 并求和,利用递推关系消去部分项
  3. 解关于 的方程,得到 的闭式(有理函数形式)
  4. 用部分分式分解展开为幂级数,提取系数

示例 部分分式分解

用生成函数证明组合恒等式

找到同一个生成函数的两种展开方式,比较同次幂的系数即可证明恒等式。例如 的系数,既等于 ,又等于 ,由此证明

补充

生成函数为什么有效

生成函数的威力在于它将计数问题转化为代数问题。复杂的约束条件被自然地编码为多项式的因式结构,而幂级数的乘法自动处理了”不同选择之间的组合”这一计数核心操作。这种方法的理论基础可追溯到 18 世纪 Euler 对整数分拆问题的研究,后经 Laplace 在概率论中的应用而广泛传播。现代组合数学中,生成函数是核心工具之一(Wilf, 2006, generatingfunctionology)。

常生成函数 vs 指数生成函数

特性常生成函数 OGF指数生成函数 EGF
定义
乘法含义无序选择(组合)有序选择(排列)
典型应用组合计数、方程解数排列计数、分配问题
核心公式

参见