1.2 解决问题的三个层次
很多数学分支都有悠久的历史,并形成了一套自己的数学符号和语言.但解决问题并没有固定的模式和套路.在这里,我们使用战略、战术和工具这三个词来诠释解决问题的三个不同层次.这三个词并没有标准的定义,因此准确理解它们的含义就显得非常重要.
登山的策略
当你站在山脚下观察如何登山时,第一步要考虑的战略就是先登上这座山旁边的几座小山,从不同的角度观察你所要爬的山.然后,你可能会考虑一个更具体的战略,或许可以尝试通过一个特定的山脊来登山.接下来就要考虑一些战术问题了,即怎样切实有效地执行战略.比如,你所选定的线路是从山的南面登山,但途中有一片雪地和一条河流,那么你就需要制定不同的战术来战胜这些阻碍.比如说越过雪地,你可以选择早晨雪地最硬的时候通过.而要渡河,则需要在河岸边观察最安全的渡河地点.最后,我们需要考虑与登山最直接相关的技术问题,即完成特定的任务所需要具备的特定技能——工具.比如,要想通过雪地,我们需要装备安全带和凿冰斧.要渡过河流则需要用绳子绑在你的腰上,再由同伴在河岸边拉着你,使你能在河水冲击下保持平衡,这些都是特定的工具技术.你不能因此总结说登山只需要安全带、凿冰斧,与同伴相互搀扶就可以了.虽然这些是必要的,但只是你登山的一小部分工作而已.相反,需要总结的是你的战略思想,有时也包括一些战术思想.例如你可以这样总结:我们决定从南面登山,途中需要越过一片很难通过的雪地和一条危险的河流才能到达山脊.
我们登山时遇到的阻碍,有一些比较容易解决,就像是你做练习题似的(当然,这也需要取决于登山者的能力和经验).但是有些阻碍则很难解决,一旦解决则整个登山过程就非常顺利了.例如,所选择的登山路径大部分都比较容易攀登,但有一段大概3米长的路径则非常陡峭光滑很难通过.登山者通常把这种最关键的阻碍称为“关键点”.我们也可以把这个词用在解决数学问题上.在战略、战术、工具三个层次中都可能有关键点,有些问题有几个关键点,许多问题没有关键点.
从登山到数学
我们将解决数学问题的思想和登山的策略做个比较.拿到问题,你不一定能马上解决,要不然就不能称之为问题,而只是个练习题了.首先你要有一个对题目进行分析的过程,这种分析有很多方式.最糟糕的方式是随意地用你能想到的各种方法进行试验.如果你的想象力足够丰富且掌握的方法很多,通过花费大量时间,也许最终能解决问题.但作为一个初学者,最好还是要培养自己形成一套系统的解决问题的思维方法.首先要从战略上进行思考,不要想着马上就能解决问题,而是在一个不那么专注的层面上思考问题.从战略上思考的目的就是得到这样一个计划:它可能几乎没有数学内容,但能够帮助我们解题,这正如登山的战略:“如果我们到达了南坡,我们好像就能到达山顶.”
战略上的思考有助于我们开始解决问题并继续做下去,但这只是我们需要做的实际工作的提纲,具体的工作就是如何从战术和工具两个层次来完成既定战略.
我们通过下面的例子(1926年匈牙利竞赛题)来说明如何从三个层次来解决问题.
例1.2.1 证明四个连续的自然数的乘积不可能是整数的平方.
解答 首先让我们从战略上理解题目的意思,即如何着手.我们知道这是一道证明题.问题通常有两种类型——证明题和解答题.户口调查员问题(例1.1.3)就是后一类解答题.
接下来,通过观察我们发现问题要求证明某一结果不会发生.我们将问题分成假设(也称为“条件”)和结论(无论是哪种类型的问题都可以这样分).这个问题的条件是:
n是一个自然数.
结论为:
n(n+1)(n+2)(n+3)不可能是某一整数的平方.
将问题的条件和结论明确地叙述出来是非常有必要的,因为在很多问题中,条件和结论并不是显而易见的.在这里我们将引进一些符号,有时对符号的选择非常关键.
也许你会将注意力集中在结论上:怎样才能够使某一个整数不是平方数?这是一种战略思考,即考虑马上能直接得到结论的前提条件,我们称之为倒推法.但你会发现,我们很难找到一个标准来表达某一个数不是一个平方数,所以我们需要考虑另一战略.对任何问题,入题最好的一种战略是化抽象为具体.解决问题最好的习惯就是把思考过程记在稿纸上.我们尝试着代入几个具体的数,也许可以从中发现某些规律.让我们给n设定几个不同的值,令f(n)=n(n+1)(n+2)(n+3),见下表f(n)的值.
你注意到了什么?问题中提到平方数,所以我们观察表格中是否有平方数,我想大家都会发现表中f(n)的前两个值都是某一整数的平方减1,接着验算发现:
f(3)=192−1,f(4)=292−1,f(5)=412−1,f(10)=1312−1.
我们大胆地猜测:对任意自然数n,f(n)都为某一个整数的平方减1.证明这一猜想就是我们所要寻找的倒数第二步.因为任何等于某一整数的平方减1的正整数不可能是另一整数的平方.既然1, 4, 9, 16等平方数中不包含连续整数(平方数与平方数之间的差值越来越大),因此我们新的战略就是证明这一猜想.
为实现这一战略,我们还需要从战术和工具层面考虑问题,我们希望能证明对所有的n,n(n+1)(n+2)(n+3)的乘积都是某一个整数的平方减1,即n(n+1)(n+2)(n+3)+1是某一个整数的平方.但用什么代数式表示这一平方数呢?这样,就需要从战术上考虑表达式的形式.我们要熟练掌握这种表达式,要时刻记住我们的目标是要得到一个平方数,注意到n和n+3的乘积与n+1和n+2的乘积几乎相等,其中前面两项的乘积为n2+3n.重新组织这个表达式,有:
我们不把括号中的两项相乘,而是将其凑成平方差公式:
(n2+3n)(n2+3n+2)+1=((n2+3n+1)−1)((n2+3n+1)+1)+1.
现在我们使用平方差公式工具得到:
((n2+3n+1)−1)((n2+3n+1)+1)+1=(n2+3n+1)2−1+1
=(n2+3n+1)2.
这样对于所有的n,将f(n)表达为某一整数的平方减1的形式,即:
f(n)=(n2+3n+1)2−1.
这样我们就完成了证明.
我们再回过头从解决问题的三个层次来分析这个问题,开始的战略是定位,仔细阅读问题并确定该问题属于哪一类型,然后利用倒推法分析答案的倒数第二步以决定解题的战略,开始,我们并没有成功.接着我们是通过代入数值进行验算然后对结果进行猜测的.但要想证明这一猜测还需要一些战术和工具,如交换连乘项的次序、凑成平方差公式等.
解决问题最重要的是战略层次的思考,在这一题中提出上述猜测是解题的关键.从这点而言“问题”就已经转化为“练习”了!但熟练地使用战术也是很重要的,否则你仍旧很难解决问题.该题的另一解法为替代法:在式(1.2.1)中令u=n2+3n,则上式的右边变成u(u+2)+1=u2+2u+1=(u+1)2.第三种解法是全部乘出来,有:
n(n+1)(n+2)(n+3)+1=n4+6n3+11n2+6n+1.
如果该式是某一整数的平方,则一定是二次多项式n2+an+1或n2+an−1的平方,将第一个多项式代入,有:
n4+6n3+11n2+6n+1=(n2+an+1)2=n4+2an3+(a2+2)n2+2an+1,
可得a=3满足该式.因此n(n+1)(n+2)(n+3)+1=(n2+3n+1)2.该方法虽然没有第一种方法优雅,但仍是个很不错的方法,因为该方法使用了一个非常有用的数学工具——待定系数法.