物理方法解决数学问题(二):Archimedes与球体积公式

    我们平时习惯说“微积分”。有趣的是,积分的出现远远早于微分。积分思想的早期萌芽甚至可以追溯到古希腊时代,Democritus曾运用这种思想解决了很多复杂的问题。他的“数学原子论”观点强调几何体是由一个一个面重叠而成,而面则是由线组成。他把圆锥看作一个个不可再分的薄片,从而成功地得到了圆锥体体积公式:圆锥的体积等于等底等高的圆柱体体积的1/3。事实上,仅仅凭借经验加实验,这个公式也很容易被发现,因此我们这里不再仔细追究公式的推导过程。但古希腊人对球体积的研究却迟迟没有进展。此时,一代神牛Archimedes出现了。Archimedes用了一种出人意料的神奇方法找到了球的体积公式,整个推导过程令人称叹不已,拍案叫绝。
    我们从圆的方程开始说起。首先观察方程(x-a)^2 + y^2 = a^2,这是一个中心在(a,0),半径为a的圆,它在y轴右边与y轴相切。整理一下这个式子,我们有x^2 + y^2 = 2ax。在这个式子中,x可以从0取到2a,每一个x的值就对应着一个y值,它表示圆上对应位置的半弦长。注意到这个式子的特殊性:如果等式两边同时乘以π,牛B东西就来了:πx^2 + πy^2 = 2aπx,左边出现了两个与圆面积相关的项。这使我们有了一种让等式两边再乘以一个2a的冲动,因为这样的话等式右边也出现了一个与2a相关的圆面积:2a(πx^2 + πy^2) = x π(2a)^2。现在的问题是,等式左边多出来的一个2a和等式右边的那个x该咋办?不用担心,我们不是有杠杆原理这种牛B东西么,这两个东西可以当力臂长啊。于是,一个现在看上去并不算太突兀的力学模型出现了:

      
    找一根不计重量的金属杆,水平放置这根金属杆并以O为支点。金属杆右边串一个半径和高都是2a的圆柱体,圆柱体的左端点与支点O重合。把一个半径为a的球和一个底面半径和高都是2a的圆锥用绳子串起来,悬挂在左边距支点2a处。再次回到我们刚才的等式2a(πx^2 + πy^2) = x π(2a)^2。发现了吗,每取一个x,式子中的三个圆面积公式正好对应着这三个几何体相应位置上的横截面积。右边的圆柱横截面积始终为π(2a)^2,它离原点的距离为x;左边那个圆锥的横截面积为πx^2,它与圆锥顶端的距离为x;圆锥上方的那个球里同样存在一个对应的截面,这个截面离球的顶端距离也是x,而它的面积则正好是πy^2(回忆之前提到的半弦长)。乘上它们各自的力臂,我们就得到了上面的式子,而这个式子左右两边是相等的。于是我们知道了,对于任何一个x,三个立体图形对应位置上的“切片”都能够使杠杆平衡。我们有理由相信,如果每一个切片都可以使杠杆平衡的话,取遍所有的切片后,整个系统也应该是平衡的。尽管这存在一个严密性的问题,但毫无疑问这种假设是非常合理的,并且这种想法很大程度上促成了后来微积分的产生。无论如何,Archimedes利用这种方法得到了正确的答案:假设球的体积是V,则由杠杆原理得2a*(V + π(2a)^2*2a/3) = a π(2a)^2*2a (右边那个圆柱体的重心在图形的正中间,它到支点的距离为a,这即是臂长)。解得,V=(4/3)πa^3。

Matrix67原创
做人要厚道
转贴请注明出处

物理方法解决数学问题(一):从一个简单的平面几何题谈起

    数学很科学,但真正神奇的是物理。物理科学一次又一次震撼了人类。上帝是一个艺术家,它创造的这个世界是如此的和谐。自然界的每一个现象都可以用如此简洁的公式表达出来,以至于越来越多的人相信宇宙终极定律的存在。有一句话非常准确地表达了我对物理学的看法:Chemistry is physics without thought. Mathematics is physics without purpose.
    数学的很多问题都可以用物理模型来描述,并且利用一些物理定律来解决。之前我知道至少5个用物理方法解决数学问题的实例,看完《数学与猜想》第一卷后又多了解了好几个。我将选一些个人感觉比较有趣的例子写在这里。另外,这一系列文章的科学性和严密性可能是我所有写过的东西中最没把握的,希望网友们能帮忙纠正一些物理方面的严重错误。毕竟我是文科生,物理的东西了解得并不透彻:(

    我们首先从一个简单的问题开始。这是一道初中平面几何题,它是初中那几道经典老题之一,能在一瞬间唤起你初中时的记忆。相信很多人对这题记忆犹新,再次看到这个题目时甚至可以立即报出答案来。但是,你有见过用杠杆原理来解这个几何题吗?

      
    问题:如图,三角形ABC的面积为1,D、E、F分别是BC、AC、AB上的三等分点,求三角形PQS的面积。

    解答:把整个图形想象成一块水平放置的纸板。在A点挂一个1g的砝码,在B点挂一个2g的砝码,在C点挂一个4g的砝码。由杠杆原理:F是AB边上的支点,相当于承受了3g的重物,这样的话整个图形的重心应该在FC上;D是BC边上的支点,相当于承受了6g的重物,这样的话整个图形的重心应该在AD上。于是,整个图形的重心就应该落在FC和AD的交点S上,因此S必须是AD边的支点。而A重1g,D重6g,则AS:SD=6:1。于是S△ASC = 6/7 S△ADC = 6/7*1/3 S△ABC = 2/7。类似地,S△BQC和S△APB都等于2/7,剩下的S△PQS就等于1/7。

    应用类似的方法还可以解决很多其它的几何问题

做人要厚道
转贴请注明出处

史上最难的初等几何问题?分享一个参考答案

  

    题目发出后,大家的回应似乎比我想象中的更积极,我看到了好几个不同的正确解答。加上我本来知道的几种做法,现在我已经知道了至少5种正确的解法。现在随便发一个,供大家参考。

    我们首先从号称世界第二难的几何题“50-60三角形”(图一)入手。这个题目要稍微简单一些,因为有个已知条件很重要:∠1=50°=∠2,因此我们一开始就有了一个等腰三角形,其中BC=CD。过E作BC的平行线交AC于E'(图二),我们很快就可以知道两个蓝色三角形是等边三角形,于是BC=CP。这样的话三条红色线段都相等,△CPD是等腰三角形,即可算出∠3=80°,∠4=40°。而△BE'C中的∠5也是40°,于是△DPE'也是等腰三角形,DP=DE'。又EP=EE'(全等三角形的两边),ED=ED(公共边),因此△DEE'=△DEP。∠6=∠7=1/2∠PEE'=30°

    事实上,利用50-60问题的结论,我们能很快解决60-70问题(图三)。在AC上找一点F使得∠CBF=50°(图4),根据前面的结论,∠1=30°。而△BDC中的∠2也是30°。又∠3=∠4=20°,于是红色三角形和紫色三角形相似,CF/EF=BF/DF。而∠5=50°,∠6=∠1+∠3=50°,结合前面的比例关系,于是两个蓝色三角形相似。这样的话,∠EDF=∠CBF=50°。我们要求的角就等于∠EDF-∠2=20°

    解答很繁琐。目前我还没有找到什么简单而巧妙的解法。欢迎大家提供更多的解答思路。

计算机与拼图游戏:探讨一个交互式问题

    似乎MM都很喜欢拼图游戏。如果MM过生日你不知道送她什么,送她一副拼图是一个不错的选择(事实上原来我也曾干过这事)。如果你失恋了,或者挂科了,或者这个月没饭钱了,或者怀疑自己的性取向,感到很郁闷的时候,静下心来玩一玩拼图游戏可以让你暂时忘掉烦恼。当你最终完成整个拼图时,你会有前所未有的成就感。当然,只有那些有耐心的人才觉得拼图有趣,像我这样的人肯定拼个十几二十分钟就觉得烦了。计算机搞久了的人往往都很没耐心,同一个操作反复执行的次数多了就觉得很烦,心里总会想这种机械操作交给傻B计算机去做该多省事啊。有时我会想,计算机是否有什么牛B算法可以用来解决拼图问题。今天我们要研究的是,如何把拼图游戏描述成一个信息学问题,计算机是否有更高效的算法来解决这个问题。
    传统的拼图一共有w*h个正方形小块,最终将拼成一个w*h的矩形图案。我们大致有以下两种依据来确定一个小块的位置:根据这一小块上的图案来确定它在整幅图片中的位置,或者从形状上观察这一小块可以和其它哪些块拼接。于是,拼图游戏变成了这样一种交互式的问题:允许你询问某一块是否在指定的位置,或者某两块是否相连,你如何尽早地完成整个拼图。具体地说,你可以:

  • 询问拼块A是否在(x,y)上,交互库返回yes/no
  • 询问拼块A和拼块B是否相连,交互库返回yes/no

    有时候,你并不能把拼图完全当作一个顶点最大度为4的无向图。多数情况下两个拼块只能按某一个方向上的某一种顺序相连。为了更贴近拼图游戏的真实情况,我们可以假定,对于第二个问题如果返回的是yes,则交互库还会告诉你A应该接在B的什么方向。现在的问题是,完成整个拼图最少需要多少次询问?
    假如拼图共有n块,询问的次数不会超过O(n^2)。对于每一个拼块,我都像傻B一样挨着挨着询问“它是不是在这里”,O(n^2)次询问可以保证我完成整副拼图。我们希望知道,是否有算法可以使用O(nlogn)甚至更少的询问次数?

    答案是否定的。对于拼图问题,计算机并没有英明到哪里去,它也只能像傻B一样一个一个去试。我们下面将证明,不管你怎么努力,询问次数再怎么也不会低于O(n^2)。首先我们需要说明的是,问题2实际上并不能带给我们多大的帮助。

      
    如上图,我们把整个拼图划分成一个一个的“十字架”,并且挖掉每个十字架正中间的那个格子(深灰色的格子)。注意到关于这种划分的三个重要性质:

  • 每个浅灰色的格子最多与一个深灰色的格子相邻
  • 任何两个深灰色的格子都不相邻
  • 深灰色的格子共有n/5个(可能有常数级别的偏差)

    现在,假如整个拼图里只剩这些被挖掉的深灰色格子还没确定,其它的格子上都已经放好了正确的拼块。再换句话说,在拼图游戏过程中,拼块是否应放在浅灰色的格子里,若可以则应该放在哪个格子,以及浅灰色格子之间的邻接状态都是已经知道的了,只要是不涉及深灰色格子的信息,你要什么我就给你什么。此时,我们只剩下n/5个格子(仍然是O(n)个格子),并且询问1与询问2变得完全等价;你要问拼块A和拼块B是否相邻,还不如直接问拼块是否应放在某个洞里。于是,问题变为这样,只凭借询问1来确定O(n)个拼块的位置需要多少次询问。我们下面证明,O(n^2)次询问是必须的。
    考虑一个二分图,左边n个顶点表示n个拼块,右边n个顶点表示拼图上残留的n个洞。现在,我只能询问指定的两顶点间是否有边,只有当交互库回答了n次yes后拼图才算完成。那么,作为交互库,你应该尽可能返回对游戏者不利的信息,让整个局面往最坏的方向发展。如果叫你来写这个交互库,你该怎么写?容易想到,只要有可能,我都返回no;除非某个时候一旦我再返回一次no,所有没被问过的边和返回过yes的边所组成的二分图不存在一个完全匹配时,我才可能返回yes。我们需要一个二分图存在完全匹配的充分条件来支持我们的这个算法。
    考虑如下定理:如果一个二分图左边右边各有n个顶点,每个顶点都与对面至少n/2个顶点相连,则这个二分图一定存在一个完全匹配。定理的证明很简单。König定理告诉我们,二分图的最大匹配数应该等于最小点覆盖集,而一个图的最小点覆盖与最大点独立集是互补的,它们的和始终等于顶点数|V|(在这里|V|=2n)。因此我们只需要证明,上述二分图的最大点独立集不会超过n。假如我在左边选的顶点数不超过n/2个,则右边最多也只能选n/2个顶点(左边任一个点都已经使右边至少n/2个点废了);假如我左边选的顶点数超过了n/2个,则右边的顶点一个都不能选(右边每个点都连接了左边至少n/2个点,任选一个都会导致冲突)。总之,最大点独立集不可能超过n,但n显然是可以达到的(取同一边的所有点),那么最小点覆盖集也就是n,即二分图存在完全匹配。
    有了这个定理,下面我就好办了:任何时候,只要每个顶点你都有半数以上的边没问过,我就可以放心大胆的回答no(因为这些没问过的边总可以组成一个完全匹配);一旦某个时刻有一个顶点被问过了n/2次,那么我就随便找一个完全匹配,把这个点“亮”出来,告诉你这个点应该和哪个点匹配(不计询问次数),然后把这两个匹配了的顶点从图中删去,继续刚才的操作。每次删除一对顶点都会顺带着删掉与它们相连的至少k/2条问过的边,其中k表示当时左边右边各剩下k个顶点。删掉了多少边就表示你曾问过了多少边,因此完成整个拼图你总共问过至少n/2 + (n-1)/2 + … + 2/2 + 1/2条边,这个数量显然是O(n^2)的。

做人要厚道
转贴请注明出处
参考资料:http://www.brand.site.co.il/riddles/200710q.html

欧拉的一篇研究报告:关于整数因子和的一个非常奇特规律的发现

    《数学与猜想》里引用了一段欧拉的这篇经典的研究报告,写的非常精彩。你可以从中看到一个数学家是如何进行发现、归纳、猜想和论证的。你可以看到两个完全不同的数学模型里出现了惊人的巧合,通过挖掘它们之间的内在联系,最终完成了伟大的统一。
    没扫描仪,拿相机拍的,效果非常不好,见谅了!
    另外,拜托大家不要盗链下面的图片。