①模拟原则
我们能将这个问题回推到另一个已知答案的类似问题吗?
希腊船王欧纳西斯(Aristoteles Onassis)的模拟原则:
富人不过是拥有很多钱的穷人罢了。
失败的模拟:
“将纳税义务人的死亡,依照税法第十六条第一款第三项中的长期无工作能力,作为判断依据,并进一步依此扣除其增高的免税金额,是不可能的。”
——联邦税务手册
寻找和运用模拟,是相当重要的思考工具。要找具有启发意义的实例,并不需要舍近求远,我们可以从运动的例子来切入。以网球锦标赛来说(例如温布尔登),共有128位选手参与单淘汰赛。为了能够妥善规划赛事,公开赛的主席想要知道,在冠军产生之前,总共有多少场比赛需要举办。
这时赛事主席必须依据完整的赛程来考虑:在第一回合,将128位参赛选手配对成64组进行比赛,即产生64场比赛。在第二回合,由第一回合的胜出者配对成32组进行竞赛,此回合的胜出者再配对成16组进行第三回合,继续以此类推,直到准决赛和总决赛。也就是说,总共要举办64 + 32 + 16 + 8 + 4 + 2 + 1=127场比赛。
好了,我们得到这个问题的解答了,但这样的求解方式并不漂亮,反而显得有些老套。不可否认地,虽说这个算式并不复杂、令人拍案叫好或绝顶聪明,但仍是有用的。针对这种解题方法,我的确不是很满意。赛事主席虽然从中得知自己必须了解的一切,但是整体的其中一个面向并没有被呈现出来,而且这种运算显然是有局限性的,同时毫无美感可言。在不混淆思考结果的状况下,只要再多费一点心力,我们也能利用别种方法来解决这个问题。
你可能会发现,参赛人数(即128)正好是2的次方数(即27),而每一回合的比赛场数,又都等于参赛人数的一半,因此相加的比赛场数,仍是2的次方数,而且指数部分会依次递减,从六次方(即第一回合的26= 64场比赛)到零次方(即20= 1场总决赛)。你可以回想一下以前学过的等比级数公式,特别是,对所有的自然数n = 1, 2, 3,… ,下列等式永远成立:
1 + 2 + 4 + … + 2n﹦2n+1-1 (2)
如果对于这个公式没有印象的话,你可以在(2)式的左边乘上2-1 = 1(其值不变),来做验证,也就是说:
(1 + 2 + 4 + … + 2n)·(2-1) = (2 + 4 + 8 + … + 2n+1)-
(1 + 2 + 4 + … + 2n) = 2n+1 -1
把n = 6代入,很快就能得到答案2n+1-1。
就某方面来说,这已经是相当引人注目且聪慧的思考方式,不需做许多算术,而且还可以从有27= 128人参赛的锦标赛,推广到如果有2n+1人参赛,则需要举办2n+1-1场比赛。也就是说,若参赛者为64人,则有63场比赛;有256人参赛时,则需要255场比赛。有趣的是,赛事的总数总是参赛选手总人数减1。
然而,以此种解题方法作为开端不是特别适合。因为我们会得出另一个疑问:为何比赛总数会等于参赛总人数减1呢?这个策略的有趣之处还不止如此。接下来是数学之美第二章。
每一场赛事都会产生一位胜方及一位败方,这是没有争议的。每一位参赛者都会继续参加比赛,直到落败,便遭到淘汰。这表示什么呢?这解释了:第一,总共有多少场赛事,就有多少人被淘汰。第二,只有唯一一名参赛者,也就是冠军得主,从头到尾没有输过任何一场比赛。现在,就很容易从这两项事实,推论出以下的结果,这是个完美的综合思考。如同我们之前所解释的,除了冠军之外,每一位参赛者都输掉一场比赛,所以,被淘汰的人数以及比赛场数,就会是参赛总人数减1;因此,128位参赛者就代表共有127场比赛,而若有2n+1位参赛者,则须举办2n+1-1场赛事。如此简单的思维过程,就能带来成就感。
简单的思考是上帝赐予的礼物。
——前联邦德国总理阿登纳(Konrad Adenauer)
这些话清楚吗?可被理解吗?
——足球教练特拉帕托尼(Giovanni Trapatoni)
讲清楚一点!
——麻省理工学院实验室的鹦鹉Alex在发音课堂上,对他的同事鹦鹉Grin这么说。
能够启发灵感的思维过程,是有说服力的、清晰的及结构紧密的。目标明确的推理过程,其实就是纯粹、毫无限制的思索,不需要计算甚至数字,也不依赖已知的公式。它结合了一连串微小的灵光乍现、意外及没有预期到的启发。这个例子虽然微不足道,但同时却展现了有效、经济、简单、超凡的思维架构。
这种思维方式还有一项优点:再经过一番细想,就会发现参赛人数并不非要是2的次方数不可,而是马上可以推广到一般的情形:对于有k个参赛选手的单淘汰赛,只需要举办k-1场赛事,直到最后的优胜者产生为止,而k可以是任意自然数。我们就用k = 11位选手的情形来验证一下。
每一条横线代表一个赛事,总共有10条横线,正如我们所料,必须举办10场比赛。
正如这句座右铭所说的:“一个好的证明,就是使我们更为明智的证明。”能够激发灵感的思维,会使我们得到更多的信息与更深刻的见解。对知识的理解,是个全方位的问题。
在接下来的第二个例子中,我们要来看看折断一整片巧克力的数学问题。你可以想象一下,一位母亲在小朋友的生日派对上要如何将一整片巧克力迅速地分块,下图中这片巧克力共有k = n · m小块巧克力。
我们的问题就是在问,怎么样才能用最少的折断次数,把这片巧克力分成n · m块。
如果要将一片3×4的巧克力分块,其中一种可能的步骤是:
总共要折断11次。所以现在继续我们的准互动项目。有个问题马上冒出来:有没有哪个策略,能让折断的次数少于11?探讨各种可能的策略,显然不是一件容易的问题。
答案是:没有!简短但详细地证明如下:不管用什么方法来折断,折断后的块数都会加1,因为一个大块总会分成两个小块。这是很显而易见的。到最后,没有哪片巧克力可以再被分块时,就代表这整片巧克力已经完全分成巧克力块了。这时我们该来想一想如何减少折断次数的问题:
一开始,或者可以说是折断0次后,是完好的1块。
折断1次之后,会有2块。
折断2次之后,会有3块。
折断n·m-1次之后,会有n·m块。
结论:折断后的块数,始终比折断次数多1—不受我们的折断方式所影响!此问题可以从这个角度看:出乎意料的无害小事。①
数学家把这种关联性,称为不变量。在上面这个情形中,把整片巧克力分块所需的折断总次数,不会因为我的折断方式不同而改变。一旦你意识到这一点,就可以制定一个一般化的步骤。即使我是按照锯齿状的折线,而不是以直线来折断巧克力片,如图12所示,完成分块所需的折断总次数依然不会减少。
再回过头看一下先前讨论的赛事问题,你会发觉:比赛问题与巧克力分块问题之间,有个很重要且意想不到的模拟关系,而这两个问题的求解也可以互相模拟。我们是从结构的角度来看问题。若把两者对应起来,就能清楚看到结构上的一致性:
网球赛 折断巧克力
遭淘汰的选手 巧克力块
每打完一场比赛,遭淘汰的总人数与比赛的总次数均会增加1。刚开始时,经过0场比赛,有0人被淘汰,到了最后,经过k-1场比赛,就有k-1人被淘汰。我们可以试着把这些概念,类推到折断巧克力的情形上:巧克力片每折断一次,折断动作与巧克力块的总数均增加1。刚开始时,折断0次,有1块巧克力,到了最后,折断了k-1次,就有k块巧克力。
这两个问题在深层结构上是一样的—虽然每个问题的情境不同。
像这样有用的模拟不胜枚举,接下来再介绍一个小游戏,非常适合让你用来与这可爱的数学敌人对决。
当你一直赢,就会得到更多乐趣。
——唐老鸭(语出《伟大的高尔夫冠军》)
这个游戏需要一堆硬币,总共有k枚硬币。
首先,玩家A要将这堆硬币随意分成两堆。接着,玩家B从两堆中选择一堆,再随意把它分成更小的两堆。然后轮到A再选出一堆……如此这般继续轮流下去。做最后一次分配动作(此时桌上只剩下2枚硬币)的玩家,就是游戏的赢家,可以赢得所有的硬币。
这个游戏看起来是个非常困难的数学问题,获胜的策略牵涉许多行动的可能性—虽然后者说对了,但前者可就错了。这个游戏很容易模拟到我们刚才详细讨论过的情况:在经过0次分堆前,有一堆硬币;分过第一次后,不管分法如何,都会有2堆,紧接着每分一次,堆数都会加1。这当中的一般规则是:如果硬币数k是偶数,玩家A一定会获胜,因为要让k枚硬币的每一枚都自成一堆,必须分k-1次。所以说,这个游戏又和网球赛问题如出一辙。现在我们已经有同一个问题的三部曲了。
还不止如此:我们甚至找得到打网球、分巧克力、分硬币这几个例子的几何模拟,乍看之下完全变了个样子,但其实是同类型的问题。
出自“世界上最聪明的人”智力测验的两道模拟测验题:
9与361的关系,就好比是井字游戏对什么的关系?
5 280与英里的关系,就好比是43 560对什么的关系?
另外附赠一个我自己设计的模拟测验题:
法兰克·札帕(Frank Zappa)对女性的态度,就好比是乔·派恩(Joe Pyne)对什么东西的态度?
关于上述题目的一个小小的,但也可能是大大的提示:
摇滚音乐家法兰克·札帕受邀上知名的乔·派恩脱口秀节目,乔·派恩向来以挑衅式的谈话风格而闻名。有些人声称,乔·派恩之所以用这种伤人的访谈方式,要归因到腿部截肢让他变得愤世嫉俗。一头长发的法兰克·札帕是在20世纪60年代末受邀上节目的,男性留长发在当时是很不寻常的。以下就是两人的唇枪舌剑:
乔·派恩:“如果只看你的长发,会以为你是个女人。”
法兰克·札帕:“如果只看你的木腿,会以为你是张桌子!”
一家博物馆的馆长想要监管博物馆里的馆藏品。这座博物馆的平面图看起来如下图:
在几何学上,这种结构称为简单多边形。各边只会相交于顶点,形成一个封闭的多边形。
博物馆里都会有警卫。馆长该如何调动这些警卫,以便监控整个博物馆的室内空间呢?
馆长已经想好一个简单的方法:把这个多边形分割成三角形,也就是在整个多边形内部,适当地画出顶点之间的联机。然后,他就可以要求馆内的每一个警卫负责监管一块三角形地区。这样总共需要多少警卫(可分割成几个三角形)?
我们如何能够认知到,其实这不是新的问题,只是看似如此?这个问题的答案,明显取决于平面图的复杂度,也就是多边形的顶点数k。当k = 3时,显然只有一个三角形,而k = 4时,会有两个三角形。到目前为止,情况还在我们掌握中。
我们必须把联机画出来。k = 5的情形也很容易达成:
如果我们把k边形(有k个顶点)改称为n多边形(可分成n个三角形),即n = k-2,会比较容易看出一般化的情形。这个小技巧可以减少复杂性。意思就是,3边形是1多边形、4边形是2多边形、5边形是3多边形,以此类推。
很有趣且重要的是,通过联机把n多边形切成三角形所需的联机数,会引导出三角形的数目。我们用D(n)代表可画出的三角形数目,而以V(n)代表需要画出几条联机(彼此之间不相交)。D(n)个三角形,会有3D(n)条边,其中有些边是多边形顶点之间的联机,会重复计算了两次,然后再加上多边形的边数n + 2,所以是:3D(n) = (n + 2) + 2V(n)。
如果把所有D(n)个三角形的内角全加起来,会得到180°D(n) = 180°〔n + 2 + 2V(n)〕/3。另一方面,由于联机彼此不相交,所以所有三角形的内角和,会等于n多边形的内角和W(n) = n · 180°。意思就是,如果你依顺时针方向,像街上的汽车般沿着这个多边形绕一圈,那么你在(n + 2)个角的每一个角往右转的角度,会等于180°扣掉该角的内角。整个多边形绕完一圈后,所转的角度总和一定会是360°,这可从W(n) = n · 180°推导出来。要是其中一些内角大于180°,这个推理仍然行得通,差别就在于右转变成了左转,角度变成负的。从180°D(n) = W(n) 这个方程式,可得180°〔n + 2 + 2V(n)〕/3 = n · 180°,由此又可得联机数V(n) = n-1。我们还可以附带算出:D(n) = 〔n + 2 + 2(n)〕/3 = n。
现在再从另一个不同的观点,来看看关于一个n多边形的发现结果。我们先画一条任意的对角线d。它把这个(n + 2)边形,切成两个多边形X与Y,分别有x + 2与y + 2个顶点,其中的x和y都小于n,因此可视为有一条共边的x多边形与y多边形。
联机d的起点与终点既属于X,也属于Y,所以n = x + y,而且:
D(n) = D(x) + D(y) (3)
且初始值D(1) = 1。对于1(包含在内)到n(不包含在内)的所有x与y来说,这个关系式都是成立的。图16中的11边形(或9多边形),由对角线d切成一个4边形(或2多边形)和一个9边形(或7多边形)。因此,D(9) = D(7) + D(2)。
由(3)式,若我们令x = n-1和y = 1,即可得
D(n) = D(n-1) + D(1)
把这个概念重复代入D(n-1)、D(n-2)等等,就得:
D(n) = D(n-1) + D(1)
= D(n-2) + D(1) + D(1) = D(n-2) + 2D(1)
= D(n-3) + D(1) + D(1) + D(1) = D(n-3) + 3D(1)
= D(2) + (n-2) · D(1)
= D(1) + D(1) + (n-2) · D(1) = n · D(1)
= n
一间n边形的博物馆,可划分为n-2个三角形,所以馆长的策略是必须分配n-2个警卫,才有办法监视整个博物馆。
对照方程式(3),对角线数目V(n)也可稍加修改成下面这个关系式:
V(n) = V(x) + V(y) + 1 (4)
这里的n = x + y。这个关系式对从1(包含在内)到n(不包含在内)的所有x与y来说,也都是成立的。(4)式右边多出来的 + 1,代表着把n多边形切成x多边形与y多边形的那条联机。就像(3)式的情形,我们也要考虑一下(4)式的起始条件,因为很显然V(1) = 0,这时只有一个三角形,画不出任何对角线。
利用相同的迭代法,可算出:
V(n) = V(n-1) + V(1) + 1
= V(n-2) + V(1) + V(1) + 1 + 1
= V(n-2) + 2V(1) + 2
= V(2) + (n-2) · V(1) + n-2
= V(1) + V(1) + 1 + (n-2) · V(1) + n-2
= n · V(1) + n-1
= n-1
所以,在一个n多边形,即(n + 2)边形中,我们最多可以画出n-1条不相交的对角线。因此,馆长必须为他的n边形博物馆画出总共n-3条联机。
我们再次注意到,它和分硬币问题的直接关联。共有n枚硬币的一堆硬币(我们就叫它“n堆”),每次都可分成x堆和y堆,其中n = x + y,而T(n)为所需的分堆总次数:
T(n) = T(x) + T(y) + 1 (5)
同样的,这对介于1(包含在内)到n(不包含在内)的所有x与y均成立,且T(1) = 0。
它和网球赛问题的模拟关系也变得很清楚了。令B(n)为参赛选手有n人的赛事所需举办的比赛场数。关系式(5)中的T可以换成B,这样就能够把n个选手分成一组有x个选手跟另一组有y个选手的群体,这两组分别需要B(x)和B(y)场比赛,来决定优胜者,分组冠军再比一场总决赛,来争取最后的赢家。
就连分巧克力问题也可以套用这个明显的模拟关系。
我们所讨论的所有情况,本质上都具有相同的抽象基本结构。在所有的例子中,均存在一个函数f(n),可代入特定的数值1、2、3等,来代表有n位参赛者的比赛场数、把一片巧克力分成n小块的折断次数等。
在每种情形中,这个函数f都带有以下的性质:
f(x + y) = f(x) + f(y) + 1 (6)
x和y均为自然数1,2,3…。
若f(1) = 0,则正如之前所看到的,函数f必为下面这种形式
f(n) = n-1,对所有的n = 1,2,3… (7)
别无选择。这是前面谈过的所有问题的抽象核心。从网球赛事到博物馆的监视,所有的问题都能描述成(6)式的形式,连同初始条件f(1) = 0,最后都会得到(7)式的解。这就是抽象化的好处之一。
数学是技术转移的极致。有时经由极度的抽象化,就可通过模拟来求解,因此,同样的思考模式可以应用到不同但类似的问题。如果我们把想法概念局限在个别的情形里,就会认为对于任何的其他问题,即使是原来问题的模拟关系,都需要一个新的想法。因此,去指责数学的高度抽象化并把自己隔绝于数学之外的人,并不清楚解题的过程是怎么一回事。抽象化的能力,允许我们通过模拟的方法,有效率地解决各种类型的问题。它让我们把一个问题回推到另一个已知答案的类似问题上。抽象化是通往基本知识的途径,模拟原则是可以多方应用的。
换一个灯泡需要多少专家
需要多少超现实主义者?4位。一位去换灯泡,一位在浴缸中装满流沙,一位用大气层的边缘磨破早餐盘,另一位把抛光后的Swatch手表用独角兽来装饰。
需要多少园丁?3个,一个去换灯泡,另外两个人在旁边争论,这个季节应该使用什么样的灯泡。
需要多少禅师?2位,一位去换灯泡,另一位不要去换。
需要多少数学家?只要一位。他会把灯泡交给4个超现实主义者、3个园丁或2个禅师,这样就把问题回推到已经解决的问题上。
[① 数学的晚上八小时:为了有一个可以放松的下午,我曾向朋友描述了这个关于巧克力片的问题。这个朋友深深着迷于寻找解答。稍晚,他跟我联络,说他直到深夜都还没有上床休息。当他发觉这个问题的简单解答在他眼前一闪而逝时,他变得很焦躁不安,以至于无法入眠。稍后,他把这个问题命名为“赫塞的失眠药”,意指我们在任何情况下都可以把一个问题根据其潜力去延展。]