组合数学 第4章 递推关系与母函数
组合数学(引论)
组合数学中有二个常用的技巧: 1. 一一对应 2. 奇偶性
1.、一一对应
第 10 页
结束
1. 一一对应
二个事件之间如计果算存:在一一对应关系,则
可用解易解的来替代第难一解轮的:。50场比赛 (一人轮空)
应用举例 第二轮: 25场比赛 (一人轮空)
决出例冠1军. 共有要10进1行个注反一多选第第第意之场少手三四五:,比场参轮轮轮每要赛比加:::场淘。赛象1比汰63?棋3场场场赛一淘比比比必 人汰赛赛赛淘也赛汰必,((一 一一须问人 人人进要轮 轮,行空 空))
结束
3. 幻方
3. 幻方
2)麦哲里克方法 (与德拉鲁布方法类似)
将1置正中央上方,然后按向右上方的方向依次放后 继数; 到顶行后翻到底行,到达最右列后转最左列; 其余情况放正上方2格。
第 22 页
结束
3. 幻方
3. 幻方
2)麦哲里克方法 (与德拉鲁布方法类似)
将1置正中央上方,然后按向右上方的方向依次放后 继数; 到顶行后翻到底行,到达最右列后转最左列; 其余情况放正上方2格。
第4章 Burnside引理与Polya定理
4.1 群的概念 4.2 置换群 4.3 循环、奇循环与偶循环 4.4 Burnside引理 4.5 Polya定理 4.6 鸽巢原理 4.7 鸽巢原理举例 4.8 鸽巢原理的推广 4.9 Ramsey数
第4页
结束
一、一组、合组数合学数简学介简介
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
总统 副总统 财务大臣 秘书
0
1
2
2
43
2
1
一种选法 一一对应 一个四位数
组合数学(第二版)递推关系
递推关系
其次,证明an 是通解.若给定一组初始条件
可以仿照齐次方程通解的证明方法,证得相应于条件式 (3.2.11)的解一定可以表示为式 (3.2.10)的形式.
关于 的求法已经解决,这里的主要问题是求式(3.2.2) 的特解an * .遗憾的是寻求特 解还没有一般通用的方法.然而, 当非齐次线性递推关系的自由项f(n)比较简单时,采用 下面的 待定系数法比较方便.
递推关系 【例 3.4.2】 棋盘染色问题:给一个具有1行n 列的1×n
棋盘(见图3.4.1)的每一个 方块涂以红、蓝二色之一,要求相 邻的两块不能都染成红色,设不同的染法共有an 种,试 求an.
图 3.4.1 1×n 棋盘
递推关系
递推关系
【例3.4.3】 交替子集问题:有限整数集合Sn={1,2,…,n} 的一个子集称为交替的, 如果按上升次序列出其元素时,排列 方式为奇、偶、奇、偶、…….例如{1,4,7,8}和 {3,4,11}都是, 而{2,3,4,5}则不是.令gn表示交替子集的数目(其中包括空集), 证明
且有gn=Fn+2.
递推关系
证 显然,g1=2,对应S1 的交替子集为⌀和{1}.g2=3,对应S2 的交替子集为⌀、 {1}、{1,2}.
将Sn 的所有子集分为两部分: (1)Sn-1={1,2,…,n-1}的所有子集; (2)Sn-1的每一个子集加入元素n 后所得子集. 例如,n=4,S4={1,2,3,4}的所有子集划分为两类,即 (1)⌀、{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、{1,2,3}; (2){4}、{1,4}、{2,4}、{3,4}、{1,2,4}、{1,3,4}、 {2,3,4}、{1,2,3,4}.
递推关系与母函数法
递推关系与母函数法1.2 递推关系Hanoi塔问题:这是组合数学中的著名问题。
n个圆盘依其半径大小,从下而上套在柱A上,如图1.1所示。
每次只允许取一个转移到柱B或柱C上,而且不允许大盘放在小盘上方。
若要求把柱A上的n个盘转移到柱C上,请设计一种方法,并估计要移动几个盘次,现在只有A,B,C三根柱子可供使用。
设a,b,c是3个塔座。
开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。
各圆盘从小到大编号为1,2,…,n,现要求将塔座a 上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置。
在移动圆盘时应遵守以下移动规则:规则1:每次只能移动1个圆盘;规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;规则3:在满足移动规则1和2的前提下,可将圆盘移至a,b,c中任一塔座上。
图1.1Hanoi塔是个典型的问题,第一步要设计算法,进而估计它的复杂性,即估计工作量。
这一问题有典型的意义,第一步先解决算法问题,即如何完成n个盘的搬动,进一步还要对算法作出复杂性分析,即对要作多少盘次的搬动进行估计。
算法设计:n=时,第一步先把最上面一个圆盘套在柱B上;第二步把第二个圆盘转2移到柱C上;最后再把柱B上的一个圆盘转移到柱C上,到此转移完毕。
假定1n-个盘子的转移算法已经确定。
对于一般n个圆盘的问题,先把上面的1n-个圆盘转称到柱B上,再把最后一上圆盘转移到柱C上,然后把柱B上的1n-个圆盘转移到柱C上,转移完毕。
上述的算法是递归的连用。
2n=时,第一步便利用n=时已给出了算法;3算法把上面两个圆盘移到柱B上,第二步再把第三个圆盘转移到柱C上;最后把柱B上的两个圆盘转移到柱C上,4,5,,n= 以此类推。
图1.1形象地给出4n=的转移过程。
void hanoi (int n, int a, int b, int c) {if (n > 0) {hanoi (n-1, a, c, b); move (a,b);hanoi (n-1, c, b, a); } }算法分析:令n h 表示n 个圆盘所需要的转移盘次。
组合数学(4)递推递归母函数
ACM 暑期集训 组合数学(4) 递推 递归 母函数1 递推关系序列{a n }=a 0,a 1,…,a n ,…,把 a n 与某些a i (i <n )联系起来的等式叫做关于序列{a n }的递推方程。
当给定递推方程和适当的初值就唯一确定了序列。
递推关系分类: (1)按常量部分:齐次递推关系:指常量=0,如F(n)=F(n-1)+F(n-2) 非齐次递推关系:指常量≠0,如F(n)=2*F(n-1)+1 (2)按运算关系:线性关系,如上面的两个;非线性关系,如F(n)=F(n-1)*F(n-2)。
(3)按系数:常系数递推关系,如(1)中的两个;变系数递推关系,如D(n)=(n-1)(D(n-1)+D(n-2)。
(4)按数列的多少一元递推关系,只涉及一个数列,上面的均为一元; 多元递推关系,涉及多个数列,如⎩⎨⎧+=+=----111177n n nn n n a b b b a a Fibonacci 数列为1,1,2,3,5,8,13,.....long long data[100]; data[1]=1; data[2]=1;for(int i=3;i<=50;i++) data[i]=data[i-1]+data[i-2]; while(cin>>n) cout<<data[n]<<endl;例1:直线割平面问题。
在一个无限的平面上有N 条直线,试问这些直线最多能将平面分割成多少区域?F(1) = 2; F(2) = 4; F(3) = 7; F(n)=F(n-1)+n; (n>1)int recurrence(int n) //递推 {f[1]=2;for(i=2;i<=n;i++) f[n]=f[n-1]+n; return f[n]; }int recursion(int n) 递归: {if(n==1) return 2;//递归终止条件 else return recursion(n-1)+n; }更快的方法是求出通项:F(n)=n^(n+1)/2+1例2:HDOJ2050 折线割平面问题在一个无限的平面上有N 条折线,试问这些折线最多能将平面分割成多少区域?F(n)=F(n-1)+4n-3; F(n)=2*n^2-n+1;例3:椭圆割平面问题。
《母函数与递推关系》PPT课件
ak
ቤተ መጻሕፍቲ ባይዱ
7 8k1 2
9 10k1 2
验证:a1=8,a2=73
15
§2.2 递推关系
例三:从n个元素a1,a2,….an中取r个进行允许重
复的组合。假定允许重复的组合数用 C(n表, r)
示,其结果可能有以下两种情况。
1)不出现某特定元素设为a1,其组合数 为 C(,n 相1, r当) 于排除a1后从a2,….an 中取r个做 允许重复的组合。
h(1) 1, h(2) 2h(1) 1, h(3) 2h(2) 1,
(1 2x)H ( x) x x2 x3 x /(1 x)
H (x)
x
(1 2x)(1 x)
8
1
H (x) h(k )xk
x
g(x)=1+x+x2+x3+x4+... =
k 1
(1 x)(1 2x)
(1 x)Gn ( x) Gn1( x) 0
系数(1-x)不是常数。但
G1(x) C(1,0) C(1,1)x C(1,2)x2
1 x x2 1
Gn
( x)
1
1
x
Gn1( x)
1 1x (1 x)2
Gn2
(x)
1 (1- x)n-1
G1 ( x)
1 (1- x)n
17
(1 x) 1 x ( 1) x2
尾数不是为5的:9an-1
尾数为5的,前n-1位有奇数个5:bn1 9 10n2 an1
an 9an1 9 10n2 an1
an 8an1 9 10n2 ,
a1 8
x2 : a2 8a1 9 x3 : a3 8a2 90
组合数学 母函数与递推关系
§2.1 母函数 用类似的方法还可以得到:
C (n,1) x 2C (n,2) x 2 3C (n,3) x 3 nC (n, n) x nx(1 x)
n
2 2
n 1
C (n,1) 2 C (n,2) 3 C (n,3) n C (n, n)
2 3 2
§2.2 递推关系 整理得
x x (1 2 x) H ( x) x 1 x 1 x
这两种做法得到的结果是一样的。即:
2
x H ( x) (1 x)(1 2 x)
§2.2 递推关系 如何从母函数得到序列 (1), h(2), ?下 h 面介绍一种化为部分分数的算法。
(1 x) n
§2.2
递推关系
利用递推关系进行计数这个方法在算法 分析中经常用到,举例说明如下: 例一.Hanoi问题:这是个组合数学中的 著名问题。N个圆盘依其半径大小,从下而 上套在A柱上,如下图示。每次只允许取一 个移到柱B或C上,而且不允许大盘放在小 盘上方。若要求把柱A上的n个盘移到C柱上 请设计一种方法来,并估计要移动几个盘 次。现在只有A、B、C三根柱子可用。
C (m n, m) C (n,0)C (m,0) C (n,0)C (m,0) C (n,0)C (m,0) 正法如下: (2 - 1 - 3)
m n
(1 x) (1 1 / x) x (1 x)
n m
m
§2.1 母函数
[C (n,0) C (n,1) x C (n, n) x ]
h(2) x h(3) x H ( x) h(1) x H ( x) x
2 3
右端第一项为:
递推关系与母函数 - 哈尔滨工程大学智能信息处理研究中心
n r
' n ' n ' n B m B m ... B m r 成立,则称 1 1 2 2 r
是递推关系式1的通解,其中:B1’ , B2’ ,…, Br’是任意常数
9
无重特征根
定理:设m1,…,mr是递推关系式1的r个互不相 等的特征根,则:
a n B 1 m B 2 m ... B r m
智能信息处理研究中心(RCIIP)
递推关系与母函数
潘海为
1
递推关系的建立
例6 10个数字(0~9)和4个运算符(+,-,,) 组成 14个元素,求由其中的n个元素构成的排列组 成的算术表达式的个数(含除数为0的情况)
an = 10an-1+ 40an-2 a1 =10,a2=120
若e(n) = 0,称其为齐次递推关系式 若e(n)≠0,称其为非齐次递推关系式 当ci(n)=ci时(i =1,2,…,r)称为常系数递推关 系
4
常系数齐次线性递推关系a n1 c2 a n 2 ... cr a n r 0 其中: cr 0
其中: n r , cr 0
当e(n) = 0时,齐次递推关系式的情况 当e(n)≠0时,非齐次递推关系式的情况
16
定理
r 阶线性常系数非齐次递推关系的通解an是: 该非齐次递推关系的一个特解 a n ,加上其相 应的齐次递推关系的通解 a n 即
*
ana
* n
an
17
非齐次递推关系
18
非齐次递推关系
求解过程
求齐次递推关系的通解 求非齐次递推关系的特解 列出非齐次递推关系的通解形式 根据初始条件确定待定系数
组合数学 第四章2母函数的性质
§4.3 在选优法上的应用
可见做两次试验,至少可把区间缩至原来区
间的2/3,比如
f (,x1)进一f 步(x2在)
(a, x区2 ) 间上找极值点。若继续用三等分法,
将面对着这一实事即其中 点的x1 试验没发挥其
作用。为此设想在 区间(0的,1)两个对称点
分别x做,l 试 x验。
0 lx x 1
§4.3 在选优法上的应用
__________ __________ ____ ) Fn2 Fn(Fn1 Fn1) FnFn1 Fn1Fn
F12 F 22 Fn2 Fn Fn1
§4.3 在选优法上的应用
设函数 y f (x) 在区间 (a,b) 上有一单峰
极值点,假定为极大点。
所谓单峰极值,即只有一个极值点 ,而且
设保留(0, x) 区间,继续在 (0, x) 区间的下面 两个点 x2, (1 x)x 处做试验,若
x2 1 x
则前一次1 x 的点的试验,这一次可继续使
用可节省一次试验。
x2 x 1 0
x 1 5 0.618 2
0 0.382 (0.618)2 0.618
1
§4.3 在选优法上的应用
______________
F2n F2n2
F1 F3 F5 F2n1 F2n
§4.3 若干等式
3) 证明:
F12
F
2 2
F12 F2F1
Fn2 Fn Fn1
F22 F2 (F3 F1) F2F3 F2F1
F32 F3 (F4 F2 ) F3F4 F2F3
§4.2 母函数的性质
例. A(x) sin x x x3 x5 3! 5!
母函数与求解递推关系
母函数与求解递推关系组合数学⽤的最多的⼯具要算母函数,究竟什么是母函数呢,先看(1+a1x)(1+a2x)⋯(1+a n x)=1+(a1+a2+⋯a n)x+(a1a2+a1a3+⋯a n−1a n)x2+⋯+a1a2⋯a n x n..x1项系数:a1+a2+⋯a n;x2项系数:a1a2+a1a3+⋯a n−1a n;⋯x n项系数:a1a2⋯a n即x k项系数:a1,a2,⋯,a n取k个组合的全体之和,k=1,2,⋯,n.令a1=a2=⋯=a n=1,即得(1+x)n=1+C(n,1)x+C(n,2)x2+⋯+C(n,n)x n另⼀⽅⾯(1+x)m(1+x)n=(1+x)m+n故$$(1+x)m(1+x)n=C(m,0)+C(m,1)+⋯+C(m,m)x m×C(n,0)+C(n,1)x+⋯+C(n,n)x n=C(m+n,0)+C(m+n,1)+⋯+C(m+n,m+n)x m+n$$⽐较上⾯等式得常系数,C(m,0)C(n,k)+C(m,1)C(n,k−1)+⋯+C(m,k)C(n,0)=C(m+n,k),k=0,1,2,⋯,minm,n这样就证明了这个等式,当然也可⽤组合意义证明。
可见 (1+x)n=1+C(n,1)x+C(n,2)x2+⋯+C(n,n)x n在研究序列C(n,0),C(n,1),⋯,C(n,n)时起作⽤.为此引进母函数得概念.定义对于序列C0,C1,C2⋯构造⼀函数G(x)=C0+C1x+C2X2+⋯称G(x)为序列C0,C1,C2⋯的母函数.例如(1+x)n称为序列C(n,0),C(n,1),⋯,C(n,n)的母函数,序列长度可能是有限的,也可能是⽆限的。
若已知序列可求得母函数,反之若求得母函数,序列也随之确定,因此,序列和对应的母函数是⼀⼀对应的。
现利⽤母函数求递推关系的解,⽤汉诺塔做例⼦.H(n)=2H(n−1)+1,H(1)=1补充定义H0=0,并作如下步骤的形式化演算:x:H1=2H0+1x2:H2=2H1+1x3:H3=2H2+1+⋯G(x)=2x[H0+H1x+H2x2+⋯]+[x+x2+x3+⋯]等式两边分别为H0+H1x+H2x2+⋯=2x∞∑k=0H k x k+∞∑k=1x kx+x2+x3+⋯=x[1+x+x2+⋯]=x 1−x所以得G(x)=2xG(x)+x 1−xG(x)=x(1−x)(1−2x)序列H k的母函数已求得,后⾯是设法从G(x)求序列H k.令Processing math: 100%x(1−x)(1−2x)=A1−2x+B1−x解⽅程得A=1,B=−1所以G(x)=11−2x−11−x=(1+2x+22x2+⋯)−(1+x+x2+⋯)因此H n=2n−1,n=1,2,⋯上⾯利⽤母函数求递推关系的序列,构建序列和母函数有座桥:11−x=1+x+x2+⋯。
组合数学递推关系公开课一等奖优质课大赛微课获奖课件
然后再将A柱上最下面盘移到C盘上; 最后将B盘上盘通过A盘移到C盘上。
第2页
2
2.1 递推关系
void hanoi(char A,char B,char C,int n) {if (n==1)
printf(“move disk1 from %c to %c” A,C) else
第15页 15
1.母函数在求组合中应用
数列a0,…,a8相应数值是 1,0,28,0,70,0,28,0,1。结构母函数为:
A(x) 1 28x2 70x4 28x6 x8
类似办法可得女同志允许组合数 相应母函数为:
B(x) 10x2 10x3 5x4 x5
第16页 16
1.母函数在求组合中应用
ekx 1 kx (kx)2 (kx)3 ... (kx)n ...
2! 3!
n!
sin x
x
x3
x5
x7
...
(1)n
x 2 n 1
...
3! 5! 7!
( 2n 1)!
cos x 1 x2 x4 x6 ... (1)n x2n ...
2! 4! 6!
( 2n)!
第20页 20
+(r2w+r2y+rwy)+r2wy
把r,w,y都用x来表示,可得: (1+x+x2)(1+x)(1+x) = (1+x+x2)(1+2x+ x2) =1+3x+4x2+3x3+x4
这个函数系数恰好与取不同球数组合数相等, 这就是 母函数方法。
组合数学第四讲-文档资料
即:
(1 c1 x c2 x 2
其中定义 c0 1。
k 1 h k h j ck x )G ( x) ch x ( a j x ) h 0 j 0 k 1
h k 1h j 令 P( x) ch x ( a j x ) , P( x) 的次数不超过 k 1 。则: h 0 j 0
(1 t x) kt
(4)将母函数 G ( x) 作部分分式分解(表示法是唯一的) :
G ( x) P( x) (1 1 x)k1 (1 2 x) k2
(1 t x) kt Pt ( x) (1 t x)kt
, t 。并且有:
P P2 ( x) 1 ( x) k1 k2 (1 1 x) (1 2 x)
其中 Pi ( x) 是次数不超过 ki 1 的多项式, i 1, 2,
Pi ( x) Ai1 Ai 2 ki 2 (1 i x) (1 i x) (1 i x)
Aiki (1 i x)ki
因此有:
P( x) G ( x) (1 1 x)k1 (1 2 x) k2
确定各待定系数,即可得到母函数 G ( x) 的表达式。
1 (5)将函数 在 x 0 点展开成幂级数: n (1 x)
n 2 n 3 1 1 nx x x n (1 x) 2 3
n(n 1) 2 n(n 1)(n 2) 3 1 nx x x 2! 3!
例 3.1 求 Fibonacci 序列 {Fn } (满足 Fn Fn1 Fn2 , F1 F2 1)
解:递推关系为: Fn Fn1 Fn2 0 , F1 F2 1, F0 0 。 对应的特征多项式为 C( x) x2 c1x c2 x2 x 1 ,即 c1 c2 1 。
母函数与递推关系
归纳法 计算这个数列前几项:
1, 3, 7, 15, 31, … 看起来有点象
hn=2n-1, n=1,2,… 根据递归关系(3.3)用归纳法即可证之.
8
例2 (Fibonacci问题): Fibonacci数列是递推关系的又一典型
问题, 数列的本身有着许多应用. (1) 问题的提出:假定初生的一对雌雄兔
14
母函数把数列的所有成员用一种非常 巧妙的方法联系在一起, 虽然这样做并 不一定能得到数列的简单公式, 可是也 许能够给出一个幂级数和的简单公式, 展开这个和函数, 所得到的幂级数的系 数就是我们所要找的数列.
比如我们学习到的Fibonacci 数列, 它 满足一个递归关系
Fn+1=Fn+Fn-1 (n>2; F1=F2=1).
《图论与组合优化》
第四讲
母函数与递归关系
1
例1(Hanoi塔问题):n个圆盘依其半径大 小, 从下而上套在柱A上, 如图3.1所示. 每次只允许取一个转移到柱B或C上, 而且不允许大盘放在小盘上方. 若要求 把A上的n个盘转移到C柱上. 请设计一 种方法, 并估计要移动几个盘次. 现在 只有A, B, C三根柱子可供使用.
子, 从出生的第2个月之后每个月都可 以生出另外一对雌雄兔. 如果第1个月 只有一对初生的雌雄兔子, 问n个月之 后共有多少对兔子?
9
1月 2月 3月 4月
10
(2) 求递推关系: 设满n个月时兔子对数 为Fn, 其中当月新生兔数目设为Nn对. 第n-1个月留下的兔子数目设为Qn对. Fn= Nn+ Qn.
6
(2) 算法分析:令hn表示n个圆盘所需要 的转移次数. 根据算法先把前面n-1个 盘子转移到B上; 然后把第n个盘子转 移到C上; 最后再一次将B上的n-1个盘 子转到C上.
递归与母函数
= [C(m+ n,0) + C(m+ n,1)x ++ C(m+ n, m+ n)xm+n
比较等号两端项对应系数, 比较等号两端项对应系数,可得一等式 C(m + n, r) = C(m,0)C(n, r) +
C(m,1)C(n, r 1) ++ C(m, r)C(n,0)
相关公式
令r=n,则, ,
解的分析
从x4的系数可知,这8个元素中取4个组合,其组合数为 10.这10个组合可从下面展开式中得到
2 3 2 2 3 (1+ x1 + x1 + x1 )(1+ x2 + x2 )(1+ x3 + x3 + x3 ) 2 2 3 2 2 3 2 2 3 2 = [1+ (x1 + x2 ) + (x1 + x1x2 + x2 ) + (x1 + x1 x2 + x1x2 ) + (x1 x2 + x1 x2 ) + x1 x2 ] 2 3 (1+ x3 + x3 + x3 )
母函数
x2项的系数 1a2+a1a3+…+ an-1an 中所有的项包括 个 项的系数a 中所有的项包括n个 元素a 两个组合的全体 元素 1 , a2 , …,an中取两个组合的全体;同理项系 中取两个组合的全体; 数包含了从n个元素 个元素a 中取3个元素组合 数包含了从 个元素 1 , a2 , …,an 中取 个元素组合 的全体.以此类推. 的全体.以此类推. 若令a 项系数a 若令 1=a2= …=an=1,在 x2项系数 1a2+a1a3+…+ an1 中每一个组合有1个贡献,其他各项以此类推. 1an中每一个组合有1个贡献,其他各项以此类推. 故有: 故有:
§4排列组合与母函数解读
一、组合排列的母函数 二、排列数列的母函数
一、组合排列的母
函数
定理
有限数列C{
r n
}(0
n
r
n
)的母函
数为 C(x) (1 x)n
C
r n
x
r
C(x)
r0
. xr
n(1)
r即
的展开式C
r n
0中项r 的n系数为
元
集的元无重组合数 (
).
例 求证:
(1 x x 2 xmn )
即即 F(x)的展开式 x r 中项的系数为n 元集的r 元
有限重复组合数Fnr 。 例 从3个相同的红球、3个相同的黑球和6个相 同的白球中取8个球,问有多少种不同的取法?
例 设 k 有 个 砝 码 , 重 量 分 别 为 m1克 、
m2克、……、m
r
①
C
r i m
C
i n
C
r m
n
i0
②
n
rC
r n
n 2 n1
r 1
定理
数列{H
r n
}的母函数为
H (x) (1 x x 2 x k )n
( 2)
即H (x)的展开中 (x r r 0,1,2,)的系数为 n 元集的
r 元无重组合数。
克(
k
m1,m2
,…
mk ,均为整
数),问在天平上称重量为克的东西共有
多少不同的称法(只允许在天平的一边放
砝码)?
例 求整系数的一次不定方 程2x 3y z 7 的非负整数解的个数。
母函数与递推关系
例如
an an1 nan2 , an 3an1 n 1
aan1
an1 1,
2an2 a2 2
母函数与递推关系
利用递推关系进行计数这个方法在算法分析中 经常用到,举例说明如下:
例一. Hanoi Tower(河内塔)问题:n个圆盘 依其半径大小,从下而上套在A柱上,如下图 示。每次只允许取一个移到柱B或C上,而且不 允许大盘放在小盘上方。若要求把柱A上的n个 盘移到C柱上请设计一种方法来,并估计要移动 几个盘次。现在只有A、B、C三根柱子可用。
A
B
C
母函数与递推关系
Hanoi问题是个典型的问题,第一步要设计 算法,进而估计它的复杂性,集估计工作量。
算法:n = 2时 第第最到一二后此步步把转先把B移把上下完最的面毕上圆的面盘一的移个一到圆个C盘上圆移盘到套C上在B上
1
(1 x)(1 x)2
1 4
2
(1
x)2
1 1
x
1 1
x
母函数与递推关系
由 1
xn两边求导数得
1 x n0
1
(1 x)2
nxn1
n1
(n 1)xn
n1
于是
f
(x)
1 4
2 n0
(n
1)x n
n0
xn
n0
(1)n
x
n
2n 3 (1)n xn
n0
4
母函数与递推关系
1 4x 8x2 11x3 11x4 8x5 4x6 x7
母函数与递推关系
例 求用1元和2元的钞票支付n元的不同方式数。 解:设所求不同方式数为an,则由题设可得{an}的 母函数为
f ( x) [1 x x2 ][1 x2 ( x2 )2 ( x2 )3 ]
母函数与递推关系
2 3 4 5 6 7
母函数与递推关系
例 求用1元和2元的钞票支付n元的不同方式数。 解:设所求不同方式数为an,则由题设可得{an}的 母函数为 f ( x ) [1 x x 2 ][1 x 2 ( x 2 )2 ( x 2 )3 ] 1 1 1 x 1 x2 1 (1 x )(1 x ) 2
1 2
1 (a b c ) x ( a ab ac b bc c ) x
2 3 2 2 2 2 2 2 2
( a a b ab a c ac abc b b c bc c ) x ...
3 2 2 3 3
母函数与递推关系
母函数与递推关系
算法复杂度为:
h(n) 2h(n 1) 1, h(1) 1
2 3
(*)
H ( x ) h(1) x h(2) x h(3) x ,(**) H(x)是序列 h(1), h(2), h(3), 的母函数。给
定了序列,对应的母函数也确定了。反过来也 一样,求得了母函数,对应的序列也就可得而 知了。当然,利用递推关系(*)式也可以依次求 得 h(2), h(3), ,这样的连锁反应关系,叫做递 推关系。
所以
5 4 1 an , n 1, 2,... 4
n n
母函数与递推关系
§2 递推关系
定义:设(a0,a1,…,an,…)是一个序列,把该序列 中 an 与它前面几个ai(0≤i<n)关联起来的方程称 为递推关系。序列中的一些已知条件称为初始 条件。 例如
an an1 nan2 , an 3an1 n 1
组合数学-第十节:递推关系
解例如,对于 ,符合题意的积有2个:
所以 。
如果在 的某些字母间加上括号,但不改变字母间的相互位置关系,使得这n个字母间的乘法可以按所加括号指明的运算方式进行运算,那么 就是加括号的方法的个数。
最外层的两对括号形如
(4.3.2)
定理4.3.1 k阶常系数线性非齐次递推关系(4.3.1)的通解是递推关系(4.3.1)的特解加上其相应的齐次递推关系(4.3.2)的通解。
证明设 是递推关系(4.3.1)的特解, 是递推关系(4.3.2)的通解,则
所以, 是递推关系(4.3.1)的解。
反之,任给递推关系(4.3.1)的一个解 ,与上类似,可以证明 是递推关系(4.3.2)的解,从而 可以表示成 与递推关系(4.3.2)的解之和。
(4.4.1)
解由递推关系(4.4.1)可以得到
将上式乘以 后再与(4.4.1)式相加,得
(4.4.2)
如此我们得到了二阶齐次递推关系(4.4.2),它需要两个初值才能确定解。将 代入递推关系(4.4.1),得
所以有
它的特征方程为
解得两个特征根为
于是,通解为
由初值 ,求得 。故
(2)将变系数的一阶线性递推关系化为常系数线性递推关系。
例2在信道上传输由 三个字母组成的长为n的字符串,若字符串中有两个 连续出现,则信道就不能传输。令 表示信道可以传输的长为n的字符串的个数,求 满足的递推关系。
解信道上能够传输的长度为 的字符串可分成如下四类:
(1)最左字符为b;(2)最左字符为c;
(3)最左两个字符为ab;(4)最左两个字符为ac。
由此,我们得出 的前5项满足
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.2 指数母函数 §4.1 指数母函数概念
定义 4.3
给定一无穷序列(a0,a1,…an,…)(简记为{an}),称
函数 fe ( x) ai
i0
xi i!
为序列{an}的指数母函数。
注: fe(x)也是形式幂函数。 经常可结合以下公式运算:
e x 1 x 2 x2 ... n xn ...
4.2.1 普通母函数
例题
例2、求序列(0, 1×2×3, 2×3×4,…, n(n+1)(n+2),…)的普通母函数。
解:由牛顿二项式定理的推论1.10.4,有
1
xn
1 x n0
将上式两端同时微分两次得
2
n(n 1)xn2
(1 x)3 n2
将上式两端再微分得
6 (1 x)4
n(n 1)(n 2)xn3
1! 2!
n!
ex 1 x x2 ... (1)n xn ...
1! 2!
n!
sin x x x3 ... x2n1 ... e x e x
1! 3!
(2n 1)!
2
1
xn
1 x n0
§4.2§4母.1函指数数母的函基数本例概5 念
4.2.2 指数母函数
例题
例3、设n是整数,求序列(p(n,0), p(n,1), …, p(n,n))的指数母函数fe(x)。
an an1 2(n 1) (n 2)
a1 2
求解这个递推关系可以得到问题的解答。
§4.1 递推关§系建4.立1例递2-1推关系的建立
例题
例3、“Hanoi塔”问题:n个大小不一的圆 盘依半径的大小,从下而上的套在柱子A上。 如图所示。现要求将所有的圆盘从柱子A上 全部移到柱子C上,每次只允许从一根柱子 上转移一个圆盘到另一根柱子上,且在转移
解关:系要即求可§解。4.1这递个推问关题系§建,4立.首1例先递1-必2推须关建系立的递推建关立系,然后求解递推
设这n条直线将圆分成的区域数为an,如果有n-1条直线将圆分 成相a交n例-。1个显区题然域,,这那条么直再线加在入圆第内n条被直分线成与n条在线圆段内,的而其每他条n-线1条段直又线将 第n条直线在圆内经过的区域分成两个区域。这样,加入第n条 直线后,圆内就增加了n个区域。而对于n=0,显然有a0=1,于 是对于每个整数 n,可以建立如下带初值的递推关系
§4.1 错排问题定理5 练习
错排
如{a1,a2,…an}为{1,2,…,n}的一排列,对所有 的i,有ai≠i,称这种排列为错排Dn 。
Dn=(n-1)(Dn-1+Dn-2),(n≥3)
§4.1
递推关系定义
§4.1 递推关系的建立
定义 4.1
设{an}为一序列,把该序列中an和它前面几个ai (0≤i≤n-1)关联起来的方程称做一个递推关系
组合数学
主讲人:苏建忠 地址:系统生物学教研室
第4章 递推关系与母函数
本章主要介绍递推关系的建立及几种 常见的求解方法:
• 母函数法 • 常系数齐次递推关系 • 常系数非齐次递推关系
§4.1 递推关系§建4立.1例递1-1推关系的建立
例题
例1、在一个平面上有一个圆和n条直线, 这些直线中的每一条在圆内都同其他的直 线相交。如果没有多于三条的直线相交于 一点,试问这些直线将圆分成多少个不同 区域?
过程中不允许出现大圆盘放到小圆盘上。试
问至少要转移多少次才能将柱子上的n个圆 盘全部转移到柱子C上去?
§4.1 递推关§系建4.立1例递2-2推关系的建立
解:用Hn表示从一根柱子上的n个圆盘全部转移到另一根柱子 上的例转移题次数。显然,H1=1, H2=3。当n≥3时,要将柱子A上 的n个圆盘转移到柱子C上,可以这样设想。先把柱子A上的n-1
数 f ( x) ai xi 为序列{an}的普通母函数(发生、
生成函数)i 0。
注: f(x)是无穷级数,不管其收敛性; x为形式变元,f(x)为形式幂级数 ; 序列与母函数一一对应; 母函数是序列的另一表达形式; 有限序列也可用母函数表示。
§4.2 §母4.函1 普数通的母函基数本例1概念
4.2.1 普通母函数
例题
例 1 、 求 序 列 (C(n,0),C(n,1),C(n,2),…, C(n,n))的普通母函数。
解:由定义4.1及二项式定理的推论1.9.2有
f (x)
n 0
n 1
x ...
n n
xn
(1 x)n
§4.2§母4.1函普数通的母基函数本例概4 念
an an1 n (n 1)
a0 1
求解递推关系得an
n2
n 2
2
§4.1 递推关系的建立
例题
例2、在一个平面中,有n个圆两两相交, 但任二个圆不相切,任三个圆无公共点,
求这n个圆把平面分成多个区域?
解:设这n个圆将平面分成an个区域。 如图。易见 ,a1=2, a2=4。 现在假设前n-1个圆将平面分成了an-1 个区域,当加入第n个圆时,由题设 这个圆与前面的n-1个圆一定交于 2(n-1)个点,这2(n-1)个点把第n个圆 分成2(n-1)条弧,而每条弧正好将前 面的 n-1个圆分成的区域中的其经过 的每个区域分成2个区域,故新加入的第n个圆使所成的区域数 增加了2(n-1) 。因此可以建立如下带初值的递推关系:
个月起每月产一对兔子。试问第n个月后养 殖场中共有多少对兔子?
§4.1 递推关§系4建.1立递例3推-2 关系的建立
解:设第n个月时养殖场中兔子的对数为Fn。并定义F0=1, 显由然于例有在, 第题Fn个1=月1。时,除了有第n-1个月时养殖场中的全部兔子 Fn-1外,还应该有Fn-2对新兔子,这是因为在第n-2个月就已 经有的每对兔子,在第n个月里都应生一对新的兔子。因此 可以建立如下带初值的递推关系
Hn 2Hn1 1 (n 2) H1 1
求递3-1推关系的建立
例题
例4、“Fibonacci兔子问题”也是组合数学 中的著名问题之一。这个问题是指:从某
一年某一月开始,把雌雄各一的一对兔子
放入养殖场中,从第二个月雌兔每月产雌
雄各一的一对新兔。每对新兔也是从第二
(递归关系)。
如错排数Dn=(n-1)(Dn-1+Dn-2),(n≥3) 和关系式an=3an-1,(n≥1)都是递推关系。
如a0=d0 , a1=d1,…, ak=dk,di为常数(i=0,1,…,k),称为递推 关系的初值。
如D1=0, D2=1作为初值即可惟一的确定序列(D0,D1,…, Dn,…),a0=1作为初值即可惟一的确定序列(1,3,32,…,3n,…)。
解:由定义4.2及公式P(n,r)=r!C(n,r),以及例1的
结论,有
fe ( x)
p(n, 0)
p(n,1) x ... 1!
p(n, n)
xn n!
n 0
n 1
x ...
n n
xn
(1 x)n
§4.2§4母.1函指数数母的函基数本例概7 念
4.2.2 指数母函数
例题
Fn Fn1 Fn2 (n 2)
F0 1, F1 1 求解上式可以得到我们所需的答案。 注:利用该式我们可以推得
(F0,F1,…,Fn,…)=(1,1,2,3,5,8,13,21,34,55,…) 常称Fn为Fibonacci数, (F0,F1,…,Fn,…)为Fibonacci数列。 Fibonacci数列在数学中是一个奇特而又常见的序列,它在算 法分析中起着重要的作用。具体性质以后讨论。
个圆盘转移到柱子B上,这需要转移Hn-1次;然后把柱子A上最 后一个圆盘转移到柱子C上,显然这需要转移一次;最后再把
柱子B上的n-1个圆盘转移到柱子C上,这也需要转移Hn-1次。 经过这些步骤后,所有A上的n个圆盘就全部转移到柱子C上。
由加法法则,这一共转移了2Hn-1+1次。于是可以建立如下带初
值的递推关系
例4、求序列{1,α,α2,…,αn,…}的指数母函数 fe(x)。其中α是实数。
解:由定义4.2,有
fe ( x)
1
x 2
1!
x2 2!
... n
xn n!
...
e x
特别地:若 =1,则序列(1,1,…,1,…)的指数母函数为ex 。
n3
两边同乘以x得
6x (1 x)4
n(n 1)(n 2)xn
n0
0 1 2 3x 2 3 4 x2 ... n(n 1)(n 2)xn ...
因此
f
(
x)
(1
6x x)4
是序列(0,1
2
3,2
3
4,
...,
n(n
1)(n
2),
...)
的普通母函数。
§4.2 母函数的基本概念
将递推关系和初值结合起来称为带初值的递推关系。如
Dn (n 1)(Dn1 Dn2 )
D1 0, D2 1
(n 3),
an 3an1 a0 1
(n 1)
§4.2 普通§母函4.数2概母念函数的基本概念
4.2.1 普通母函数
定义 4.2
给定一无穷序列(a0,a1,…an,…)(简记为{an}),称函