「具体数学」一:递归问题

汉诺塔

\(T_n\)\(n\)个圆盘的方案数,显然\(T_0=0,T_1=1\)

构造一种方案:将\(n-1\)个圆盘移动到第二根柱子上,将最大的圆盘移动到第三根柱子,再将\(n-1\)个圆盘移动过去

那么按照此方案至少有

\[T_n≤2T_{n-1}+1,n>0 \]

且易证最优

\[T_n≥2T_{n-1}+1,n>0 \]

所以

\[T_0=0,T_n=2T_{n-1}+1,n>0 \]

\(n\)很大时递归式不好算,考虑一个封闭形式

观察好像有

\[T_n=2^n-1 \]

至少\(T_1=2^1-1\)

那么当\(T_{n-1}=2^{n-1}-1\)时,有\(T_n=2T_{n-1}+1=2^n-1\),根据归纳得\(T_n=2^n-1\)

有时我们观察不到\(T_n=2^n-1\)

也许更容易发现\(U_n=T_n+1=2^n\)

平面上的直线

求平面上\(n\)条直线所界定的区域的最大个数\(L_n\)

显然\(L_0=1,L_1=2,L_2=4\)

那么似乎有\(L_n=2^n\)

然后有\(L_3=7\),What a pity

\(n\)条直线使得区域增加\(k\)个,当且仅当对\(k\)个已有区域进行分割,即与已有直线有\(k-1\)个交点,此前仅有\(n-1\)条直线

\[L_n≤L_{n-1}+n,n>0 \]

易证等号可取(第\(n\)条与此前所有直线有交点可取)

\[L_0=1,L_n=L_{n-1}+n,n>0 \]

展开\(L_n\)

\[L_n=L_0+1+2+3+…+n \]

\[L_n=1+S_n \]

\[S_n=1+2+3+…+n \]

\(S_n\)又称三角形数,是一个有\(n\)行的三角形阵列中保龄球的个数

高斯九岁得出了计算\(S_n\)的办法

\[S_n=1+2+3+…+n \]

\[S_n=n+(n-1)+(n-2)+…+1 \]

\[2S_n=(n+1)+(n+1)+…+(n+1)=n*(n+1) \]

\[S_n=\frac{n*(n+1)}{2} \]

由此得出

\[L_n=1+\frac{n*(n+1)}{2},n≥0 \]

归纳也可得

\[L_n=L_{n-1}+n=(\frac{(n-1)*n}{2}+1)+n=1+\frac{n*(n+1)}{2} \]

问题变形:用折线代替直线,每个折线包含一个尖,求\(n\)条折线能界定的区域最大个数\(Z_n\)

先列小数据:\(Z_0=1,Z_1=2,Z_2=7\)

观察发现(根本没法发现x):一个折线相当于两条相交直线去掉一半(去掉蓝色一半)

等价于:每条折线我们失去了两条直线界定空间中的两个,也就是

\[Z_n=L_{2n}-2n \]

\[Z_n=2n^2-n+1,n≥0 \]

约瑟夫问题

\(n\)个人围成一个圆圈,隔一个杀一个,直到只有一人存活,求存活的人的编号

\(n=10\)时,杀死的顺序是\(2、4、6、8、10、3、7、1、9\)

于是得到\(J(10)=5\)

猜测\(J(n)=\frac{n}{2}\)

然后试了几次就\(GG\)

假设有\(2n\)个人,经过第一轮只剩下奇数编号的人,那么\(3\)号就成为下一个要离开的人

也就是除了每个人的号码加倍再减一,其他规则同\(n\)个人一致

那么\(J(2n)=2J(n)-1\)

由此\(J(20)=2*J(10)-1,n≥1\)

同理\(J(2n+1)=2J(n)+1\)

结合得到递推式

\[J(1)=1 \]

\[J(2n)=2J(n)-1,n≥1 \]

\[J(2n+1)=2J(n)+1,n≥1 \]

指数级的递推式更快捷

打表

\[J(1)=1 \]

\[J(2)=1,J(3)=3 \]

\[J(4)=1,J(5)=3,J(6)=5,J(7)=7 \]

\[J(8)=1,J(9)=3,J(10)=5,J(11)=7,J(12)=9,J(13)=11,J(14)=13,J(15)=15 \]

\[J(16)=1 \]

似乎可以按\(2\)的幂分组,并且每组开始\(J(n)=1\)

\[J(2^m+l)=2l+1,m≥0,0≤l<2^m \]

\(m\)归纳

\[J(1)=1,J(2^m+l)=2J(2^{m-1}+\frac{l}{2})-1=2(\frac{l}{2}+1)-1=2l+1 \]

观察前式可知

\[J(2n+1)-J(2n)=2 \]

拓展:

假设\(n\)的二进制展开式是

\[n=(b_mb_{m-1}…b_1b_0)_2 \]

等价于

\[n=b_m*2^m+b_{m-1}*2^{m-1}+…+b_1*2+b_0 \]

其中\(b_i=0\)\(1\),而首位\(b_m=1\)

那么依次有

\[n=(1b_{m-1}…b_1b_0)_2 \]

\[l=(0b_{m-1}…b_1b_0)_2 \]

\[2l=(b_{m-1}…b_1b_00)_2 \]

\[2l+1=(b_{m-1}…b_1b_01)_2 \]

\[J(n)=2l+1,J(n)=(b_{m-1}…b_1b_0b_m)_2 \]

最后得到了

\[J((b_mb_{m-1}…b_1b_0)_2)=(b_{m-1}…b_1b_0b_m)_2 \]

\(n\)向左循环一位就得到了\(J(n)\)

如果一直用二进制表示也许很快就能发现

根据循环可以期待进行\(m+1\)次迭代再次得到\(n\)

但事实上例如\(J((1101)_2)=(1011)_2\),再迭代一次\(J((1011)_2)=(111)_2\),当\(0\)为首位时会消失

实际上\(J(n)\)必然\(≤n\),于是如果\(J(n)<n\)就不可能迭代回\(n\)

反复迭代得到一系列递减数列后最终会到达一个不动点\(J(n)=n\)(至少还有\(J(1)=1\)呢)

显然这个不动点的二进制表示中全是\(1\)

所以不动点的数值是\(2^{v(n)}-1\),其中\(v(n)\)\(n\)的二进制表示中\(1\)的个数

回去考虑第一个猜测:\(J(n)=\frac{n}{2}\)

考虑它什么时候成立

\[J(n)=\frac{n}{2} \]

\[2l+1=\frac{2^m+l}{2} \]

\[l=\frac{2^m-2}{3} \]

\(l=\frac{2^m-2}{3}\)为整数时,\(n=2^m+l\)就是一个解

不难验证,当\(m\)为奇数时,\(2^m-2\)\(3\)的倍数,但当\(m\)为偶数时则不然(后面再研究)

前几个解:

\[m=1,l=0,n=2,J(n)=1,n=(10)_2 \]

\[m=3,l=2,n=10,J(n)=5,n=(1010)_2 \]

\[m=5,l=10,n=42,J(n)=21,n=(101010)_2 \]

\[m=7,l=42,n=170,J(n)=85,n=(10101010)_2 \]

其中通过二进制很好看出来

再拓展:

引入

\[f(1)=α,f(2n)=2f(n)+β,f(2n+1)=2f(n)+γ \]

打表

\[f(1)=α \]

\[f(2)=2α+β,f(3)=2α+γ \]

\[f(4)=4α+3β,f(5)=4α+2β+γ,f(6)=4α+β+2γ,f(7)=4α+3γ \]

\[f(8)=8α+7β,f(9)=8α+6β+γ \]

一般地

\[f(n)=A(n)α+B(n)β+C(n)γ \]

\[A(n)=2^m,B(n)=2^m-l-1,C(n)=l \]

归纳法易证,但是很难直接得出此结论

下面考虑一般方法

\(f(n)=A(n)\),可得\(α=1,β=γ=0\)

\[A(n)=1,A(2n)=2A(n),A(2n+1)=2A(n) \]

成立

若代入\(f(n)=1\)

\[1=α,1=2*1+β,1=2*1+γ \]

此时\(α=1,β=γ=-1\)

类似,若代入\(f(n)=n\),得到\(α=1,β=0,γ=1\)

但由此我们有

\[A(n)=2^m,A(n)-B(n)-C(n)=1,A(n)+C(n)=n \]

\[C(n)=n-A(n)=l \]

\[B(n)=A(n)-1-C(n)=2^m-1-l \]

猜想的结果被完美推出

此为成套方法,有多少个独立参数就需多少独立特解

将成套方法用于约瑟夫问题:

已知

\[J((b_mb_{m-1}…b_1b_0)_2)=(b_{m-1}…b_1b_0b_m)_2 \]

若令\(β_0=β,β_1=γ\)

\[f(1)=α \]

\[f(2n+j)=2f(n)+β_j,j=0,1,n≥1 \]

按二进制展开就是

\[f((b_mb_{m-1}…b_1b_0)_2)=2f((b_mb_{m-1}…b_1)_2)+β_{b_0} \]

\[=4f((b_mb_{m-1}…b_2)_2)+2β_{b_1}+β_{b_0} \]

\[=2^mα+2^{m-1}β_{b_{m-1}}+…+2β_{b_1}+β_{b_0} \]

则有

\[f((b_mb_{m-1}…b_1b_0)_2)=(αb_{m-1}…b_1b_0)_2 \]

打表

\[f(1)=α \]

\[f(2)=2α+β,f(3)=2α+γ \]

\[f(4)=4α+2β+β,f(5)=4α+2β+γ,f(6)=4α+β+2γ,f(7)=4α+γ+2γ \]

例如

\[n=100=(1100100)_2,α=1,β=-1,γ=1 \]

\[f(n)=64+32-16-8+4-2-1=73 \]

\(100\)为例,\(1100100\)中每个\(1\)\(0\)\(-1\))减至最靠右的\(0\)的位置上

由此推出循环移位性质

更拓展:

\[f(j)=α_j,1≤j<d \]

\[f(dn+j)=cf(n)+β_j,0≤j<d,n>0 \]

则有

\[f((b_mb_{m-1}…b_1b_0)_d)=(αb_{m-1}…b_1b_0)_c \]

例如假设

\[f(1)=34,f(2)=5,f(3n)=10f(n)+76,n>0,f(3n+1)=10f(n)-2,n>0,f(3n+2)=10f(n)+8,n>0 \]

\(d=3,c=10\),要求\(d=19\)

\[f(19)=f((201)_3)=(5,76,-2)_{10}=5*100+76*10-2=1258 \]

约瑟夫问题有趣起来了

习题

1.当\(n=2\)时,\(1\)\(n-1\)\(2\)\(n\)不存在交叉部分,不具有传递性

\[T_0=0,T_1=2 \]

\[T_n=3T_{n-1}+2 \]

\[T_n=3^n-1 \]

3.显然

4.数学归纳法
\(n=1\)时,移动次数为\(0\)\(1\)
\(g(1)=1=2^n-1\)
对于第\(n\)个盘子,若在第三根柱子上\(g(n)=g(n-1)≤2^{n-1}-1\)
若不在第三根柱子上\(g(n)=g(n-1)+1+T_{n-1}≤2^n-1\)

5.不能,第四个圆与前三个圆最多有6个交点,最多增加6个表示集合

6.\(f(1)=f(2)=0,f(n)=f(n-1)+n-2=S_{n-2},n>2\)

7.\(H(1)=J(2)-J(1)=0\)

\[Q_2=\frac{1+β}{α} \]

\[Q_3=\frac{1+\frac{1+β}{α}}{β}=\frac{1+α+β}{αβ} \]

\[Q_4=\frac{1+\frac{1+α+β}{αβ}}{\frac{1+β}{α}}=\frac{α+\frac{1+α+β}{β}}{1+β}=\frac{1+α+\frac{1+α}{β}}{1+β}=\frac{\frac{(1+α)(1+β)}{β}}{1+β}=\frac{1+α}{β} \]

\[Q_5=\frac{1+\frac{1+α}{β}}{\frac{1+α+β}{αβ}}=\frac{αβ+α(1+α)}{1+α+β}=\frac{α(1+α+β)}{1+α+β}=α \]

a:

\[(\frac{x_1+…+x_n}{n})^n≥x_1…x_n \]

\[(\frac{x_1+…+x_{n-1}+\frac{x_1+…x_{n-1}}{n-1}}{n})^n≥x_1…x_{n-1}*\frac{x_1+…+x_{n-1}}{n-1} \]

\[(\frac{x_1+…+x_{n-1}}{n-1})^n≥x_1…x_{n-1}*\frac{x_1+…+x_{n-1}}{n-1} \]

\[(\frac{x_1+…+x_{n-1}}{n-1})^{n-1}≥x_1…x_{n-1} \]

b:

引理一:基本不等式:

\[ab≤(\frac{a+b}{2})^2 \]

证明:

\[(\frac{\sum_{i=1}^{n}x_i}{n})^n≥\prod_{i=1}^{n}x_i \]

\[(\frac{\sum_{i=n+1}^{2n}x_i}{n})^n≥\prod_{i=n+1}^{2n}x_i \]

两式相乘

\[(\frac{\sum_{i=1}^{n}x_i}{n}*\frac{\sum_{i=n+1}^{2n}x_i}{n})^n≥\prod_{i=1}^{2n}x_i \]

由引理一得

\[(\frac{\sum_{i=1}^{2n}x_i}{2n})^{2n}≥\prod_{i=1}^{2n}x_i \]

c.

疑问,对于a.的证明,题目给出了特定条件,是否对一般地情况成立

引用

补充对不等式的证明:

引理一:

\[x≤e^{x-1} \]

证明:

如果存在\(x_i=0\),那么显然成立

若任意\(x_i>0\),令

\[a=\frac{\sum_{i=1}^{n}x_i}{n}>0 \]

对任意\(x_i\)

\[\frac{x_i}{a}≤e^{\frac{x_i}{a}-1} \]

所有式子相乘得到

\[\frac{\prod_{i=1}^{n}x_i}{a^n}≤e^{\sum_{i=1}^{n}\frac{x_i}{a}-n}=e^{n-n}=1 \]

\[a^n≥\prod_{i=1}^{n}x_i \]

\[(\frac{\sum_{i=1}^{n}x_i}{n})^n≥\prod_{i=1}^{n}x_i \]

\(Q_n\):先将\(n-1\)个盘子挪到\(C\),将第\(n\)个盘子挪到\(B\),再将\(n-1\)个盘子挪到\(B\)

\(Q_n=R_{n-1}+1+R_{n-1}=2R_{n-1}+1\)

\(R_n\):将\(n-1\)个盘子挪到\(A\),将第\(n\)个盘子挪到\(C\),将\(n-1\)个盘子挪到\(B\),将第\(n\)个盘子挪到\(A\),将\(n-1\)个盘子挪到\(A\)

\(R_n=R_{n-1}+1+Q_{n-1}+1+R_{n-1}=Q_n+Q_{n-1}+1\)

a.

\[P_n=2P_{n-1}+2=2^{n+1}-2 \]

b.

注意,只需要在最后恢复,经偶数次\(a\)中放置即可恢复顺序

\[Q_n=4P_{n-1}+3=4*(2^n-2)+3=2^{n+2}-5 \]

\[P_n=2P_{n-1}+m_n=\sum_{i=1}^{n}2^{n-i}m_i \]

每条\(Z\)比三条直线少了\(5\)块区域

\[F_n=L_{3n}-5n=\frac{3n(3n+1)}{2}-5n+1=\frac{9n^2-7n+2}{2} \]

或,第\(n\)个折线与前\(n-1\)条折线每条最多有\(9\)个交点,共计最多\(9n-9\)个交点,可新增\(9n-8\)个区域

\(F_n=F_{n-1}+9n-8=\frac{9n^2-7n+2}{2}\)$

新切一刀增加的空间数量为切面上直线划分的二维平面数量

\[P_n=P_{n-1}+L_{n-1} \]

类似的,设\(X_n\)是一条直线上\(n\)个点所确定的一维区域的最大个数,有

\[L_n=L_{n-1}+X_{n-1} \]

更有趣的:

\[X_n=\dbinom{n}{0}+\dbinom{n}{1} \]

\[L_n=\dbinom{n}{0}+\dbinom{n}{1}+\dbinom{n}{2} \]

\[P_n=\dbinom{n}{0}+\dbinom{n}{1}+\dbinom{n}{2}+\dbinom{n}{3} \]

符合上述规律:

\[P_n=P_{n-1}+L_{n-1}=\dbinom{n-1}{0}+\dbinom{n-1}{1}+\dbinom{n-1}{2}+\dbinom{n-1}{3}+\dbinom{n-1}{0}+\dbinom{n-1}{1}+\dbinom{n-1}{2} \]

\[=\dbinom{n-1}{0}+(\dbinom{n-1}{0}+\dbinom{n-1}{1})+(\dbinom{n-1}{1}+\dbinom{n-1}{2})+(\dbinom{n-1}{2}+\dbinom{n-1}{3}) \]

\[=\dbinom{n}{0}+\dbinom{n}{1}+\dbinom{n}{2}+\dbinom{n}{3} \]

组合意义待探究

\(I(2)=2,I(3)=1\)

\(n\)为偶数,第一轮删掉\(2,4,6,…\),剩下\(1,3,5,……\),再从\(1\)开始,那么\(I(n)=2I(\frac{n}{2})-1\)

\(n\)为奇数,第一轮过后再从\(3\)开始,那么\(I(n)=2I(\frac{n}{2})+1\)

posted @ 2021-06-17 17:07  lovelyred  阅读(204)  评论(0编辑  收藏  举报