Processing math: 100%

嘘~ 正在从服务器偷取页面 . . .

《组_


《组合数学》 §2.3 学习笔记(上)

前言:可以参考 生成函数 学习笔记

定义 2.3.1

数列 {an}n=0普通生成函数是下面的形式级数

f(x)=n=0anxn

定义 2.3.2

数列 {an}n=0指数型生成函数是下面的形式级数

f(x)=n=0ann!xn

定义 2.3.3

数列 {an}n=1Dirichlet 生成函数(狄利克雷生成函数)是下面的形式级数

f(s)=n=1anns

例 2.3.4

数列 {1}n=0 的普通生成函数是

n=0xn=11x

同时它的指数型生成函数是

n=0xnn!=ex

而数列 {1}n=1 的狄利克雷生成函数则是

n=11ns:=ζ(s)

这个函数就是 Riemann-Zeta 函数。

注 2.3.5

上面几个公式中的 “=” 的意义是“形式收敛”。

从解析上讲,若级数 A 与另一级数 B 分别在某个区间上收敛到同一形式,

A,B 必定为同一级数,从而可以通过级数 B 的表达形式来找到 A

因此我们一般无需考虑这些生成函数在何处收敛,而利用收敛到的闭形式(即和函数)的最终目的之一,

也是导出原始级数比较简单的表达形式,例如 ln(1+x)=n=1(1)n1nxn

注 2.3.6

可以定义形式级数上的运算。下面以普通生成函数为例加以说明。

若形式级数的系数在域 F 中,也称为域 F 上的形式级数。域 F 上的所有形式级数组成的集合记为 F[[x]]

对于形式级数 f(x)=n=0anxn, g(x)=n=0bnxnF[[x]] ,定义

f(x)+g(x)=n=0(an+bn)xn

f(x)g(x)=n=0cnxn

其中 cn=nk=0akbnk (n0) 。容易证明 F[[x]] 在这样的加法和乘法下构成一个环。

进一步,对于 f(x)=n=0anxn ,定义

f(x)=n=1nanxn1=n=0(n+1)an+1xn

f(x)形式微商形式导数

如果生成函数是有限项的级数,它对应的就是一个有限项的数列,

或者说自某一项后全为零的数列,这时形式级数就是一个多项式。

定义 2.3.7

若形式级数 f(x)=n=0anxn 是多项式,或形式级数 g(x)=n=0bnxn 满足 b0=0

则可以定义 f(x)g(x)复合

f(g(x))=n=0an(g(x))n

当相关的复合存在,且 f(g(x))=g(f(x))=x 是,则称 g(x)f(x)复合逆

有时候,用 [xn]f(x) 表示 f(x)xn 的系数,用 {an}n=0f(x) 表示数列 {an}n=0 的生成函数是 f(x)

如果不加注明,则此生成函数为普通生成函数。可用生成函数来解递推关系。

例 2.3.8

n1,Xn={1,2,,n} ,记 anXn 的子集个数,求 an

这道题是 2.1.1,当时给出了 an=2an1+[n=0] ,负下标为 0

 显然 {an}n=0 的生成函数为

f(x)=n=0anxn=1+n=1anxn=1+n=02anxn+1=1+2xn=0anxn=1+2xf(x)

所以

f(x)=112x=n=0(2x)n=n=02nx2

比较系数得 an=2n

当然也可以用生成函数直接解决一些计数问题,如下 2.3.9 。

例 2.3.9

设有三种物体 a,b,c 。令 an 表示从中不重复地选取 n 种物体的方法数,

{an}n=0 对应的普通生成函数可如下得出:

((ax)0+(ax)1)((bx)0+(bx)1)((cx)0+(cx)1)=(1+ax)(1+bx)(1+cx)=1+(a+b+c)x+(ab+bc+ca)x2+abcx3

上式中 xi 的系数表明选取 i 种物体的选取方式。

例如 x2 的系数为 ab+bc+ac 这三种方式。若仅仅求选取方法数,则令 a=b=c=1 即可。这时,有

{an}(1+x)3

这样我们就得到 an=(3n) 。(二项式定理)

现在改变规则:设 a 可取 0,12 次,b 可取 01 次,c 可取偶数次。

bn 表示选取 n 个物体的方法数,则 {bn}n=0 对应的普通生成函数即

(1+x+x2)(1+x)(1+x2+x4+)=1+x+x21x=(1+x+x2)n=0xn=1+2x+3n=2xn

从以上生成函数不难看出,当 n2 时,bn=3

接下来两个例子 2.3.10 和 2.3.12 可学习如何求出生成函数,并使之成为计数问题的有效工具

例 2.3.10

给定正整数 k ,令 hn 表示方程

x1+x2+xk=n

的非负整数解的个数,我们已经知道

hn=(n+k1n)

{hn}n=0 对应的普通生成函数的闭形式(封闭形式)

 令 h(x){hn}n=0 对应的普通生成函数,则有

h(x)=(1+x+x2+)((1+x+x2+))(1+x+x2+)k 个=(i1=0xi1)(i2=0xi2)(ik=0xik)=1(xk)k

推论 2.3.11

{(n+k1n)}n=01(1x)k

例 2.3.12

从数量不限的苹果🍎、香蕉🍌、橘子🍊和梨🍐中,选取 n 个水果装成一袋,且

  • 选取的苹果数是偶数;
  • 选取的香蕉数是 5 的倍数;
  • 选取的橘子最多有 4 个;
  • 选取的梨最多有 1 个。

记这样的装法有 hn 种,求 hn

 令 g(x){hn}n=0 的普通生成函数,则

g(x)=(1+x2+x4+)(1+x5+x10+)(1+x+x2+x3+x4)(1+x)=11x211x51x51x(1+x)=1(1x)2=n=0(n+1n)xn

由推论 2.3.11 得到 hn=n+1

例 2.3.13

用生成函数法求解常系数线性齐次递推关系

 设 {hn}n=0 满足 k 阶常系数线性齐次递推关系

hn=a1hn1+a2hn2++akhnk,aj0, k1

{hn}n=0 的普通生成函数为 f(x)=n=0hnxn 。设

k(x)=xkg(1x)=1ki=1aixi

c(x)=k(x)f(x)xk+r(r0) 的系数为

hk+ra1hk+r1a2hk+r2akhr=0

c(x) 是一个次数小于 k 的多项式。

设上面的递推关系的特征方程的互不相同根为 q1,q2,,qt ,而 qi 的重数为 si (1it,si=k) ,则

g(x)=xka1xk1ak1xak=(xq1)s1(xq2)s2(xqt)st

k(x)=(1q1x)s1(1q2x)s2(1qtx)st

有理分式 f(x)=c(x)k(x) 可以表示为部分分式

f(x)=ti=1si=1βi(1qix)

这里 βi 为适当的常数。由于

β(1qx)=β(1qx)=βn=0(n+1n)qnxn

所以

si=1βi(1qix)=si=1βin=0(n+l1n)qnixn=n=0(Pi(n)qni)xn

其中 Pi(n)=si=1βi(n+1n) 为一个关于 n 的次数至多为 si1 的多项式。这样

f(x)=n=0(ti=1Pi(n)qni)xn

hn=ti=1Pi(n)qni ,而 Pi(n) 的系数由初始值 h0,h1,hk1 给出。

例 2.3.14 (Bell 数)

Bn 表示 [n] 上所有划分的个数,是找到计算 Bn 的公式。

这部分有那么亿点复杂,所以不写了。公式是

Bn=1ek=0knk!

定义 2.3.15

若形式级数 f(x)=n=0anxng(x)=n=0bnxn 满足 f(x)g(x)=1 ,则称 g(x)f(x)乘法逆

性质 2.3.16

形式级数 f(x)=n=0anxn 有乘法逆当且仅当 a00 。证明略。

性质 2.3.17

设形式级数 f(x)=n=0anxng(x)=n=0bnxn 互为复合逆,

并且 a0=0 ,则有 b0=0a10,b10 。证明略。

事实 2.3.18

若形式级数 f(x)=n=0anxn 满足 f(x)=0 ,则 f(x) 是常数级数 a0

事实 2.3.19

若形式级数 f(x)=n=0anxn 满足 f(x)=f(x)f(x)=cex ,其中 c 是某个常数。


传送门:《组合数学》 §2.3 学习笔记(下)


文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3