生成函数

定义


生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。
生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。
最早提出母函数的人是法国数学家LaplaceP.S.在其1812年出版的《概率的分析理论》中明确提出“生成函数的计算”,书中对生成函数思想奠基人——Euler L在18世纪对自然数的分解与合成的研究做了延伸与发展。生成函数的理论由此基本建立。
另外生成函数也广泛应用于编程与算法设计、分析上,运用这种数学方法往往对程序效率与速度有很大改进。

例如我们有一个数组{an}=a1,a2,a3……我们设他的生成函数为

G(x)=a0+a1x+a2x2+a3x3+......=k=0nakxk G ( x ) = a 0 + a 1 x + a 2 x 2 + a 3 x 3 + . . . . . . = ∑ k = 0 n a k x k

其中x只是形式上的变量,其实上面就是一个多项式,如果 an0 a n ≠ 0 ,那么这就是一个n次多项式。

例子


我们举一个简单的例子,对于一个无穷数列{1,1,1,1,1……}的生成函数为 A(x)=1+x+x2+x3+......=11x A ( x ) = 1 + x + x 2 + x 3 + . . . . . . = 1 1 − x 。为了研究方便,通常假定生成函数是收敛的。即对于本例,我们假定 |x|<1 | x | < 1

我们这里引入一个二项式定理:

(x+y)n=k=0nCknxkynk ( x + y ) n = ∑ k = 0 n C n k x k y n − k

那么我们该如何用组合的角度来理解这个式子

应用


甲、乙、丙分别有3,4,6个苹果,李华要拿取8个,且只能从甲、乙那里拿奇数个,从丙那里拿偶数个(包含0),请问有多少种取法?
在学过多项式之前,我们只能用组合数学来做这题,但是会非常非常的麻烦。
那么我们考虑引入多项式: (x+x3)(x+x3)(1+x2+x4+x6) ( x + x 3 ) ( x + x 3 ) ( 1 + x 2 + x 4 + x 6 )
其中第一个括号代表甲第二个代表乙第三个代表丙,x的幂数代表要取的个数。
那么仔细一想是不是只要将多项式展开, x8 x 8 的系数就是方案数。
是不是很奇妙!!!!
什么??你问怎么展开???
等比数列求和会不会,什么不会???高中会学的,自己去看……QWQ

再来一题好不啦
从苹果、香蕉、橘子和梨中拿一些水果出来(允许某种拿0个),要求苹果只能拿偶数个,香蕉的个数是5的倍数,橘子最多拿4个,梨要么不拿,要么只能拿一个。求拿n个水果的方案数。

自己根据上面的方法写出多项式并化简
最后得到:

1+2x+3x2+4x3+......=k=0(k+1)xk 1 + 2 x + 3 x 2 + 4 x 3 + . . . . . . = ∑ k = 0 ∞ ( k + 1 ) x k

即方案数就是(n+1)种 惊不惊喜 意不意外

tips:有一些无法用数列化简的可以用求导化简(等式两边同时求导,等式仍然成立)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值