ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

生成函数初步

2021-07-23 21:03:15  阅读:165  来源: 互联网

标签:frac 函数 sum 生成 初步 通项 ......


生成函数

简介

生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。最早提出母函数的人是法国数学家LaplaceP.S.在其1812年出版的《概率的分析理论》中明确提出。 生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。 生成函数的应用简单来说在于研究未知(通项)数列规律,用这种方法在给出递推式的情况下求出数列的通项,生成函数是推导Fibonacci数列的通项公式方法之一。 另外生成函数也广泛应用于编程与算法设计、分析上,运用这种数学方法往往对程序效率与速度有很大改进。

(——百度百科)


普通生成函数

定义

对于任意数列\(a_0,a_1,a_2...a_n\) 即用如下方法与一个函数联系起来:

img

则称G(x)是数列的生成函数(generating function)。

例子

比较典型的是:

img

序列\(a\)的普通生成函数(ordinary generating function,OGF)定义为形式幂级数:

\[F(x)=\sum_na_nx^n \]

\(a\)既可以是又穷序列,也可以是无穷序列。我们可以举个例子:(我们规定\(a\)以0为起点)

  • 1.序列\(a=\{1,2,3\}\)的普通生成函数:\(1+2x+3x^2\)
  • 2.序列\(a=\{1,1,1,...\}\)的普通生成函数:\(\sum_{n>=0}x^n\)
  • 3.序列\(a={1,2,4,6,8,...}\)的生成函数是:\(\sum_{n>=0}2^nx^n\)
  • 4.序列\(a={1,3,5,7,9,...}\)的生成函数是:\(\sum_{n>=0}(2n+1)x^n\)

我们可以这样来理解:每一项的此方项(幂级数)的前面的系数可以这样表示:假设这个序列有通项公式,那么其系数即为通项公式的地n项。


基本运算

谈到基本运算,相信大家都会和我一样想起实数集的四则运算,那么诚实地说,生成函数也是有的(数学家都喜欢这样类比......)

考虑两个序列:\(a,b\)的普通生成函数,分别记为\(F(x),G(x)\)。那么我们有如下运算——

\[F(x)\pm G(x)=\sum_n(a_n\pm b_n)x^n \]

因此我们可以说:\(F(x)\pm G(x)\)是序列\(\{a_n\pm b_n\}\)的生成函数。

那么我们不由得联想乘法:也就是被称为卷积的运算。

\[F(x)G(x)=\sum_nx^n\sum^n_{i=0}a_ib_n-i \]

那么同样从公式来看:\(F(x)G(x)\)就是序列\(\{\sum_{i=0}^na_ib_n-i\}\)的生成函数

封闭形式(可以看作一种变换手段)

在运用生成函数时,我们有时不想一直使用形式幂级数的形式,所以我们就有了封闭形式用来化简。

举个例子:

\(\{1,1,1,...\}\)普通生成函数:\(F(x)=\sum_{n>=0}x^n\),我们会发现(可能看不出来,所以我告诉你<_<)

\[F(x)x+1=F(x) \]

那么我们来化简一下这个方程:

\[F(x)=\frac{1}{1-x}(这很显然......) \]

我们就称上面这个式子叫\(\sum_{n>=0}x^n\)的封闭式。(擦,其实就是通项公式而已......我知道你们看到这里估计已经在直呼**了)

那么我们就用一下我们经常见到的序列来展示一下生成函数的威力和他美妙的地方:

斐波那契(Fibonacci sequence)

Fibonacci sequenced是定义的以下一个数列:\(a_0=1,a_1=1,a_n=a_n-1+a_n-2(n>1)\)那么,我们设他的普通生成函数叫\(Fib(x)\),根据他的递推形式,我们得到以下方程:

\[Fib(x)=xFib(x)+x^2Fib(x)-a_0x+a_1x+a_0 \]

如何理解他呢?我做出如下解释:

\[xFib(x),根据生成函数幂次项的定义(指数大小表示项数),那么我们会发i西安,这个式子意思:将Fib数列整体右移一项\\ x^2Fib(x)右移两项\\ 相信后面的3项大家就懂了 \]

可以这样写的原因:\(Fib(x)\)本质上是无穷多的,那么我们整体向右拓展2,他仍然是无穷的,可以理解为无影响(极限思想,我知道大家都懂的。只是为了水字。(上一句是假的))。

那么同理,他的封闭形式:

\[Fib(x)=\frac{x}{1-x-x^2} \]

那么我们就开始求他的展开式了(求他的\(a_n\)的通项公式,也就是反推Fib通项公式)

Fibonacci sequence的展开(1)

我们设\(x+x^2\)为一个整体,那么:

\[\begin{align} F(x)&=\frac{x}{1-(x+x^2)}\\ &=\sum_{n>=0}(x+x^2)^n\\ &=\sum_{n>=0}\sum_{i=0}^n\tbinom{n}{i}x^{2i}x^{n-i}\\ &=\sum_{n>=0}\sum_{i=0}^n\tbinom{n}{i}x^{n+i}\\ &=\sum_{n>=0}x^n\sum^n_{i=0}\tbinom{n-i}{i} \end{align} \]

Fibonacci sequence的展开(2)

这个是一种可以理解为暴力的做法:借一个待定系数方程组:

\[\frac{A}{1-ax}+\frac{B}{1-bx}=\frac{x}{1-x-x^2} \]

通个分:

\[\frac{A-Abx+B-aBx}{(1-ax)(1-bx)}=\frac{x}{1-x-x^2} \]

待定系数列方程组:

\[\left\{ \begin{array}{**lr**} A+B=0 \\ -Ab-aB=0\\ a+b=1\\ ab=-1 \end{array} \right. \]

各位解方程组吧,我就给个答案了:

\[\left\{ \begin{array}{**lr**} A=\frac{1}{\sqrt{5}}\\ B=-\frac{1}{\sqrt{5}}\\ a=\frac{1+\sqrt5}{2}\\ b=\frac{1-\sqrt5}{2} \end{array} \right. \]

(不管你们解没解,反正我裂开了......)

那么我们接下比例展开(贼劲爆):

\[\frac{x}{1-x-x^2}=\sum_{n>=0}x^n\frac{1}{\sqrt5}((\frac{1+\sqrt5}{2})^n-(\frac{1-\sqrt5}{2})^n) \]

这个就是所谓的斐波那契第二封闭形式(我起的名字......)(第一个在哪?你向上翻一下一下就明白了......)


其实,只要你数学够好,只要是通项公式,你都可以用生成函数干出来,这个是数学上一个非常nb的工具。(分局OI_WIKI,后面还有什么牛顿二项式和卡特兰数,这两个确实太难了,我就不写了,大家有空可以网上找一下,如果真的想看......留个评论,我来补QwQ)

指数生成函数

留个坑,以后补,今天裂开了......(2021,07,23)(如果真的想看的话,评论一下我就来搞......感谢支持了)

标签:frac,函数,sum,生成,初步,通项,......
来源: https://www.cnblogs.com/fallingdust/p/15051573.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有