母函数与递推关系

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二章母函数与递推关系组合数学§2.1母函数递推关系是计数的一个强有力的工具,特别是在做算法分析时是必需的。递推关系的求解主要是利用母函数。当然母函数尚有其他用处,但这主要是介绍解递推关系上的应用。例如1)-1-(2)()(1)1()1)(1(212131212121nnnnnnxaaaxaaaaaaxaaaxaxaxa§2.1母函数项的系数中所有的项包括n个元素a1,a2,…an中取两个组合的全体;同理项系数包含了从n个元素a1,a2,…an中取3个元素组合的全体。以此类推。2xnnaaaaaa13121§2.1母函数若令a1=a2=…=an=1,在(2-1-1)式中项系数:中每一个组合有1个贡献,其他各项以此类推。故有:2xnnaaaaaa131212)-1-(2),()2,()1,(1)1(2nnxnnCxnCxnCx§2.1母函数另一方面:nmnmxxx)1()1()1(nmmmnxnmnmCxnmCnmCxxmmCxmCmCxnnCxnCnC),()1,()0,([]),()1,()0,([]),()1,()0,([1§2.1母函数比较等号两端项对应系数,可得一等式)0,(),()1,()1,(),()0,(),(nCrmCrnCmCrnCmCrnmC§2.1母函数同样对于,(设),用类似的方法可得等式:mnxx)/11()1(mn3)-1-(2)0,()0,()0,()0,()0,()0,(),(mCnCmCnCmCnCmnmCnmmmnxxxx)1()/11()1(正法如下:§2.1母函数比较等式两端的常数项,即得公式(2-1-3)nmmmnxnmnmCxnmCxnmCnmCxxmmCxmCmCxnnCxnCnC),()2,()1,()0,([]),()1,()0,([]),()1,()0,([21§2.1母函数又如等式:nxnnCxnCxnCnCx),()2,()1,()0,()1(2令x=1可得4)-1-(22),()2,()1,()0,(nnnCnCnCnC§2.1母函数(2-1-2)式等号的两端对x求导可得:5)-1-(22),()3,(3)2,(2)1,(1nnnnnCnCnCnC等式(2-1-5)两端令x=1,得:5)-1-(22),()3,(3)2,(2)1,(1nnnnnCnCnCnC§2.1母函数用类似的方法还可以得到:132)1(),()3,(3)2,(2)1,(nnxnxxnnnCxnCxnCxnC7)-1-(22)1(),()3,(3)2,(2)1,(2222nnnnnCnnCnCnC定义:对于序列构造一函数:§2.1母函数还可以类似地推出一些等式,但通过上面一些例子已可见函数在研究序列的关系时所起的作用。对其他序列也有同样的结果。现引进母函数概念如下:nx)1(),(,),1,(),0,(nnCnCnC,,,,210aaa,)(2210xaxaaxG,,,210aaa称函数G(x)是序列的母函数序列可记为。如若已知序列则对应的母函数G(x)便可根据定义给出。反之,如若以求得序列的母函数G(x),则该序列也随之确定。§2.1母函数例如nx)1(),(,),1,(),0,(nnCnCnC,,,,210aaa,,,,210aaa}{na§2.2递推关系利用递推关系进行计数这个方法在算法分析中经常用到,举例说明如下:例一.Hanoi问题:这是个组合数学中的著名问题。N个圆盘依其半径大小,从下而上套在A柱上,如下图示。每次只允许取一个移到柱B或C上,而且不允许大盘放在小盘上方。若要求把柱A上的n个盘移到C柱上请设计一种方法来,并估计要移动几个盘次。现在只有A、B、C三根柱子可用。§2.2递推关系Hanoi问题是个典型的问题,第一步要设计算法,进而估计它的复杂性,集估计工作量。算法:N=2时第一步先把最上面的一个圆盘套在B上第二步把下面的一个圆盘移到C上最后把B上的圆盘移到C上到此转移完毕ABC§2.2递推关系对于一般n个圆盘的问题,假定n-1个盘子的转移算法已经确定。先把上面的n-1个圆盘经过C转移到B。第二步把A下面一个圆盘移到C上最后再把B上的n-1个圆盘经过A转移到C上ABC§2.2递推关系上述算法是递归的运用。n=2时已给出算法;n=3时,第一步便利用算法把上面两个盘移到B上,第二步再把第三个圆盘转移到柱C上;最后把柱B上两个圆盘转移到柱C上。N=4,5,…以此类推。§2.2递推关系算法分析:令h(n)表示n个圆盘所需要的转移盘次。根据算法先把前面n-1个盘子转移到B上;然后把第n个盘子转到C上;最后再一次将B上的n-1个盘子转移到C上。n=2时,算法是对的,因此,n=3是算法是对的。以此类推。于是有§2.2递推关系算法复杂度为:1)-2-(21)1(,1)1(2)(hnhnh,)3()2()1()(32xhxhxhxHH(x)是序列的母函数。给定了序列,对应的母函数也确定了。反过来也一样,求得了母函数,对应的序列也就可得而知了。当然,利用递推关系(2-2-1)式也可以依次求得,这样的连锁反应关系,叫做递推关系。),3(),2(),1(hhh),3(),2(hh§2.2递推关系下面介绍如何从(2-2-1)式求得母函数H(x)的一种形式算法。所谓形式算法说的是假定这些幂级数在作四则运算时,一如有限项的代数式一样。,)3()2()1()(32xhxhxhxH,)2(2)1(2-)(2)xhxhxxH_____________________________________32)]2(2)3([)]1(2)2([)1()()21(xhhxhhxhxHx§2.2递推关系根据(2-2-1),,1)2(2)3(,1)1(2)2(,1)1(hhhhh)1/()()21(32xxxxxxHx或利用递推关系(2-2-1)有1)1(2)2(:2hhx1)2(2)3(:3hhx)_____________________________________)1/()(2)(2xxxxHxxH§2.2递推关系上式左端为:xxHxhxHxhxh)()1()()3()2(32右端第一项为:)(2x])2()1([2)2(2)1(2232xHxhxhxxhxh右端第二项为:)1/(232xxxx§2.2递推关系整理得xxxxxxHx11)()21(2)21)(1()(xxxxH这两种做法得到的结果是一样的。即:§2.2递推关系令)21)(1(2)21(1()1()21(211)(xxB)xAB)-((AxxxBxAxBxAxHxxBABA)2()(如何从母函数得到序列?下面介绍一种化为部分分数的算法。),2(),1(hh§2.2递推关系由上式可得:.1,1BA即:12BA{0BA123322)12()12()12()12()1()2221(11211)(kkkxxxxxxxxxxxxH§2.2递推关系因为:1)()(kkxkhxH12)(kkh§2.2递推关系例2.求n位十进制数中出现偶数个5的数的个数。先从分析n位十进制数出现偶数个5的数的结构入手是n-1位十进制数,若含有偶数个5,则取5以外的0,1,2,3,4,6,7,8,9九个数中的一个,若只有奇数个5,则取,使成为出现偶数个5的十进制数。121nppp1np121nppp5npnnpppp121§2.2递推关系解法1:令位十进制数中出现5的数的个数,位十进制数中出现奇数个5的数的个数。nannbn故有:119nnnbaa119nnnabb{1,811ba)222(也有类似解释。§2.2递推关系(2-2-2)式中的表达了含有偶数个5的n位十进制数的两个组成部分。表达由含有偶数个5的n-1位十进制数,令取5以外的0,1,2,3,4,6,7,8,9九个数中的一个数构成的。项表示当是含有奇数个5的n-1位十进制数,令而得是含偶数个5的n位十进制数。119nnnabb119nnnbaa19na121npppnp1nb121nppp5npnppp21(2-2-2)是关于序列和的连立关系。§2.2递推关系设序列的母函数为,序列的母函数为。}{na}{nb}{na)(xA}{nb)(xB22122123212321)()99)(9)()(xbxbxxBxaxaxxAxbxbbxBxaxaaxA即:______________________________8)()()91(xxBxAx§2.2递推关系承前页:)9:9:9:33432232112baaxbaaxbaax______________________)()(98)(xxBxxAxA8)()()91(xxBxAx§2.2递推关系又:______________________1)()()91(xxAxBx故得关于母函数和得连立方程组:)(xA)(xB1)()91()(8)()()91(xBxxxAxxBxAx{2212212321)()99)(9)(xaxaxxAxbxbxxBxbxbxbxB§2.2递推关系xxxxD9191xx)91(280181xx)101)(81(xx)101)(81(8719118801811)(2xxxxxxxxA)101)(81(11891)101)(81(1)(xxxxxxxxB§2.2递推关系0)10987(21)1019817(21)(kkkkxxxxA111029827kkka§2.2递推关系解法二:n-1位的十进制数的全体共从中去掉含有偶数个5的数,余下的便是n-1位中含有奇数个5的数。故有:2109n121111099nnnnnnabbaa8,1098121aaannn§2.2递推关系令221232188)(8))(xaxaxxAxaxaaxA______________________22312)8()8(8)()81(xaaxaaxAx§2.2递推关系xxxxxxxAx1017181019810998)()81(20)10987(21)1019817(21)101)(101(718)(kkkkxxxxxxxA111029827kka1)不出现某特定元素设为,其组合数为,相当于排除后从中取r个做允许重复的组合。§2.2递推关系例三:从n个元素中取r个进行允许重复的组合。假定允许重复的组合数用表示,其结果可能有以下两种情况。naaa,,,21),(rnC1a),1(rnC1anaa,,2§2.2递推关系2)至少出现一个,取组合数为相当于从中取r-1个做允许重复的组合,然后再加上一个得从n个元素中取r个允许重复的组合。1a)1,(rnC1anaaa,,,21依据加法原则可得

1 / 356
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功