第三章 生 成 函 数课件.ppt
《第三章 生 成 函 数课件.ppt》由会员分享,可在线阅读,更多相关《第三章 生 成 函 数课件.ppt(190页珍藏版)》请在三一办公上搜索。
1、第三章 生 成 函 数,3.1 Fibonacci数列的生成函数 3.2 生成函数的一般性讨论 3.3 组合的生成函数 3.4 排列的生成函数 3.5 Catalan数列与Stirling数列的生成函数 3.6 分配问题 3.7 整数n分为m个类的(无序)拆分数Pmn 3.8 n的拆分数Pn的生成函数 3.9 整数n分为以h为最小类的拆分数 3.10 有序拆分,3.1 Fibonacci数列的生成函数,从 出发,推证二项式系数的若干等式,这给问题的讨论带来了许多方便。将数列 与函数 联系起来的做法,称做“生成函数(generating function)方法”。 由于将(1+x)n展开即可得到
2、所有的 , 因此, 常称 为(有限或无限)数列ak(k=1, 2, )的生成函数或母函数。,意大利数学家Fibonacci在13世纪初提出过如下一个有趣问题: 年前养了一对小兔(雌雄各一),这对兔子中的母兔从2月份开始每月都产下一对雌雄各一的小兔。每对新生小兔间隔一月后也开始每个月都产下一对新的小兔(雌雄各一)。如是而下, 假定兔子都不死亡,问一年后共有多少对兔子? 假定年前为0月份, 年后为13月, 不难推算各月兔子对数为 : 月份: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 兔子对数: 1, 1, 2, 3, 5, 8, 13, 21, 3
3、4, 55, 89, 144, 233, 377, ,著名的Fibonacci数列由此而得名。这一数列的增长速度是很快的。其中,第二年年底兔子有50 000对,第三年年底兔子有15 000 000对,第55项就超过了1万亿对。若设Fn为第n个月所有的兔子对数,则由各月兔子数不难证得如下递推式成立:,(3.1.1),下面求Fibonacci数列的生成函数F(x):,由此得,(3.1.2),此即Fibonacci数列的生成函数。因1-x-x2的二根为,于是,因此,(3.1.3),(3.1.4),由此表示式可以推出Fibonacci数列的组合学意义如下:,命题 1 Fn等于集合Zn-1=1, 2,
4、, n-1中不含相继整数的子集的个数。例如,Z3=1, 2, 3的这种子集有 ,1 ,2,3, 1,3, 共F4=5个。 证明 令f(n, k)表示Zn=1, 2, , n中不含相继整数的k元子集的个数。设i1,i2,ik为此种子集,其中i1 i2 ik ,由不相继性知is-is-12,于是若记js=is-s,则必有js-js-1,反之由js js-11也可推出is-is-1 2。易证全体i1, i2, , ik与j1, j2, , jk 之间构成一双射函数。 注意到,j1=i1-10jk=ik-kn-k,可见, j1, j2, , jk为集合0, 1, , n-k的一个k元子集,这种子集的个
5、数为C(n-k+1, k)故f(n, k)=C(n-k+1, k),由此得,表示Zn中不含相继整数的子集数。亦即,表示集合Zn-1中不含相继整数的子集的个数。,命题 2 f*(n, k)表示不含圈(1, 2, , n, 1)中相继整数的k元子集的个数,则不含圈(1, 2, , n, 1)中相继整数的所有子集数为,其中Fn*有时也称为校正的Fibonacci数列。,证明 将满足条件的k元子集分成两类,第一类不包含n,第二类包含n。显见第一类k元子集在(1, 2, , n-1)中选取,计有f(n-1, k)种取法;第二类k元子集必不包含1与n-1, 故除去n外,余下k-1个元必须在2, 3, ,
6、n-2中选取,其取法计有f(n-3, k-1)种。 因此,从而,(1) Fn+m=FmFn+Fm-1Fn-1。证明,(3.1.5),(3.1.6),直接由递推关系式(3.1.1)不难推得,(3.1.7),(3.1.8), 下面利用(3.1.1)式给出求Fibonacci数列的算法: 1 输入n; 2 F0 1; F1 1; 3 对k=0, n/2 打印F0, F1; F0 F0+F1; F1F1+F0;4 结束。, 求Fibonacci数列亦可采用递归算法, 主要语句如下: if n=0 or n=1 then F(n)=1 else F(n)=F(n-1)+F(n-2),3.2 生成函数的一
7、般性讨论,定义 1 设gk(x)(k=0, 1, 2, )线性无关,则称,为ak(k=0, 1, 2, )的生成函数。,(3.2.1)式称为关于未定元x的形式幂级数,它是从代数学观点引入的。对于实数R上的数列ak及R上的未定元x,称表达式(3.2.1)为R上的形式幂级数。一般情况下,形式幂级数中的x只是一个抽象符号,并不需要对x赋予具体数值,从而避开了讨论级数收敛性的问题。,(3.2.1),R上关于未定元x的形式幂级数的全体记为R(x)。在集合R(x)中适当定义加法(+)和乘法(), 则(R(x), +, )构成环。该环中的元素即为形式幂级数。 设 若对任意k0,有ak=bk,则称A(x)与B
8、(x)相等,记为,A(x)=B(x),为与A(x)的数乘积。,设A(x)、B(x)定义如上,则可定义二幂级数的加法运算为,并可根据gk(x)的不同形式定义A(x)与B(x)的乘积(如下面的定义3)。 在环(R(x), +, )上,还可定义形式幂级数的形式导数。对 , 规定,称DA(x)为A(x)的形式导数。,A(x)的n次形式导数可以递归地定义为D0A(x)=A(x)DnA(x)=D(Dn-1A(x), n1,可证,形式幂级数的形式导数满足如下规则: (1) D(A(x)+B(x)=DA(x)+DB(x); (2) D(A(x)B(x)=A(x)DB(x)+B(x)DA(x); (3) DAn
9、(x)=nAn-1(x)DA(x)。,生成函数有如下几种:(1) 取gk(x)=xk, 则有,此式常称为寻常或普通(Ordinary)型生成函数。,(2) 取gk(x)=xk/k!, 则有,此式常称为指数(Exponential)型生成函数。,(3) 取gk(x)=1/kx, 则有,此式即为Dirichlet生成函数。,(4) 取gk(x)=xk, 则有,此式常称为下阶乘生成函数。,定义 2 设A(x), B(x)分别为ak与bk的生成函数,则A(x)+B(x)=C(x)为cn的生成函数,其中:,ck=ak+bk,定义 3 设A(x), B(x)分别为ak与bk的生成函数,则A(x)B(x)=
10、C(x)为cn的生成函数,其中: (1) 在寻常生成函数 的情形下,有,(2) 在指数型生成函数 的情形下, 有,(3) 在Dirichlet生成函数 的情形下, 有,(1),证明 令B(x)=b0+b1x+b2x2+bm-1xm-1+bmxm+bm+1xm+1+, 据前提知,(2),证明,据假设知,例 2 设,(3),证明 由假设,等式左端相加, 显见为。 等式右端相加, 得,故,类似可得,证明 因 收敛,故bk存在。下面考察B(x)中xk的系数(k=0, 1, 2, )。,从而,(5),例 4,(6),(7),例 5 设A(x)=1+x+x2+=1/(1-x), B(x)=x+2x2+3x
11、3+=x/(1-x)2, 且,易知,3.3 组合的生成函数,与组合问题有关的计数常使用寻常生成函数。 命题 设多重集S=r1e1, r2e2, , rmem, 且r1 + r2 + rm=n, 则S的k可重组合数ck对应序列ck的生成函数为,其中,k可重组合数ck为G(x)展开式中xk的系数。,证明 令G(x)中各的项分别对应诸元素的某种可能取法。 例如, 对i=t, xr表示元素et选取了r次。依次类推。 显见G(x)展开式中的项xk具有一般形式,其中,k1+k2+km=k, 0kiri, i=1, 2, , m,对此方程的一非负整数解(k1,k2, , km)(在前提0kiri, i=1,
12、 2, , m下),乘积就对应了诸元素e1, e2, , em的一种可重取法。合并同类项后,xk的系数就表示了从多重集S中取出k个元素的所有可能的可重组合数ck。,推论 1 设S=e1, e2, , em,则S的k可重组合数ck对应序列ck的生成函数为G(x)=(1+x)m其组合数ck为G(x)展开式中xk的系数,推论 2 设S=e1, e2, , em,则S的k(无限)可重组合数ck对应序列ck的生成函数为,其组合数ck为G(x)展开式中xk的系数C(m+k-1, k)。 推论2无0kiri, i=1, 2, , m限制,由2.6节中例10即知ck=C(m+k-1, k),推论 3 设S=e
13、1, e2, , em,则S的每个元素至少取一次的k(无限)可重组合数ck(km)对应序列ck的生成函数为,其组合数ck为G(x)展开式中xk的系数C(k-1, m-1)。这是由于,推论 4 设S=e1, e2, , em,且S的每个元素出现非负偶数次,则S的k(无限)可重组合数ck对应序列ck的生成函数为,其组合数ck为G(x)展开式中xk的系数,即,推论 5 设S=e1, e2, , em,则S的每个元素出现奇数次的k(无限)可重组合数ck对应序列ck的生成函数为,其组合数ck为G(x)展开式中xk的系数,即,推论 6 设S=e1, e2, , em,若限定元素ei出现的次数集合为Pi(1
14、in),则从S中取出k个元素的组合数ck对应序列ck的生成函数为,推论 7 设多重集S=r1e1, r2e2, , rmem,且r1+r2+rm=n,则S中的每个元素ei至少出现ki(i=1, 2, , m)次的r可重组合数cr对应序列cr的生成函数为,其组合数cr为G(x)展开式中xr的系数, r=k, k+1, , n; k=k1+k2+km。,例 1 求不定方程k1+k2+k3+k4=20的解组数。其中,限制k1可取0,2,4;k2可取1,3,5;k3可取6,7;k4可取8,9。 解 设不定方程 的解组数目为ck,本例中m=4, k=20。注意到对ki(i=1, 2, 3, 4)的限制,
15、序列ck对应的生成函数为G(x)=(1+x2+x4)(x+x3+x5)(x6+x7)(x8+x9)由G(x)展开式中x20的系数知题给不定方程解组数目为c20=6。,注意,有时会因对ki的限制使ck取值为0。例如,对S=a, b, c,若限制a可重复1,3,5次;限制b可重复2,4,6次;限制c必须出现6次,则由G(x)=(x+x3+x5)(x2+x4+x6)x6虽可求出c9=c17=1, c11=c15=2,c13=3, 但对小于9及偶数的k, ck的取值全为0。,例 2 求S=3a, 4b, 5c的10组合数。 解 设S的k组合数为ck,则ck对应的生成函数为,展开式中x10的系数,即S的
16、10组合数为6。,例 3 设有5个红球和8个黄球,要求每次取出不少于2个红球和偶数个黄球,求所有的组合方式数。 解 组合方式数对应序列的生成函数为,因此,总的组合方式数为1+1+28+1+1=20。,若考虑同色球各不相同或加有标记,这时可分别设红球与黄球取法所成序列的生成函数为A(x)与B(x)。 易知,从而,C(x)展开式中xk的系数即为每次取出k个球的组合方式数,总的组合方式数目为所有系数之和。,例 4 设有红球2个, 黑、 白球各1个, 问 (1) 共有多少不同的选取方法?试加以枚举。 (2) 若每次从中任取3个, 有多少种不同取法? 解 (1)设用r,b,w分别代表红、黑、白三种球,两
17、个红球的取法与r0, r1, r2对应,即红球的可能取法与1+r+r2中r的各次幂一一对应,亦即r0=1表示不取红球,r表示取1个红球,r2表示取2个红球。对其它球, 依此类推法, 则不同选取方法数所成序列对应的寻常生成函数为,分析上式, 不难发现 1: 一个球都不取, 仅有一种方案; r+b+w: 取1个球的方案有3种, 分别为红, 黑, 白; r2+rb+rw+bw:取2个球的方案有4种,分别为红红,红黑,红白, 黑白; r2b+r2w+rbw:取3个球的方案有3种,即2红1黑,2红1白,三色球各取其一; r2bw:取4个球的方案仅1种,即所有球全取。 若令r=b=w=1,即可求得所有不同
18、的选取方案总数为G(1, 1, 1)=1+3+4+3+1=12,(2) 若只考虑每次取3个球的方案数,而不需枚举,则可令r=b=w=x。写出G(x)=(1+x+x2)(1+x)2=1+3x+4x2+3x3+x4由x3的系数知所求方案为3种。,例 5 18张参观券分发给a, b, c, d四个小组,其中各组分配票数ra, rb, rc, rd分别为1ra5, 1rb6, 2rc7, 4rd10。 求所有不同的分配方案数。 解 这实际上相当于由a, b, c, d四类共5+6+7+10=28个元素中可重复地取18个元素的组合问题。各类球取法的下界ki(i=1,2,3,4)分别为1, 1, 2, 4
19、;上界ri分别为5, 6, 7, 10。 m=4, n=18。 由推论6知相应的生成函数为,由x18前的系数知,共有140种分配方案。,若将票数改为n=4,各组所分票下界数改为ki=0(i=1, 2, 3, 4), 上界不变,这时,与,中x4的系数是一样的,但用G2(x)求解要比用G1(x)求解方便得多。,同理,当n=6时, 可以用,来代替G1(x)求x6的系数。,例 6 求一粒骰子连续投掷两次, 出现点数之和为10的概率。 解 设骰子各点出现的概率均等。 解法 1 投掷一次出现的点数有6种,连续投掷两次所得点数共有66=36种可能。 由枚举法, 两次投掷出现点数之和为10的方案恰有3种: (
20、4, 6), (5, 5), (6, 4), 故出现点数之和为10的概率为3/36=1/12。,解法 2 依题意,投掷骰子出现点数所成序列的生成函数为,由x10的系数为3知有3种点数之和为10的方案,故知所求概率为3/36=1/12。 初看解法二比解法一要复杂一些,但若将问题改为一粒骰子连续投掷10次,求出现点数之和为30的概率时,解法二就显得有力多了。 这时,不难算得x30前的系数为 2 930 455, 故所求概率为,3.4 排列的生成函数,当涉及到与排列有关的问题时,通常使用指数型生成函数。 由于 , 可见 或nk的生成函数为(1+x)n。 因G(x)=(1-x)-1=1+x+x2+,故
21、其为序列1, 1, 1, 的寻常生成函数。又因 , 显见序列1, 1, 1, 的指数型生成函数为Ge(x)=ex。,命题 1 若元素e1可重复1, 2, 次,元素e2可重复1, 2, 次,元素em可重复1, 2, 次,则m元集的这种k可重排列数Pk对应序列Pk的生成函数为,事实上,上式右端等于,由多项式系数的组合学意义知,(k!/ i1 ! i2 ! im !)正是元素e1出现i1次,元素e2出现i2次,元素em出现im次的k可重排列数。故按所有可能的i1+i2+ im =k求和,即得总的k排列数Pk。,推论 1 设S=e1, e2, , em,若元素ei(i=1, 2, , m)重复出现的次
22、数构成集合i,则集S中元素的这种k可重排列数Pk对应序列Pk的生成函数为,k可重排列数Pk为G(x)展开式中xk/k!的系数。,推论 2 设m元多重集S=r1e1, r2e2, , rmem,且r1+ r2 + rm =n,则S的k可重排列数Pk对应序列Pk的指数型生成函数为,其中,k可重排列数Pk为Ge(x)展开式中xk/k!的系数(k=0, 1, 2, )。,例 1 3个红球,2个黄球,3个蓝球,每次从中取出4个排成一列, 求排列方案数。 解 m=3, r1=3, r2=2, r3=3, k=4, 由推论2知,故知,从所给n色球中取出4个的排列方案有70种。 类似于组合问题, 令,从中可以
23、看出,取1个球的3种排列方案为:r, y, b,即红,黄, 蓝分别取其一; 取2个球的9种排列方案为:rr, yy, bb, ry, rb, by, yb, yr, br。,推论 3 设S=r1e1, r2e2, , rmem,则S中元素的k(无限)可重排列数Pk对应序列Pk的指数型生成函数为,其中,k排列数Pk为xk/k!的系数mk。,推论 4 特别地,若每个元素ei至少出现一次(这时有kn), 则 Ge(x)=(ex-1)m,从中取出k个元素的可重排列数,事实上,因每个元素至少出现一次的k排列数Pk的生成函数为,故有,应用如下几个算子:差分算子: f(x)=f(x+1)-f(x)移位算子E
24、: Ef(x)=f(x+1)恒等算子I: If(x)=f(x)上式之Pk可以简写成,定义移位算子Ea:Eaai=ai+1, Ebbi=bi+1,任一指数生成函数可写成,同样,于是,因此若,则,此即3.2节中的(3.2.8)式。 上述过程可以更简洁地写成,A(x)=eax, aiaiB(x)=ebx, bibicn=(a+b)n, aiai, bibi,后一式表示将(a+b)n按通常方式展开,再易ai为ai, 易bi为bi。,命题 2 (Bernoulli求和公式),证明 记Ef(x)=f(x+1)为移位算子,If(x)=f(x)为恒等算子,f(x)=f(x+1)-f(x)为差分算子,不难证得=
25、E-I。于是,由此可见,此式两边算子施于f(1),即得所证。,Bernoulli求和公式一般用于f(x)为多项式的场合,此时f(x)的高阶差分等于零。如对f(x)=x3, 逐次计算if(x),如下所示:,k 1 2 3 4 5 f(k) 1 8 27 64 125f(k) 7 19 37 612f(k) 12 18 243f(k) 6 64f(k) 0,于是,f(1)=1, f(1)=7, 2f(1)=12, 3f(1)=6,4f(1)=5f(1)=0,应用求和公式即得,推论 5 设S=r1e1, r2e2, , rmem,若要求元素ei至少取ki个( ki 0),则这种排列数形成序列的生成函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 数课件 第三 课件

链接地址:https://www.31ppt.com/p-1843148.html