注:原创不易,转载请务必注明原作者和出处,感谢支持!
一 写在开头
1.1 本文内容
本文内容为《组合数学》课程的第二部分,递推关系与母函数。这部分的内容分解图如下。
二 递推关系的定义与求解
2.1 递推关系的定义
递推关系的隐式定义为对于数列({a_i vert i ge 0})和任意自然数(n),一个关系到(a_n)和某些(a_i(i < n))的方程,称为递推关系,记作:
初始条件
其中初始条件的个数被称为递推关系的阶。
递推关系的显式定义为对于数列({a_i vert i ge 0}),把(a_n)和其前若干项联系起来的等式对所有(n ge k)均成立,称该等式为({a_i})的递推关系。记作
2.2 递推关系的建立
递推关系的建立步骤:
- 第一步:找出第(n)项与其前面最近几项的关系
- 第二步:获得最前面几项的具体值,即初值
递推关系的建立实例
实例1:有一个小孩要爬上有(n)个台阶的楼梯,他一步可以爬一个台阶或者两个台阶。这个小孩爬上这(n)个台阶楼梯的不同方法的数目记作(a_n),则(a_n)的递推关系为:
实例2:在信道上传输由(a, b, c)三个字母组成的长为(n)的字符串,若字符串中有两个(a)连续出现,则信道就不能传输,令(a_n)表示信道可以传输的长为(n)的字符串的个数,求(a_n)满足条件的递推关系,则
实例3:把(n)个相同的球放入(k)个不同的盒子中,每个盒子中的球不少于2个又不多于4个。其不同的放法的数目记作(a_{n,k}),求(a_{n,k})的递推关系。则
对于(n = 0)或(n = 1)或(n > 4),有(a_{n,1} = 0)
2.3 递推关系的求解
对于(r)阶递推关系的一般形式
其中,(n ge r, c_r e 0)
若(e(n) = 0),则称其为齐次递推关系式
若(e(n)
e 0),则称其为非齐次递推关系式
当(c_i(n) = c_i, (i = 1, 2, ..., r)),则称其为常系数递推关系式
对于常系数齐次递推关系式
其中,(c_r)不等于0
其特征方程为:
若解得其全部互不相等的特征根为(m_1, m_2, ..., m_i),并且其重数分别为(e_1, e_2, ..., e_i(e_1 + e_2 + ... + e_i = r)),则递推关系式对应(m_i)部分的通解是:
从而,该常系数齐次递推关系式为:
对于非齐次常系数递推关系式
其解为对应的其次常系数递推关系式的通解(ar{a_n})加上该非齐次常系数递推式的特解(a_n^*),即:
而非齐次递推关系式
特解的常见形式有:
- 当(f(n) = b)时,(a_n^* = An^k),其中1是k重特征根
- 当(f(n) = b^n)时,(a_n^* = An^kb^n),其中b是k重特征根
- 当(f(n) = n^s)时,(a_n^* = n^k(A_sn^s + A_{s-1}n^{s-1} + ... + A_1n + A_0)),其中1是k重特征根
- 当(f(n) = b^nn^s)时,(a_n^* = n^kb^n(A_sn^s + A_{s-1}n^{s-1} + ... + A_1n + A_0)),其中b是k重特征根
三 母函数的定义和性质
3.1 母函数的定义
对于数列(a_0, a_1, ..., a_n, ...)构造形式幂级数
则称函数(G(x))是数列(a_0, a_1, ..., a_n, ...)的母函数
3.2 母函数的性质
设数列({a_n}, {b_n}, {c_n})的母函数分别为
则有
性质1:若
则
(B(x) = x^l A(x))
性质2:若(b_n = a_{n+l}),则
性质3:若(a_n = b_n + c_n),则
性质4:若(b_n = n cdot a_n),则(B(x)= x cdot A'(x))
性质5:若
则
3.3 母函数的幂级数展开形式
常用的母函数的幂级数展开式有:
四 用母函数求解递推关系
用母函数来求解递推关系的步骤如下:
- 将递推关系式变成母函数方程
- 求解母函数
- 将母函数变成幂级数形式
比如,有递推关系(a_n - 2a_{n-1} = 1, a_0 = 0),求(a_n)。解题过程如下:
所以,易知解为(a_n = 2^n - 1)
五 用母函数求解计数问题
5.1 母函数求解组合数
({M_1 cdot a_1, M_2 cdot a_2, ..., M_k cdot a_k})的(r)可重组合的母函数为
则(x^r)前的系数就是所求(r)可重组合数
当(M_i = 1)时,({a_1, a_2, ..., a_k})的(r)无重组合数的母函数为
同样,(x^r)前的系数就是所求(r)无重组合数
当(M_i = infty)时,({infty cdot a_1, infty cdot a_2, ..., infty cdot a_k})的(r)可重组合数的母函数为
同样,(x^r)前的系数就是所求
用母函数求解组合数应用举例。
把4个相同的球放入5个不同的盒子里,要求第一、二、三每盒最多不超过1个,第四、五每盒最多不超过2个,求方法数的母函数
展开式中(x^4)的系数为所求
5.2 母函数求解排列数
对于序列(a_0, a_1, ..., a_n, ...),函数
称为序列(a_0, a_1, ..., a_n, ...)的指数型母函数。
与上述的使用母函数求解组合数类似,用母函数求解排列数有如下定理:
令(S={M_1 cdot a_1, M_2 cdot a_2, ......, M_k cdot a_k}),(h_n)是(S)的(n-)排列数,则序列(h_0, h_1, ......, h_n, ......)的指数型母函数(G_e(x))为
因此,当(n=M_1 + M_2 + ... +M_k)时,则(x^n)的系数为全排列数
六 整数拆分问题
将(n)个物体全部分配到(m)个位置上的问题,根据物体和位置是否有区别可分为:
- 整数的有序拆分(物体相同,位置不同)
- 整数的无序拆分(物体相同,位置相同)
- 集合的有序拆分(物体不同,位置不同)
- 集合的无序拆分(物体不同,位置相同)
6.1 整数的有序拆分
对于整数的有序拆分,若不允许有空位出现,则拆分数(C_m(n))为
若允许出现空位,则拆分数(B_m(n))为
6.2 整数的无序拆分
对于整数的无序拆分,若允许有空位,则分配数为下列母函数展开式中(x^n)的系数
若不允许有空位,则分配数为下列母函数展开式中(x^n)的系数
6.3 集合的有序拆分
对于集合的有序划分,若允许有空位,则分配方案数为(m^n)。
若不允许有空位,则分配方案数为
6.4 集合的无序拆分
对于集合的无序划分,若允许有空位存在,则分配方案数为
若不允许空位的存在,则分配方案数为