ICode9

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

生成函数简介

2021-04-14 22:34:51  阅读:132  来源: 互联网

标签:frac 函数 简介 sum geqslant0 生成 aligned


定义

序列 \(A\) 的生成函数(又称母函数,generating function),是一种形式幂级数,其每一项的系数都可以提供关于 \(A\) 的信息。

形式幂是指,无论函数的自变量的取值是多少,都不影响原序列的信息。

常用的有普通生成函数指数生成函数

生成函数经常被用于处理组合/排列问题。

普通生成函数

开放形式

我们看这样一个模型:

有三堆颜色不同的球,分别为 \(A,B,C\)。其中,\(A\) 有 3 个,\(B\) 有 4 个,\(C\) 有 2 个。问从中取出 4 个球进行组合的方案数是多少?

我们定义多项式 \(A(x)=1+x+x^2\),系数表示 1 种方案,指数表示取几个。\(B,C\) 同理。

那么最后的答案即为 \((A*B*C)(x)\) 的第 4 项上的系数。因为第 4 项的系数表示取 4 个的方案数。

可以乘起来的原因是多项式乘法的本质是乘法分配律后同阶相加。

我们称形如 \(F(x)=\sum_{i=0}^n a_ix^i\) 为序列 \([a_1,a_2,\dots,a_n]\) 的普通生成函数。

再来一个例子:

若有面值为 \(1,2,3,4\) 的钱币各 1 枚,请问一共能凑出多少种面值?

\((1+x)(1+x^2)(1+x^3)(1+x^4)\) 的项数即为答案。如果至少去一个就去掉常数项。

封闭形式

我们在实际运用中,直接做形式幂级数的形式十分不方便。我们可不可以找到一个简洁的形式使其脱离多项式,尤其是项数 \(\rightarrow \infty\) 的时候。

我们拿 \([1,1,1,\dots]\) 的生成函数 \(F(x)=\sum_{i\geqslant0}x^i\) 来举例:

\[\begin{aligned} F(x)x+1 &= F(x) \\ F(x) &= \frac{1}{1-x} \end{aligned} \]

亦或者等比数列 \([1,a,a^2,a^3,\dots]\) 的生成函数 \(F(x)=\sum_{i\geqslant0}a^ix^i\):

\[\begin{aligned} F(x)ax+1 &= F(x) \\ F(x) &= \frac{1}{1-ax} \end{aligned} \]

这里列举一些:

\[\begin{aligned} &\sum_{i\geqslant0}x^i=\frac{1}{1-x}\\ &\sum_{i\geqslant0}a^ix^i=\frac{1}{1-ax}\\ &\sum_{i\geqslant0}x^{2i}=\frac{1}{1-x^2}\\ &\sum_{i\geqslant0}(i+1)x^i=\frac{1}{(1-x^2)} \end{aligned} \]

我们一般先将初始的几个函数转成封闭形式,乘起来后再转回开放形式得到答案。

标签:frac,函数,简介,sum,geqslant0,生成,aligned
来源: https://www.cnblogs.com/Lewis-Li/p/generating_function.html

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

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

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

ICode9版权所有