鲁迅博客

横眉冷对千夫指,俯首甘为孺子牛。
个人资料
正文

我对数学归纳法的感受

(2019-11-13 13:02:53) 下一个

上回讲了数学归纳法的神奇,本回讲讲我对数学归纳法的感受 。

我最近找到一本华罗庚在 1964 年写的<<数学归纳法>>一书。在这本书中,华罗庚提到他在中学学习数学归纳法时,觉得是学会了,可是后来总觉得还是差了点什么 (原话引用见“注”)。

数学归纳法在中学里我们都已学过,中学大纲上要求只要会用,或是能看懂这种证明方法就行了。数学归纳法证明步骤很简单,不复杂。一般是先验证 n=1 时命题是否正确,然后,假设 n=k 时命题正确,在此基础上去检验 n=k+1 时命题是否正确。

然而,这个看上去极其简单的证明方法,却蕴藏着极其丰富的内涵和奥妙,要想把其用到如火纯青的地步,实非易事。华罗庚在他的这本书里除了讲述对数学归纳法的感受还差了点什么外,没讲更多的感受,而是通过数学归纳法在各个方面的应用举例来讲数学归纳法。 这本书可谓是数学归纳法应用的宝典,而非是讲述了数学归纳法的深邃内涵。

说实话,数学归纳法的内涵,我在中学的时候就已领悟。当时在学数学归纳法时候,我对数学归纳法也有过疑惑,估计和华罗庚的感受一样。我给自己提出过一个问题:为什么 在数学归纳法中,要有个 n=k 的假设。我花了很长时间来思考这个问题,简直快到了走火入魔的程度。终于有一天,我眼前豁然开朗,悟出了其中的奥秘,如同是看到了那遥远的宇宙深处。

下面,我就拿出华罗庚在他的这本书中的一道应用题来指出华罗庚的错误,从而说明华罗庚当年心中对数学归纳法那点“还差了点 "的感觉到底是什么,并给出我自己对这道题的解答,作为对比。

原题是: 有两堆棋子,数目相等。两人玩耍,每人可以在一堆里任意取几颗,但不能同时在两堆里取,规定取得最后一颗棋子者获胜。求证: 后取者可以必胜。

在这道题中,最先开始取棋子者定义为先取者,随其后取棋子者定义为后取者。保证后取者必胜的方法就是后取者每次拿出和先取者一样数目的棋子,而且是和先取者在不同的棋子堆里拿取。我们要用数学归纳法来证明这个方法是正确的。

原题和华罗庚给出的解见“注”。华罗庚先验证 n=1 时,结论正确。然后假设 n≤k 时,结论正确,这里就是华罗庚所犯的错误。因为要想让他的这个假设不等式成立,华罗庚 还必须继续验证 n=2 时结论成立,否则,他的假设中就自动已包含了 n=k+1 时也是正确的结论, 然后,再用这个假设去证明 n=k+1 时结论成立,犯了逻辑错误。而且是,华罗庚在他的著作中,爱使用“不证自明”的字样,在本次的证明中,他又使用了“这样就变成了n=k+1-l 的问题”的说法。他的这些说法都不够严谨,不是数学语言。 华罗庚之所以会出现这些问题,这和他没有经过正规大学培训有着直接的联系。

我对这个题目的解如下:
设 n 为每堆里的棋子个数。

当 n=1 时,即每堆各有一枚棋子,先取者从一堆里拿出一枚棋子后,后取者这从 另一堆里取出最后一枚棋子,而获胜,所以结论成立。

当 n=2 时,即每堆各两枚棋子,先取者从一堆里拿出一枚棋子后,后取者这从另 一堆里取出一枚棋子,此时两堆里各有一枚棋子,所以结论成立,因为 n=1 时, 结论成立;
 
另一种情况,如果先取者从一堆里拿出两枚棋子后,后取者这从另一堆里取出最后 两枚棋子而获胜,结论仍成立。
 
假设当 n=k 时, L为各自所拿的棋子数 , 且有  1≤ L≤k ,结论成立,即,双方从两堆棋子中各拿出 L数棋子后,两堆里的棋子数均为 k- L ,且0≤k- L≤k-1,也就是,当0≤每堆棋子数≤k-1时,结论成立。

当 n=k+1 时,各自所拿棋子数为 M 。 且有 1≤ M≤k+1,所以有 0≤ M-1≤k。 双方各拿出 M数棋子后,两堆里的所剩棋子数均为 k+1-M=k-(M-1)。

当 M-1=0 时,即,双方各拿出一个棋子,则 k-(M-1)=k,两堆里的所剩棋子数各为 k, 根据假设,结论成立。
当 M-1>0 时,则有 1≤ M-1≤k。 于是,有 0≤ k-(M-1)≤k-1,即,0≤每堆所剩棋子数≤k-1。根据假设,对于在此区间的每堆棋子数,结论成立。所以,当n=k+1时,结论成立。

所以,无论每堆里的棋子个数有多少,后取者都可以必胜。笑到最后,才会笑得最好,这道题的证明也同时再一次地验证了这个谚语的真理性。

最后的结论:在华罗庚完成撰写这本<<数学归纳法>>的时候,他心中那种对数学归纳法感受的欠缺感仍没有被填补上。


注:




 

[ 打印 ]
阅读 ()评论 (5)
评论
鲁迅九 回复 悄悄话 回复 '北佛风光' 的评论 : 【80年代初本人在中科院数学所跟着华老混过三年, 华老也做很多科普工作。 鲁九这种民科也挑华老的毛病, 真是太可笑不自量力了。

懂点小学数学的云52, 有时倒是比鲁九聪明一些, 哈哈。】

回复:由此可以推算出你的年龄都至少67岁了,你怎么说话还那么小儿科呢?而且你又拿出了小儿那一套搞挑拨离间,这样的思维根本不是搞数学的思维。搞数学的人看问题的思维都很犀利, 如果再有很好的文笔,那就是所向披靡,别忘了鲁迅就是学理科的出身。北佛,无论怎么看你,你都是搞文科的,你曾是中科院的小秘书吧?

你若有本事,欢迎你对我的那篇数学归纳法的文章也指指点点。
鲁迅九 回复 悄悄话 回复 '云之岚' 的评论 : 【不求证行不行?不喜欢数学题!后取者确实必胜啊!前面取棋子的人不管怎么耍赖,后面那个都能等到他把棋子拿完,从容不迫的取胜。 】

回复:这个证明就是把前面取棋子的人不管怎么耍赖,后面那个都能等到他把棋子拿完,从容不迫的取胜的过程解析出来,就如同将整个过程拍下视频一样。
云之岚 回复 悄悄话 原题是: 有两堆棋子,数目相等。两人玩耍,每人可以在一堆里任意取几颗,但不能同时在两堆里取,规定取得最后一颗棋子者获胜。求证: 后取者可以必胜
--------------------------------
不求证行不行?不喜欢数学题!后取者确实必胜啊!前面取棋子的人不管怎么耍赖,后面那个都能等到他把棋子拿完,从容不迫的取胜。
鲁迅九 回复 悄悄话 回复 '最爱蓝色' 的评论 : 好多问题看似简单,其实纷乱如麻;也有好多问题看似复杂,让人晕头,其实也就是捅破窗户纸的事情。计算机也只不过是些赋值、定义函数、真伪判定等而已。

下回分解的题目可能是:“结婚贺喜”。
最爱蓝色 回复 悄悄话 刚开始以为懂了,越开始解释越有点不懂了,这就是看似简单,实际想怎么深奥就可以怎么深奥的假设么?
电脑编程是不是用的最多还是这样的假设定义。给电脑一个指令,编一下,结果让电脑去计算就好了。编的程序就像一个紧箍咒一样,把电脑套在这套程序里了。我又借题发挥来了,其实我的数学水平这样一看也就小学水平了,要是想快速提高,恐怕还要重新学一遍才有机会可以突飞猛进了。。也许会,也许不会,先假设这两种可能吧。
还有下回分解么?洗耳恭听。
登录后才可评论.