离散数学 - 递归关系


在本章中,我们将讨论递归技术如何导出序列并用于解决计数问题。以递归方式查找序列项的过程称为递归关系。我们研究线性递推关系的理论及其解决方案。最后,我们引入用于求解递推关系的生成函数。

定义

递归关系是一个递归定义序列的方程,其中下一项是前一项的函数(将 $F_n$ 表示为 $F_i$ 与 $i < n$ 的某种组合)。

示例− 斐波那契数列 − $F_n = F_{n-1} + F_{n-2}$,河内塔 − $F_n = 2F_{n-1} + 1$

线性递推关系

k 次或 k 阶线性递推方程的格式为 $x_n= A_1 x_{n-1}+ A_2 x_{n-1}+ A_3 x_{n-1}+ \dots A_k x_ {nk} $($A_n$ 是常数,$A_k \neq 0$) 作为一次多项式的数字序列。

这些是线性递推方程的一些例子 -

递归关系 初始值 解决方案
F n = F n-1 + F n-2 a 1 = a 2 = 1 斐波那契数列
F n = F n-1 + F n-2 a 1 = 1, a 2 = 3 卢卡斯数
F n = F n-2 + F n-3 a 1 = a 2 = a 3 = 1 帕多万序列
F n = 2F n-1 + F n-2 a 1 = 0, a 2 = 1 佩尔数

如何求解线性递推关系

假设二阶线性递推关系为 − $F_n = AF_{n-1} +BF_{n-2}$,其中 A 和 B 是实数。

上述递推关系的特征方程为 -

$$x^2 - 斧头 - B = 0$$

寻找根源时可能会发生三种情况 -

情况 1 - 如果该方程因式分解为 $(xx- x_1)(xx- x_1) = 0$ 并且产生两个不同的实根 $x_1$ 和 $x_2$,则 $F_n = ax_1^n+ bx_2^n$ 是解决方案。[这里,a和b是常数]

情况 2 - 如果该方程分解为 $(x- x_1)^2 = 0$ 并且产生单实根 $x_1$,则 $F_n = a x_1^n+ bn x_1^n$ 就是解。

情况 3 - 如果方程产生两个不同的复数根,极坐标形式的 $x_1$ 和 $x_2$ $x_1 = r \angle \theta$ 和 $x_2 = r \angle(- \theta)$,则 $F_n = r ^n (a cos(n\theta)+ b sin(n\theta))$ 是解。

问题1

求解递推关系 $F_n = 5F_{n-1} - 6F_{n-2}$,其中 $F_0 = 1$ 且 $F_1 = 4$

解决方案

递推关系的特征方程为 -

$$x^2 - 5x + 6 = 0,$$

所以,$(x - 3) (x - 2) = 0$

因此,根是 -

$x_1 = 3$ 和 $x_2 = 2$

根源是真实而独特的。所以,这是案例 1 的形式

因此,解决方案是 -

$$F_n = ax_1^n + bx_2^n$$

这里,$F_n = a3^n + b2^n\ (As\ x_1 = 3\ and\ x_2 = 2)$

所以,

$1 = F_0 = a3^0 + b2^0 = a+b$

$4 = F_1 = a3^1 + b2^1 = 3a+2b$

求解这两个方程,我们得到 $a = 2$ 和 $b = -1$

因此,最终的解决方案是 -

$$F_n = 2.3^n + (-1) 。2^n = 2.3^n - 2^n $$

问题2

求解递推关系 − $F_n = 10F_{n-1} - 25F_{n-2}$,其中 $F_0 = 3$ 且 $F_1 = 17$

解决方案

递推关系的特征方程为 -

$$ x^2 - 10x -25 = 0$$

所以 $(x - 5)^2 = 0$

因此,有一个实根 $x_1 = 5$

由于存在单个实值根,因此采用情况 2 的形式

因此,解决方案是 -

$F_n = ax_1^n + bnx_1^n$

$3 = F_0 = a.5^0 + (b)(0.5)^0 = a$

$17 = F_1 = a.5^1 + b.1.5^1 = 5a+5b$

求解这两个方程,我们得到 $a = 3$ 和 $b = 2/5$

因此,最终的解决方案是 - $F_n = 3.5^n +( 2/5) .n.2^n $

问题3

求解递推关系 $F_n = 2F_{n-1} - 2F_{n-2}$,其中 $F_0 = 1$ 且 $F_1 = 3$

解决方案

递推关系的特征方程为 -

$$x^2 -2x -2 = 0$$

因此,根是 -

$x_1 = 1 + i$ 和 $x_2 = 1 - i$

以极坐标形式,

$x_1 = r \angle \theta$ 和 $x_2 = r \angle(- \theta),$ 其中 $r = \sqrt 2$ 和 $\theta = \frac{\pi}{4}$

根是虚构的。因此,这就是案例 3 的形式。

因此,解决方案是 -

$F_n = (\sqrt 2 )^n (a cos(n .\sqcap /4) + b sin(n .\sqcap /4))$

$1 = F_0 = (\sqrt 2 )^0 (a cos(0 .\sqcap /4) + b sin(0 .\sqcap /4) ) = a$

$3 = F_1 = (\sqrt 2 )^1 (a cos(1 .\sqcap /4) + b sin(1 . \sqcap /4) ) = \sqrt 2 ( a/ \sqrt 2 + b/ \sqrt 2 )$

求解这两个方程,我们得到 $a = 1$ 和 $b = 2$

因此,最终的解决方案是 -

$F_n = (\sqrt 2 )^n (cos(n .\pi /4 ) + 2 sin(n .\pi /4 ))$

非齐次递推关系及特解

如果递归关系具有以下形式,则称为非齐次关系

$F_n = AF_{n-1} + BF_{n-2} + f(n)$ 其中 $f(n) \ne 0$

其相关的齐次递推关系为 $F_n = AF_{n–1} + BF_{n-2}$

非齐次递推关系的解 $(a_n)$ 有两部分。

第一部分是相关齐次递推关系的解 $(a_h)$,第二部分是特定解 $(a_t)$。

$$a_n=a_h+a_t$$

第一部分的解决方案是使用上一节中讨论的过程完成的。

为了找到特定的解决方案,我们找到合适的试验解决方案。

设 $f(n) = cx^n$ ;令 $x^2 = Ax + B$ 为相关齐次递推关系的特征方程,并令 $x_1$ 和 $x_2$ 为其根。

  • 如果 $x \ne x_1$ 和 $x \ne x_2$,则 $a_t = Ax^n$

  • 如果 $x = x_1$、$x \ne x_2$,则 $a_t = Anx^n$

  • 如果 $x = x_1 = x_2$,则 $a_t = An^2x^n$

例子

设非齐次递推关系为 $F_n = AF_{n–1} + BF_{n-2} + f(n)$,特征根为 $x_1 = 2$ 和 $x_2 = 5$。$f(n)$ 不同可能值的试验解决方案如下 -

f(n) 试用解决方案
4 A
5.2n _ 2n
8.5n _ 5n
4n _ A4n _
2n 2 +3n+1 2 +Bn+C

问题

求解递推关系 $F_n = 3F_{n-1} + 10F_{n-2} + 7.5^n$,其中 $F_0 = 4$ 且 $F_1 = 3$

解决方案

这是线性非齐次关系,其中关联的齐次方程为 $F_n=3F_{n-1}+10F_{n-2}$ 和 $f(n)=7.5^n$

其相关齐次关系的特征方程为 -

$$x^2 - 3x -10 = 0$$

或者,$(x - 5)(x + 2) = 0$

或者,$x_1= 5$ 且 $x_2 = -2$

因此 $a_h = a.5^n + b.(-2)^n$ ,其中 a 和 b 是常量。

由于 $f(n) = 7.5^n$,即形式为 $cx^n$,at 的合理尝试解为 $Anx^n$

$a_t = Anx^n = An5^n$

将解代入递推关系后,我们得到 -

$An5^n = 3A(n – 1)5^{n-1} + 10A(n – 2)5^{n-2} + 7.5^n$

两边除以 $5^{n-2}$,我们得到

$An5^2 = 3A(n - 1)5 + 10A(n - 2)5^0 + 7.5^2$

或者,$25An = 15An - 15A + 10An - 20A + 175$

或者,$35A = 175$

或者,$A = 5$

所以,$F_n = An5^n= 5n5^n=n5^{n+1}$

递推关系的解可以写为 -

$F_n = a_h + a_t$

$=a.5^n+b.(-2)^n+n5^{n+1}$

将 $F_0 = 4$ 和 $F_1 = 3$ 代入上式中,我们得到 $a = -2$ 和 $b = 6$

因此,解决方案是 -

$F_n = n5^{n+1} + 6.(-2)^n -2.5^n$

生成函数

生成函数表示序列,其中序列的每一项都表示为形式幂级数中变量 x 的系数。

从数学上讲,对于无限序列,例如 $a_0, a_1, a_2,\dots, a_k,\dots,$ 生成函数将是 -

$$G_x=a_0+a_1x+a_2x^2+ \dots +a_kx^k+ \dots = \sum_{k=0}^{\infty}a_kx^k$$

一些应用领域

生成函数可用于以下目的 -

  • 用于解决各种计数问题。例如,兑换卢比的方式有多种。100 卢比纸币,面额为 1 卢比、2 卢比、5 卢比、10 卢比、20 卢比和 50 卢比

  • 用于解决递归关系

  • 用于证明一些组合恒等式

  • 用于查找序列项的渐近公式

问题1

序列 $\lbrace {a_k} \rbrace$ (其中 $a_k = 2$ 和 $a_k = 3k$)的生成函数是什么?

解决方案

当$a_k = 2$时,生成函数$G(x) = \sum_{k = 0}^{\infty }2x^{k} = 2 + 2x + 2x^{2} + 2x^{3} + \点$

当 $a_{k} = 3k 时,G(x) = \sum_{k = 0}^{\infty }3kx^{k} = 0 + 3x + 6x^{2} + 9x^{3} + \dots \点$

问题2

无穷级数的生成函数是什么?$1, 1, 1, 1, \点$?

解决方案

这里,$a_k = 1$,对于 $0 \le k \le \infty$

因此,$G(x) = 1 + x + x^{2} + x^{3}+ \dots \dots= \frac{1}{(1 - x)}$

一些有用的生成函数

  • 对于 $a_k = a^{k},G(x) = \sum_{k = 0}^{\infty }a^{k}x^{k} = 1 + ax + a^{2}x^{ 2} +\点 \点 \点 = 1/ (1 - 斧头)$

  • 对于 $a_{k} = (k + 1),G(x) = \sum_{k = 0}^{\infty }(k + 1)x^{k} = 1 + 2x + 3x^{2} \点 \点 \点 =\frac{1}{(1 - x)^{2}}$

  • 对于 $a_{k} = c_{k}^{n},G(x) = \sum_{k = 0}^{\infty} c_{k}^{n}x^{k} = 1+c_ {1}^{n}x + c_{2}^{n}x^{2} + \dots \dots \dots + x^{2} = (1 + x)^{n}$

  • 对于 $a_{k} = \frac{1}{k!},G(x) = \sum_{k = 0}^{\infty }\frac{x^{k}}{k!} = 1 + x + \frac{x^{2}}{2!} + \frac{x^{3}}{3!}\dots \dots \dots = e^{x}$