仓库源文

.. Kenneth Lee 版权所有 2016-2020

:Authors: Kenneth Lee :Version: 1.0

将军双饮马


V1

(这个解法是错的,后面的V2的解法才是对的,但原文表述了一些逻辑,可能有参考价值 ,所以我留下这一个版本)

今天教一个小同学做作业,遇到下面这道题:

    .. figure:: _static/将军双饮马1.png

如图,三角形ABC是边长为2的等边三角形,P是BC上的动点,P'和P''是P点分别对于AB和AC 的对称点,求MN长度的取值范围。

老实说,这个问题我一下想不出来,我是在网上查答案知道怎么解的。我这里也不是教做 作业,只是讨论怎么学习的问题。

这道题,其实考察了两个知识点,一个是勾股定理,一个是将军饮马问题。

将军饮马问题都学过,表述如下:

    .. figure:: _static/将军双饮马2.png

将军要从A点到B点去,但中间还需要到河边去饮马,问:P点选在哪里,将军才能让AP+PB 是最短的。

这个问题解法很简单,求B点相对直线的对称点B',然后连接AB',得到的交点就是最优的P 点:

    .. figure:: _static/将军双饮马3.png

证明也是很简单的,原理就是两点之间直线最短。所以A-P-B'比A-P'-B'更短。

而将军双饮马问题表述如下:

    .. figure:: _static/将军双饮马4.png

将军在P点,要在河OA和OB上饮马,然后回到P点,问M,N如何选择可以使将军运动的距离 最短?

好了,在我们讨论这个问题怎么解之前,我们讨论一下中学数学是怎么学的,以及中学数 学是学什么的。

初二开始,很多同学开始觉得数学变难了,因为它从原来的“菜市场的直觉计算”进化为“纯 理性思维”。3个猪头加3个猪头是多少个猪头?这个一眼就能看出来。三个猪头一盒子,6 盒子有多少个猪头?这个东西买菜常用的计算,是比较“直觉”的,差不多就能算清楚。

它解决是是一个具体例子。

但两点之间直线最短,这句话什么意思?不是每个人都能清晰感受到的,因为它确切的语 义是:如果在两点之间作直线之外的任何一条“线”,这条线(严格说是线段,但因为不会 引起误会,我们这里不作区分)比直线“长”。这里有很多不是直觉的东西,包括:什么才 是“直线”?“其他不是直线的线”有多少种?而且,这里还有很多被额外加入的概念,比如 ,什么是“线的连续”?什么是“最短”?

“连续”是个很难的话题,我们先忽略,等大学再说。最短是我们现在就要学的。我们讨论 一下什么是最短。你想想:什么是最短?

“最短就是没有更短啰”也许你会这样说。

但到底什么是“没有更短”呢?

在中学数学中,如果我们用条件x作为变化要素,列出一条含未知数的表达式f(x)得到一个 长度y,假如有一个x=x1,使得y1=f(x1),对于任何x,y1<=f(x),那么我们就认为x1是L最 短的条件。

你看,很简单的一个“说法”,其实包含了非常复杂的哲学理念在里面。它要求你感受到“无 限成员集合”的概念。

两点之间直线最短,定义了一个无限的集合:“两点之间的所有连续连线”,然后对这个集 合分成两组:a=“两点之间的直线连线”和b=“两点之间的非直线连线”,然后我们定义了一 个“公理x”:“a集合中的连线的长度”小于“b集合中的连线的长度”。

要证明将军饮马问题,你就要能用这个角度来理解“最短”,然后,你要纯粹靠这种“集合” 的概念来进行证明:

当P选择在AB'在直线上的交点的时候,它属于a,当P选择不在这个交点的时候,它属于b, 根据公理x,APB'<任何AP'B'。

然后用类似的方法,我们用全等三角形的概念,可以证明PB=PB', P'B=P'B'

从而我们可以得到APB<任何AP'B,所以APB是所有A到B的路径中最短的。这是个现实,不是 老师说的,无论老师怎么说,APB都小于AP'B,你要学的是这个现实。

这些已经是纯粹的逻辑思考,几乎没有一般意义直觉的成分在里面了。

如果你只能够堆出一堆理由出来,然后说出一个模凌两可的结论,然后等着别人说你“有道 理”,你是学不好中学数学的。很多孩子转不过来,是因为他们没有去感受这个描述的严密 性。当他们还在问“这样解‘对不对’”,而没有进化为“我知道每个证明对不对,但我只是还 没有找到方法去证明它”,这时你才掌握中学数学的基本原理了。如果你长期进入不了这种 状态,你的中学数学基本完蛋了。就更别提什么大学的微积分,统计,数论之类的东西了 。

实际上,我前面说的这些关于“证明”的概念,就是大学“数理逻辑”课程的基础。所谓数学 证明,其实就是把公理分解出来的很多几个试杯(集合)装的水,倒来倒去,倒到更多的 试杯里,然后得到更多的结论(定理,引理,和题目答案)。

在将军饮马这个问题中,我们一开始用的是a和b两个试杯,然后我们基于全等三角形的定 理,把a变成了另一个集合c=“所有从A到直线上一点,再到B的路径”,从而证明我们的结论 。到后面我们做最前面那道题的时候,我们把c里面的水倒得再少一点,说,直线上那个点 只能取特定的范围,哪个是最短路径。所谓科学研究,科学证明,本质上就是这个水越到 越少的过程。所以,高级的科学结论,它描述的东西必须非常精准,否则就会错。

没有经过良好的数学训练的人,是无法理解科学结论的。相对论说两个相对速度不同的坐 标系的时间流逝速度是不同的,是从“计算结果”上得到的结论。不表示你可以进行时间旅 行,但这一点,没有数学素养的人是完全不能理解的。

所以,学中学数学,一定要把学会“精确语义”作为重点。数学就是语文,是一种高级语文 ,是人类语言和思维的高级形态。它和什么文科理科没有什么关系,它是你是否具有现代 人思维的标准。那些什么“中学数学没有什么好学的,以后工作都用不着”的人,基本就属 于没有进化的人类,你们不要学这种生命形态。

这是学习数学的基本意义和方法。

然后我们来接着来看将军双饮马的问题,它的解法和单饮马是差不多了,看看这幅图应该 就可以明白了:

    .. figure:: _static/将军双饮马5.png

这里也不是要讨论这个问题证明方法。这里要讨论的是学习数学的另一个技巧。将军饮马 是教科书的内容。将军双饮马是我看了这个题目以后提取的一个引理。我自己中学的时候 ,手上是有一堆的引理的。我高考训练的时候,基本上可以半个小时左右做一份模拟试题 ,但凡做不完的,我就会分析那道题为什么不能在短时间内完成,然后看看有没有可以总 结起来下次使用的“引理”,所以,考试前,不但可以复习那些公理,定理,还可以复习一 堆的引理。其实你要知道,出题其实是很难的,比解题还难,所以,出题老师基本上就是 把一堆的公理,定理,引理组合一下,就形成题目了。证明最短的方法就那么几个,证明 垂直的方法也就那么几个,证明全等的问题也就那么几个……从迷宫外面往终点走很难,反 过来其实就很容易。

很多引理就是这类双饮马,(x+1/x)的平方会消去一次项,1/(2x3)可以化简为1/2 - 1/3这 类的,一些相对通用的“特定模式”。

如果你对“双饮马”这个模式有敏感,本文一开始的那道题,一看就是个双饮马的模型,想 起来根本就没有什么费劲的了。

所以,中学数学考试,和工作不同,它是有技巧的。工作的时候,问题不是老师“设计”出 来的,有没有终点是不知道的,但考试是有终点的,从终点反过来走到起点其实是容易得 多的。

学习中学数学的过程,就是反复玩这些公理,定理,引理,进行头脑游戏的过程。这本质 是一种应试训练,但这种应试训练是非常有益的,它不但通过这样的重复过程强化了你的 理性思维,同时这种不断建立“引理”的过程,也强化了你未来工作中的抽象能力,是可以 支持你理解世界的一辈子的思维武器。

对数学问题提取特定模式,最终可以让逻辑思维重新变成你的“直觉”。比如最前面给出的 这个题目,你能从这个模式下就可以很明显看到双饮马模型的特点,能感受到M,N无论如 何移动,只有移到中间才是最小,能让你看着一个木架子,就知道固定它的那条边或者哪 个角,就可以固定它的形状。只有你有了这种基于理性的直觉思维能力了,才有能力去理 解那些所谓相对论,量子力学的反直觉(那些基本上全部都是眼睛不能观察,纯粹的数据 逻辑之下的东西)。而不会把那种东西当作“真气”或者“玄之又玄,妈咪妈咪哄”了。

V2

上个版本题头的题目我当时做错了,现在我都没有好的方法做这个题,但先把一个知乎用 户灵剑介绍的方法给出来,暂时作为问题的补充,如果读者有更好的办法,请告诉我。

原题如下:

    .. figure:: _static/将军双饮马6.png

首先,我当时遇到这个题的时候,它是个初二填空题,而不是计算题,所以,我猜出题者 的原意是要读者“猜”最大值和最小值的位置,然后用勾股定理计算这两个位置上,NM的可 能取值范围。那个是比较容易的,P在BC中点的时候,MN就是1,靠向B或者C的,时候,MN 就是ABC的垂线,长度就是根号3。但这个明显是不严谨的。合理的证明方法是要证明P离开 BC中点的时候,得到新的长度比在中点的长度更长。

但那个我现在还没有找到证明方法。

另一种方法是用解释几何的方法,直接通过方程解出MN的长度和BP的关系。那个我做了, 确实是可以的,但解题过程非常复杂,而且也已经不适合初二的学生使用了。

现在能给出来的,@灵剑的方法是完全基于经典几何的方法。我觉得值得值得学生来走一次 。我提取出来表述在这里:

首先,把三角形ABC关于AB和AC的镜像都补出来,让图变成这样:

    .. figure:: _static/将军双饮马7.png

这样会形成三个相似三角形:

    .. figure:: _static/将军双饮马8.jpg

令CP''=1-t(这样定义的原因是为了让t正好在是P离开BC中心点的距离,让结果对0称,其 实不是必须的),AM=x,AN=y,现在我们首先把t作为已知数,求出x,y来。

两个未知数,需要两条方程,我们这里有三个相似三角形,每两个就足以组成一条,所以 我们有:

    .. figure:: _static/将军双饮马方程1.png

消去分母,消掉有xy的项,这是个二元二次方程组,超知识范围了,但用二元一次方程的 方法仍可以解出结果:

    .. figure:: _static/将军双饮马方程2.png

好了,现在问题转化了,我们可以单独把中间那个相似三角形拿出来单独分析:

    .. figure:: _static/将军双饮马9.png

就用勾股定理就可以解出MN(这里有一个技巧,既然x,y中都有分式上面那个因子,后面求 解的过程中就可以把这个作为单位,不用拿它参与计算了。但如果要这样做,所有单位都 必须是这个,注意不要再使用原三角形的单位(例如边长2)):

    .. figure:: _static/将军双饮马方程3.png

MN是一个和t的平方直接相关的量。这个似乎也超出初二学生的可以掌握的范围了。但我们 可以把这个变化范围可能性证明出来。首先化简一下,这里的分母其实是9-t的平方,所以 ,我们可以用t的平方(令为s)取代t,这条公式就改变为:

    .. figure:: _static/将军双饮马方程4.png

很容易证明,s增加的时候,MN也跟着增加。

建议学生做一下这个题目,它有几个好处:

可以学习一下怎么把一个复杂的数学问题一步步化简为比较简单的几个独立问题通过一个 复杂的计算过程练习自己的验算和在一个复杂的计算中保证“没有错”的能力也许你们比我 聪明(很大可能性,而且也应该,毕竟你们是专职玩这个的),会找到不需要这么复杂的 计算方法。