📜  离散数学 |生成函数-介绍和先决条件

📅  最后修改于: 2021-09-27 06:26:36             🧑  作者: Mango

先决条件 – 组合基础,广义 PnC 集 1,集 2

定义:生成函数用于通过将序列的项编码为变量的幂系数来有效地表示序列(例如) \big x  在正式的幂级数中。

现在正式定义完成后,我们可以花一点时间讨论为什么要学习这个概念。

这个概念可以用来解决数学中的许多问题。有大量数学只处理生成函数。

  • 它可以用来轻松解决各种计数问题。
  • 它可以通过将序列方面的关系转换为关于函数的问题来解决递推关系。
  • 它可用于证明组合恒等式。

简而言之,生成函数可用于将有关序列的问题转换为有关使用操作相对容易解决的函数问题。

一些基本的先决条件…

在开始之前,让我们先了解一些基本的组合数学公式。

%\documentclass{article} %\usepackage{amsmath} \newcommand*{\Perm}[2]{{}^{#1}\!P_{#2}}% \newcommand*{\Comb}[2]{{}^{#1}C_{#2}}% \begin{document} \Huge $\Perm{n}{k}=\frac{n!}{(n-k)!}$ $\binom nk=\Comb{n}{k}=\frac{n!}{k!(n-k)!}$ \end{document}

生成函数是一个“正式的”幂级数,因为我们通常将 x 视为占位符而不是数字。只有在极少数情况下,我们才会通过让 x 取实数值来实际评估生成函数,因此我们通常会忽略收敛问题。

$g_0, g_1, g_2, g_3....  实数是无穷级数:
%\documentclass{article} %\usepackage{amsmath} \begin{document} \huge \func G(x) = g_0+{g_1}x+{g_2}x^{2}..... = \sum_{k=0}^\infty g_k x^k. \end{document}

[g_{0},g_{1},g_{2},g_{3}...]\leftrightarrow g_{0} + g_{1}x+g_{2}x^{2}+g_{3}x^{3}....

注意:我们将用双向箭头表示序列与其生成函数之间的对应关系。

一些重要的序列及其结果……

\textup{Let }G_{n}=1+x+x^{2}+x^{3}+.....+x^{n-1}+x^{n}..........\hspace{1cm} eq^{n} (1)\\ \textup{Multiplying it with x } \\ xG_{n}=x+x^{2}+x^{3}+....\hspace{1cm} eq^{n} (2) \\ \\ \textup{subtracting equation (2) with (1) we will get.. } \\ G_{n}-xG_{n} =1 \\ \\G_{n}=\frac{1}{1-x}

如果你想了解更多关于给定序列的推导,你可以参考这里

%\documentclass{article} %\usepackage{amsmath} \begin{document} \Large \(\frac{1} {(1-x)}\) = 1 + x + x^2 + x^3.... \longleftrightarrow [1, 1, 1, 1...\normalsize\infty] \end{document}

%\documentclass{article} %\usepackage{amsmath} \begin{document} \Large \(\frac{1} {(1+x)}\)=1-x+x^2-x^3.... \longleftrightarrow [1, -1, 1, -1....\normalsize\infty] \end{document}

%\documentclass{article} %\usepackage{amsmath} \begin{document} \Large \(\frac{1} {(1-ax)}\) = 1 + ax + {a^2}x^2 + {a^3}x^3.... \longleftrightarrow [1, a, a^2, a^3....\normalsize\infty] \end{document}

%\documentclass{article} %\usepackage{amsmath} \begin{document} \Large %\(\frac{1} {(1-ax)}\) = 1 - ax + {a^2}x^2 - {a^3}x^3.... \longleftrightarrow [1, a, a^2, a^...\infty] \(\frac{1} {(1-x^{2})}\) = 1 + x^2 + x^4.... \longleftrightarrow [1, 0, 1, 0...\normalsize\infty] \end{document}

请注意,以上所有系列都是无限的。有限级数有一个特殊的结果,这将非常方便,因此建议记住这些结果以快速解决问题。

一个重要的结果:

%\documentclass{article} %\usepackage{amsmath} \begin{document} \LARGE %\(\frac{1} {(1-ax)}\) = 1 - ax + {a^2}x^2 - {a^3}x^3.... \longleftrightarrow [1, a, a^2, a^.....] 1+x+x^2+x^3+....+x^n = \(\frac{1 + x^{n+1}} {(1-x)}\) \end{document}

我们可以使用这些操作从已知序列中获取新序列,并从已知生成函数中获取新生成函数。

缩放:
将生成函数乘以常数将相关序列中的每一项都按相同的常数进行缩放。
\textup{Scaling Rule} \newline[f_{0},f_{1},f_{2},f_{3}...]\leftrightarrow F(x) \newline [cf_{0},cf_{1},cf_{2},cf_{3}...]\leftrightarrow cF(x) \\

\textup{Example:} \newline [1,0,1,0,1,0...]\hspace{0.25cm}\leftrightarrow \hspace{0.25cm}1+x^{2}+x^{4}+x^{6}....\hspace{0.25cm}=\frac{1}{1-x^{2}} \\ \\ \textup{Multiplying the generating function by 2 gives}\\ \\ \frac{2}{1-x^{2}}=\hspace{0.15cm}2+2x^{2}+2x^{4}+2x^{6}..

添加:
添加生成函数对应于逐项添加两个序列。
\newline[f_{0},f_{1},f_{2},f_{3},f_{4}..]\leftrightarrow F(x) \newline [g_{0},g_{1},g_{2},g_{3},g_{4}..]\leftrightarrow G(x)\newline \textup{Then}\newline [f_{0}+g_{0},f_{1}+g_{1},f_{2}+g_{2},f_{3}+g_{3},...]\leftrightarrow F(x)+G(x)

\textup{Example:} \newline [1,1,1,1,1,1,1,1....]\leftrightarrow \frac{1}{1-x} \hspace{1cm} \newline [1,-1,1,-1,1,-1....]\leftrightarrow \frac{1}{1+x} \newline \textup{Adding both equation we will get}\newline [2,0,2,0,2,0...]\leftrightarrow \frac{1}{1-x}+\frac{1}{1+x} \newline =\frac{2}{1-x^{2}}

右移:
\textup{Right Shifting Rule} \newline \textup{if}\hspace{0.25cm} [f_{0},f_{1},f_{2},f_{3}...]\leftrightarrow F(x) \newline \textup{then}\hspace{0.25cm} [\overbrace{\overset{\textup{k times}}{0,0,0,0,0,0} },f_{0},f_{1},f_{1}...]\leftrightarrow x^{k}F(x)

\newline \textup{Example:} \newline \newline [\overbrace{\overset{\textup{k times}}{0,0,0,0,0,0} },1,1,1,1,1,1,1...]\leftrightarrow x^{k}+x^{k+1}+x^{k+2}+x^{k+3}..... \newline \hspace{20cm} =x^{k}(1+x+x^{2}+x^{3}...) \newline \hspace{20cm}=\frac{x^{k}}{x-1}

区分:
通常,对生成函数微分对相应的序列有两种影响:每一项都乘以其索引,并且整个序列左移一位。
\textup{Derivative Rule:} \newline [f_{0},f_{1},f_{2},f_{3}...] \leftrightarrow F(x) \newline [f_{1},2f_{2},3f_{3},4f_{4}...] \leftrightarrow F{}'(x)

\newline \textup{Example:} \newline 1+x+x^{2}+x^{3}+x^{4}+x^{5}... = \frac{1}{1-x} \newline \frac{\mathrm{d} }{\mathrm{d} x}(1+x+x^{2}+x^{3}+x^{4}...)=\frac{\mathrm{d} }{\mathrm{d} x}(\frac{1}{1-x}) \newline 1+2x+3x^{2}+4x^{3}....=\frac{1}{(1-x)^{^{2}}} \newline [1,2,3,4...]=\frac{1}{(1-x)^{2}}

例子:
以下系列表示什么序列:
%\documentclass{article} %\usepackage{amsmath} \begin{document} \Large 1 + 4x^2 + x^4 + \frac{x^5}{999} + 100x^6 + \cdots\text{?} \end{document}
现在你一定已经知道了,系数 a 0 = 1, a 1 = 0, a 2 = 4, a 3 = 0, a 4 = 1, a 5 = 1/999, a 6 = 100。
所以顺序是:
\Large $ [1, 0, 4, 0, 1, \(\frac{1} {999}\), 100, ....] $
从GATE CS考试的角度来看,这个题目几乎每年都会被问到,只要知道基础知识就可以轻松解决。

因此,完成此操作后,从下一篇文章开始,我们可能会从一些有趣的计数问题开始,并用这种方法解决它们。我们还将看到一些以前的 GATE 问题。
接下来,我们将看到一些基于计数的问题和一些基于系数提取的问题。

参考:

Kenneth H Rosen:离散数学及其应用6 章 [第 2.4、6.4 章]