数学之美:从“二分法”到“万物皆数”!

「阅读需时: 6 分钟」

二分法,就是一分为二的方法。

如我们两个人,共同吃一个苹果,通常我们会从中切开,然后一人一半。

除了日常使用之外,二分法还是一个非常高效的算法,它常被用作计算机的查找过程中。

#

为了说清楚二分法,我们先来玩一个猜数字游戏:

我心里默念一个1~64之间的数,你来猜是什么数,猜的过程中你可以向我提问,但是你只能问答案是“是”或“否”的问题。

为了保证不论在什么情况下都能以尽量少的次数猜中,你应该采取什么策略呢?

答案很显然,使用二分法!

我们先是猜是不是位于1~32之间,排除掉一半可能性,然后对区间继续二分。

这种策略,能够保证无论数字怎么跟你捉迷藏,都能在log_2{n}次以内猜中,用算法的术语来说就是它的下界是最好的。

为什么这种策略具有最优下界?答案也很简单,这个策略是平衡的。

反之,如果策略不是平衡的,比如问是不是在1~10之间,那么一旦发现不是在1~10之间的话就会剩下比N/2更多的可能性需要去考虑,简单的事情有可能会变得复杂。

这种采用二分法的策略的本质可以概括成“让未知世界无机可乘”。

它是没有“弱点的”,答案的任何一个分支都是等概率的。

反之,一旦某个分支蕴含的可能性更多,当情况落到那个分支上的时候你就郁闷了。

猜数字游戏最糟糕的策略就是一个一个的猜:

是1吗?是2吗?…

这种猜法最差的情况下需要64次才能猜对,下界非常糟糕,效率很低,而且结果具有随机性。

二分法为什么好,就是因为它每次都将可能性排除一半并且无论如何都能排除一半(它是最糟情况下表现最好的)。

#

日常生活中,我们经常都会应用到二分法,其实在商业世界,二分法也有广泛的应用。

电力公司在很早之前就已经在使用二分法来进行故障电线的检查工作。

比如一条10km长的电线,如何迅速查出故障所在?

如果沿着线路一小段一小段的查找,工作量非常大,需要不断的爬电线杆子进行检查。

但如果使用二分法,那事情就简单很多。

假设,电线两端分别为A、B两点,我们首先从中间点C查,先查AC线段是否正常,如果正常,则BC线段就是有故障了,然后再从B、C两点再找中间点D,再查BD线段……,如此进行,很快就会把故障线段的发生范围缩小到50~100m或更小的范围,这样就省了很多精力了。

同样的方法,还可以应用到电话线路、网络光缆等等线路的故障排查工作中。

#

穷则变,变则通,通则久。

任何方法都不能一蹴而就,放之四海而皆准的。

二分法也一样,它也不能适用于所有的场景,于是,就有了三分法等各种分法的出现。

#

有编号为⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿的小球,其中有11个小球的重量相同,只有一个小球的重量和其它不一样,使用一个无砝码的天平称3次,问怎样称能把该球找出来,并说出该球较其它球重还是轻。

#

【解题思路】

由于天平的输出结果有三种“平衡、左倾、右倾”,这就相当于我们的问题有三个答案,即可以将所有的可能性切成三份,根据猜数字游戏的启发,我们应当尽量让这三个分支概率均等,即平均切分所有的可能性为三等份。如此一来的话一次称量就可以将答案的可能性缩减为原来的1/3,三次就能缩减为1/27。而总共才有24种可能性,所以理论上是完全可以3次称出来的。

#

【解题方法】

我们把12个小球,分成⑴⑵⑶⑷、⑸⑹⑺⑻和⑼⑽⑾⑿共计3组小球。

然后按照下图的方法,对小球进行称重:

数学之美:从“二分法”到“万物皆数”!插图

此做法是最常见的处理手法,对号入座即可找到坏球并且分辨球的轻重。

#

提到数学恐怕是很多学生的噩梦,勾股定理、余弦定理、向量、导数……这些名词是不是让你想起了学生时代被数学支配的恐惧。不知道多少人和我一样,一毕业就希望再也不用跟数学打交道。可是看完《万物皆数》这本书,你会发现美梦破灭了,数学无处不在。

#

对于数学,他们是这样说的:

万物皆数。——毕达哥拉斯

数学是上帝用来书写宇宙的文字。——伽利略

数学中的一些美丽定理具有这样的特性: 它们极易从事实中归纳出来,但证明却隐藏的极深。数学是科学之王。——高斯

音乐能激发或抚慰情怀,绘画使人赏心悦目,诗歌能动人心弦,哲学使人获得智慧,科学可改善物质生活,但数学能给予以上的一切。——克莱因

迟疾之率,非出神怪,有形可检,有数可推。——祖冲之

新的数学方法和概念,常常比解决数学问题本身更重要。——华罗庚

数学表达上准确简洁、逻辑上抽象普适、形式上灵活多变,是宇宙交际的理想工具。——周海中

在中美贸易战中,任正非提出:“国家若要强盛,数学是基础。”

#

其实在历史上,我国的数学在很长的一段时间里,甩出国外好几条大街。

有兴趣的可以看下面的延伸阅读:

《万物皆数》:别想逃出数学的手掌心

中华数学极简史:我们祖先那些领先世界的数学成就

发现数学之美——数学中的符号

数学生物学:生命是数字游戏

算算自己有多美

#

数学不仅仅是一个计算的工具,它也是帮助我们理解、认识这个世界的方法。

学习数学永远都不算晚,你需要的不过是一个大胆的猜测、好奇心和想象力。