具体数学 第一章 递归问题
1.河内塔问题
- 数学归纳法:①对最小规模时成立;②设对\(n=[1,k]\)时成立,证明对于\(n=k+1\)时也成立。于是问题对任意规模都成立。
它可以与递归的模型天然地结合在一起。
实际问题->递归式->数学归纳法->通项公式
- 通过处理递归式的某些项会使得数学归纳更加简单。
2.平面上的直线
-
展开递归式是求通项公式的好方法。
-
对于不易直接分析的实例,可以讨论“损失”了多少。
3.JOJO问题
- 对于一个递归式,把它的部分常量替换为未知数,希望求出它的通项公式中每个未知数的系数。
此时可以把每个未知数取一些特殊值,代入递归式中。
更加通用的方法是找一些简单的函数,令它满足递归式,借此列出方程,解出未知数的值。通过这种方式寻找未知数系数之间的联系,从而列出关于未知数系数的方程。
注意到有多少独立的未知数,我们就需要列出多少组方程。
同时,解除递归式中一些既定的限制(进制等),可以将递归式推广到更为一般的情况。
4.热身题
-
问题出在“类似的”,数学归纳法只能假设\([1,k]\)内的马是相同颜色,如果要推广到\([2,k+1]\)的情况,则需要证明\(k+1\)号马与前面颜色均相同。
-
发现对规模为\(k\)的问题,流程如下:①将\([1,k-1]\)移动到\(B\)柱;②将\(k\)移动到中间柱;③将[1,k-1]移动到\(A\)柱;④将\(k\)移动到\(B\)柱;⑤将\([1,k-1]\)移动到\(B\)柱。
设\(T_n\)为将规模为\(n\)的问题解决所需的最小步数,由此获得递归式:
设\(G_n=T_n+\frac{2}{5}\),则\(G_1=\frac{12}{5},G_n=6(T_{n-1}+\frac{2}{5})=6G_{n-1}=\frac{2}{5}6^n\)。
即\(T_n=\frac{2}{5}(6^n-1)\)。
证明:\(T_n\)一定是整数,即\(5|(6^n-1)\)。
对于\(n=1\)的情况,显然成立。
假设对于\([1,n-1]\)均成立。\(6^n-1=6\times6^{n-1}-1=(6-1)\times 6^{n-1}+6^ {n-1}-1\),由于对于\(n-1\)时成立,此处也成立。
-
显然\(A,B\)柱上会有此类正确摆放,只需考虑中间柱。发现在③过程时,\(n\)必然在中间柱,而\([1,n-1]\)从\(B\)到\(A\),必然整体经过中间柱。
-
设\(T_n\)为原规则下的最小步数,\(G_n\)是将\(n\)个始末位置不确定的圆盘排好的最小步数。问题转化为对于任意始末位置,证明\(G_n\leq T_n\)。
对于\(n=1\)的情况,若始末位置在同一根石柱,则\(G_1=0<T_1\),否则\(G_1=T-1\),结论成立。
假设对于\([1,n-1]\)均成立。对于第\(n\)个圆盘,设始位置为\(x\),末位置为\(y\),中间位置为\(z\)。若\(x=y\),则\(G_n=G_{n-1}\leq T_{n-1}<T_n\)。否则,需要执行如下操作:①\([1,n-1]\)移动到\(z\),设此操作花费\(G_{n-1,0}\);②将\(n\)移动到\(y\);③将\([1,n-1]\)移动到对应末位置,设此操作花费\(G_{n-1,1}\)。此时\(G_n=G_{n-1,0}+G_{n-1,1}+1\leq 2T_{n-1}+1=T_n\)。
由数学归纳法得证。