解决问题的方法——拆分(分而治之)

  • A+

解决问题的方法——拆分(分而治之)

 

当我们遇到问题时,如果能力大于问题,直接用能力解决。

当能力小于问题,我们该怎么办呢?

有两大方法可以解决问题:

1)降低问题难度。将问题的难度降低到自己的能力之下,这样能力大于问题难度,问题就可以解决了。

2)提高解决问题的能力。提高自己解决问题的能力,使得能力大于问题的难度,这样问题也可以解决(如图0所示)。

解决问题的方法——拆分(分而治之)

0 通用方法论

在降低问题难度上,主要有四种方法:拆分(分而治之)、联想、类比和追本溯源,这四种方法简单而高效。

本节我们主要介绍拆分这种方法。

拆分,也可以称为分而治之,是降低难度最简单和普遍的方法。拆分指的是将整体的事物拆开分解,这样难度就降低了,当能力大于问题,就可以把问题解决(如图1所示)。

解决问题的方法——拆分(分而治之)

1 拆分的思维导图

我们按照知识三问的方式来分析拆分,即拆分是什么?为什么?怎么用?

(一)拆分是什么?

拆分,也称为分而治之,它是一种各个学科通用的方法,拆分是将问题拆分成可以解决的小问题,然后各个击破。哲学家、物理学家笛卡尔说:"将面临的所有问题尽可能地细分,细至能用最佳的方式将其解决为止"。

拆分的应用随处可见。比如你买了一个西瓜,你不会直接用嘴去啃西瓜,因为西瓜太大了,不好下嘴,即使是西瓜没有皮也不好下嘴。这相当于难度大于嘴的能力,用刀将西瓜切成一块一块的,然后再吃,这就是拆分(如图2所示)。

解决问题的方法——拆分(分而治之)

2 拆分西瓜

那么要拆分到什么程度呢?至少要使得能力大于问题的难度,这时问题才能被能力所解决。比如对于大人,西瓜可以拆分成较大的块,而对于老人和孩子,拆分的块应该小一点,这样才更利于他们吃西瓜。

在军事学上,分散敌人的兵力,然后集中自己的兵力进行打击,这也是拆分。《战争艺术概论》战略四原则的第三条原则是:"正面突破分割敌人,然后各个击破。"这条原则就是拆分,或者叫分而治之。

均势理论是国家追求安全最普遍的一种手段。均势理论包括:分而治之、补偿政策、军备、联盟和权力均衡的"掌控者",其中分而治之指的是通过分裂竞争对手或使之保持分裂的状态,以此达到削弱对手力量的目的。

在管理学上,很多理论本质就是拆分,比如金字塔原理的MECE原则和波士顿矩阵。

MECE原则指的是,对于议题,能够做到不重叠、不遗漏的分类,而且能够借此有效把握问题的核心,并解决问题的方法。其原则为:相互独立,完全穷尽,通俗的说就是"不重不漏"
(如图3所示)。

解决问题的方法——拆分(分而治之)

3 金字塔原理的MECE原则

波士顿矩阵也称为四象限分析法,就是按照销售增长率和市场占有率将产品分为四个部分,然后每一个部分采用不同的方法。四象限时间管理法也是拆分,原理和波士顿矩阵相同(如图4所示)。

解决问题的方法——拆分(分而治之)

4 波士顿矩阵

精益生产的价值流也使用了拆分,将产品从原料到生产拆分成一个一个环节,然后对每一个进行分析,各个击破,消除不产生价值的不必要活动,从而使得产品的成本大幅降低,生产周期大幅缩短(如图5所示)。

解决问题的方法——拆分(分而治之)

5 价值流

工业工程的代表人物弗兰克•吉尔布雷斯被公认为"动作研究之父"。动作研究是将动作拆分为最小单位,研究各种工作所需要的最少动作组合,消除无用动作,增加产出数量。吉尔布雷斯夫妇发明了一个"动素"的概念,把人的所有动作拆分成17个动素,后来,美机械工程师学会增加了"发现",这样动素分析基本要素就有了18种。如手腕动作称为一个动素,就可以把所有的作业分解成一些动素的和(如图6所示)。

解决问题的方法——拆分(分而治之)

6 动素的分类和符号

对每个动素做了定量研究之后,消除可以消除的无效动作,缩短其他动作时间,就可以大幅度减少作业时间了。弗兰克•吉尔布雷斯说:"世界上最大的浪费,莫过于动作的浪费。"

美国质量管理权威朱兰说:"美国值得向全世界夸耀的东西就是IE,美国之所以打赢第一次世界大战,又有打赢第二次世界的力量,就是因为美国有IE。"富士康科技集团CEO郭台铭说:"没有工业工程就没有我郭台铭的今天。"日本大野耐一说:"丰田生产方式就是丰田式工业工程"。

(二)拆分为什么有效?

从最直观的逻辑来说,拆分相当于把大难度变成小难度,难度降低了,这样当能力大于拆分后的难度时,就可以把问题解决了。

如果对拆分进行更深入的考察,你会发现还原论,一个哲学上的方法。拆分可以在某种程度上看做是还原论的通俗说法。还原论认为世界万物是由基本粒子组成,这种组合性决定了它可以被拆分。

还原论或还原主义(英语:Reductionism,又译化约论),是一种哲学思想,认为复杂的系统、事物、现象可以将其化解为各部分之组合来加以理解和描述

还原论方法是经典科学方法的内核,将高层的、复杂的对象分解为较低层的、简单的对象来处理;世界的本质在于简单性。

牛顿以来,运用还原论研究自然,再把获得的知识纳入公理化体系进行表达,已经成为科学的标准操作。所谓科学方法,本质上就是还原论方法;整个近代科学中,所有科学分支都以牛顿的力学理论为基石,用还原论方法来研究各自的对象,用公理化理论(至少是追求用这样的理论)解释自然。

牛顿们总结的这些方法原则日益成为广泛的共识,贯彻到科学活动中发展成为一套具体操作方法,以科学实验、定量方法来支撑,像拆机器、剥洋葱一样,把研究对象一层一层地进行分解、还原。化学原子―分子学说、生物细胞学说甚至进化学说,能量守恒原理等等,都深深打上还原论方法的烙印。

还原论方法最大的成功之处在于,用这种方法建立起来的科学理论,不仅具有精确严密的特质,还具有强大的预言能力,这种预言经得起实验的检验。无论是哈雷彗星的发现与确认,海王星的发现,大量新基本粒子的发现认证,大爆炸学说的检验,还是各类化学药物的发明与临床验证,直至认识生命本质、遗传工程,奔月工程、地下资源开发等等,所有这些都是以科学理论为指导,在科学实践中取得成功的,而这些科学理论无不是还原论方法的成功应用。与此同时,公理演绎体系的成功则在于,人类对于自然认识的每一个事实、每一个概念和理论推演,都被纳入一个前后关联的逻辑统一体中,使得人类的关于自然的认识和思考,成为知识体系。

近现代几百年科学研究实践的历史的经验证明,科学家们自觉使用的还原论方法不但已经建立起几乎全部的关于自然的知识,而且这种方法还正在继续显示出强大的生命力。它的生命力显现在它的不断创新、不断贡献给人们新知识的过程中。

当代还原论认为,尽管整个世界分成不同的层次,但都是基本科学的分支,严格来说,只有一种科学,那就是物理学。现代物理学有比较成熟和完善的理论,自然界中的各种现象都可以通过物理学来解释。物理学解释被认为是真正的解释,具有解释的优先性。

笛卡尔认为真理并不是彼此孤立的、平列的,而是一些有主有从的原理,构成一个有机的体系。他要找出这个大体系,所以不肯只是一笔一笔地记流水账,一定要算清总账。他说,"整个哲学好像一棵大树,树根是形而上学,树干是物理学,从这树干上发出的枝条是各种其他科学"他所谓树根,是指最根本的哲学原理,首先是关于人类认识的原理。

笛卡尔说的哲学是广义的哲学,我们可以将形而上学为狭义的哲学,这样哲学是树根,比如还原论;物理学是树干,比如牛顿力学;其他学科是树枝,比如经济学、管理学、军事学、医学、工学、理学和教育学等。

物理学建立在哲学这个树根上,然后分化出其他学科。哲学的还原论是物理学核心的方法,现代物理学几乎都是建立在还原论之上的。还原论也可以直接用于其他学科,只是称呼变成了拆分或者分而治之,比如分治算法和均势理论的分而治之。

美国哲学家卡尔普纳说:"物理学语言是科学的普遍语言。这也就是说,科学的任何领域内的语言可以保存原来的内容翻译成为物理学语言。因此,可以作出这样的结论:科学是一个统一的系统,在这个系统之内并无在原则上不同的对象领域,因此,自然科学与精神科学并不是分裂的。这就是统一科学的论点(如图7所示)。"

解决问题的方法——拆分(分而治之)

7 哲学之树

除了哲学的还原论,哲学还有很多方法可以应用于其他学科,比如哲学三问和三种美德。哲学三问是:我是谁?我从哪里来?我要到哪里去?这三问也适用于一个国家,我是谁?我在哪?我该怎么办?文明冲突解决了"我是谁"的问题;地缘政治解决了"我在哪"的问题均势理论解决了"我该怎么办"的问题。也就产生了分析国际政治的三大工具,可以翻一翻经典的国际政治书籍,比如《大棋局》、《国家间的政治》等,都离不开这三大工具。

哲学三问还可以得到知识三问:是什么(What)?为什么(Why)?怎么用(How)?对于任意一种知识,只要搞清楚这三个问题,基本上就把这个知识学会了。后来有人又增加了人物(Who),时间(When)和地点(Where),就形成了5W1H方法,也被称为六何分析法,这个特别适合用来拆分一个事件(如图8所示)。

解决问题的方法——拆分(分而治之)

8 哲学对其他学科的影响

哲学有三种美德,这三种美德影响着人类的选择和发展,三种美德包括:审慎(利己)、合宜(克己)和慈善(利他)。经济学建立在利己条件下,比如博弈论经典的囚徒困境,两个囚徒都是利己的,但是世界上存在利己、克己和利他三种人,如果囚徒是克己或者慈善的,就可以跳出囚徒的困境。

亚里士多德和孔子都推崇中庸,属于合宜,也就是克己,有限度的利己。

很多宗教都是建立在慈善的基础上,教众们模仿神的慈善行为,希望升华到直接与神交汇沟通的伟大目的。

(三)拆分怎么用?

其实拆分的逻辑比较简单,就是将问题拆分到可以解决的最小单元,然后各个击破。所以拆分解决就分为了两步,第一步是拆分,第二步是各个击破。

笛卡尔在《谈谈方法》中给出了探求真理的四条原则:"

第一条:凡是我没有明确地认识到的东西,我决不把它当成真的接受,也就是说,要小心避免轻率的判断和先入之见,除了清楚分明地呈现在我心里、使我根本无法怀疑的东西外,不要多方别的东西到我的判断里。

第二条:把我所审查的每一个难题按照可能和必要的程度分成若干部分,以便一一妥为解决。

第三条:按次序进行我的思考,从最简单、最容易认识的对象开始,一点一点逐步上升,直到认识最复杂的对象;就连那些本来没有先后关系的东西,也给它们设定一个次序。

第四条:在任何情况下,都要尽量全面地考察、尽量普遍地考察,做到确信毫无遗漏。"

笛卡尔的第二条和第三条分别对应于拆分和各个击破,或者说第二条对应于分,第三条对应于治之,即分而治之。

笛卡尔的第一条是只相信明确的东西,有些批判性思维的意味。这条其实也很有用,因为人们容易人云亦云。比如思想家亚里士多德认为女人的牙齿比男人少,很多人信以为真。古希腊数学家欧几里得所著的《几何原本》是一本划时代的著作,那么它里边的原理就都是真的吗?书里边有五大公设,前四条公设都可以用《几何原本》中的其余公设、公理和推论证明,而人们始终相信欧氏几何是物理空间的正确理想化,所以众多数学家就尝试用前4个公设、5个公理以及由它们推证出的命题来证明第五公设,然而都没有成功。罗巴切夫斯基反其道行之,首先把第五公设变成否定命题,然后进行推导,如果推导出矛盾,则证明否定命题是错误的。可是结果并没有推导出任何矛盾,否定的第五公设和其他四条公设没有矛盾,从而产生了非欧几何。

笛卡尔的第四条要做到全面考察,不遗漏。如果你知道金字塔MECE的核心原则是不重不漏,你就会发现金字塔原理的不漏其实笛卡尔早都说过。

笛卡尔探求真理四原则可以简化为:

1)只接受明确的东西;

2)拆分问题;

3)从简单到复杂各个击破;

4)全面考察无遗漏。

这四个原则和流程图的思维类似,可以画一张流程图来表示这四条原则,或者将它们看做解决问题的四个步骤(如图9所示)。

解决问题的方法——拆分(分而治之)

9 拆分四步骤

比如针对一个问题,首先靠辨别哪些是事实,哪些不是,比如很多陈诉都是观点而不是事实。只接受明确的东西,这使得你分析的基础是建立在稳固的基础上的,而不是建立在沙子上。例如基于地心说建立的理论,无论你建立的多么完美,到最后都是会倒塌。第二步对问题进行拆分,拆分到可以解决的程度,第三步从简单到复杂各个击破被拆分的小问题,第四步对整个过程进行考察,看看是否有遗漏的地方。

(四)拆分的案例分析

1)搬运大家具

如何将大的组合家具从旧房搬到新房呢?

大的家具不方便整体搬运,所以人们首先把组合家具进行拆分,拆分成可以方便搬运的最小单元,然后使用汽车将拆分完家具从旧房运到新房,最后再组装就可以了。搬运家具就可分为三个步骤:拆分家具、运输家具和组合家具(如图10所示)。

解决问题的方法——拆分(分而治之)

10 搬运家具三步骤

我们还可以扩展思考一下,为什么老一辈的榫(sǔn)卯结构的家具几乎被淘汰了,而现在的家具都是板式家具呢?

榫卯结构制作成本高,制作难度大,安装难度大,家具不易拆分运输,所以这种结构不容易大面积推广。

压板技术的发明使得板材可以大批量、快速、低成本的进行生产,这样板材就很容易取代之前的实木。然后三合一连接件的发明,使得板材之间的连接更加的简单、快速,并且成本低廉,这就使得板材家具得到大规模普及(如图11所示)。

解决问题的方法——拆分(分而治之)

11 板式家具和三合一连接件

三合一连接件包括偏心轮、连接件和预埋件,看似简单,但是却可以方便的连接不同的板材,并且这种工作不需要培训都可以操作。这样,客户就可以去家具店买回自己心仪的家具,由于都是平板,很容易运输,然后回到家中就可以自己组装了。

2)背诵《孙子兵法》

如何背诵《孙子兵法》?

我是从2010年开始对兵法感兴趣的,《孙子兵法》我看了很多遍也没看明白,就想着把它背下来,这样只要有时间我就可对其进行思考了。别人可能有更好的背诵方法,而我采用的方法就是拆分。《孙子兵法》有13篇,共6000多字,由于是古文,背诵难度不小。我不是一下子背诵13篇的,我首先背诵每一篇的篇名,然后在依次背诵每一篇。对于每一篇,我也采用的是拆分的方法,而不是一下子就把这一篇全背下来。我是把这一篇分成几段,先背诵每一段的第一个字,这样这一篇的结构就记住了,有点类似于索引。然后再分别背诵每一段,直到这一段背熟了我再背诵下一段。

比如《始计》篇分为5段,我先记住这5段的第一个字为:孙故将兵夫,然后在背诵第一段"孙子曰:兵者,国之大事,死生之地,存亡之道,不可不察也(如图12所示)。"

解决问题的方法——拆分(分而治之)

12 背诵孙子兵法

背熟了再背诵下一段,这样我在工作之余,大约花了一个月,把《孙子兵法》完全背诵下来了。

3)物质的组成

拆分在物理学中有着更重要的作用,拆分是还原论的俗称。没有还原论,也就没有今天先进的物理学和科技。

比如对于水这种物质,物理学将水首先拆分成了水分子,然后再把水分子拆分成1个氧原子和2个氢原子,氧原子由电子和氧原子核构成,氧原子核由8个质子和8个中子构成,质子由2个上夸克和1个下夸克构成,中子由1个上夸克和2个下夸克构成(如图13所示)。

解决问题的方法——拆分(分而治之)

13 水的拆分

夸克也不仅仅只有上夸克和下夸克,还有奇夸克、粲夸克、底夸克和顶夸克,每种夸克还有一种反夸克,并且都有三种颜色,总计有32种夸克。包括各种夸克在内,现在发现的一共有61种基本粒子。

物理学的这种拆分被称为还原论,德国物理学家赫姆霍兹曾提出下面的口号:"自然科学的终极目的是将自然界的一切过程还原成作为这些过程基础的运动并探索它们的推动力,也就是说,把它们还原成力学。"机械唯物主义可以概括为"所有自然现象都可以用力学原理进行解释。"

这种大统一的思想是很多物理学家的毕生追求,比如爱因斯坦的大统一理论。现在大统一理论是要统一四种力,由于微观粒子之间仅存在四种相互作用力,万有引力、电磁力、强相互作用力、弱相互作用力。理论上宇宙间所有现象都可以用这四种作用力来解释。通过进一步研究四种作用力之间联系与统一,寻找能统一说明四种相互作用力的理论或模型称为大统一理论。

我使用广义动量定理和系统思考来分析经济学,管理学和军事学,其实也是希望将它们进行统一,使用广义动量定理和系统思考解释它们所以的现象和理论,这样就可以降低大家学习和理解的成本。

4)颜色的拆分——三原色

17世纪,23岁的牛顿就发现经过三棱镜的折射,一束阳光被分解为一道连续的彩色光谱,牛顿是发现光是有红橙黄绿青蓝紫,七个颜色组成的,这便是著名的色散现象(如图14所示)。

解决问题的方法——拆分(分而治之)

14 光被拆分成7种颜色

英国物理学家托马斯·杨第一个测量了7种光的波长,最先建立了三原色原理:指出一切色彩都可以从红、绿、蓝这三种原色中得到(如图15所示)。

解决问题的方法——拆分(分而治之)

15 光的三原色

牛顿将阳光拆分成了7种颜色,而托马斯•杨将所有颜色拆分到红、绿和蓝。所有颜色都可以通过三原色来组合而成。我们使用的各种软件来调整颜色,也都是基于三原色。

5)特斯拉电池拆分

马斯克举了以下这个例子:"在特斯拉早期研制电动汽车的时候,我们遇到了电池高成本的难题。当时储能电池的价格是每千瓦时600美元,因为它过去就是这么贵,它未来也不可能变得更便宜。那么我们从第一性原理角度进行思考:电池组到底是由什么材料组成的?这些电池原料的市场价格是多少?电池的组成包括碳、镍、铝和一些聚合物。如果我们从伦敦金属交易所购买这些原材料然后组合成电池,需要多少钱?天哪,你会发现只要80美元/千瓦时。"

马斯克使用的第一性原理来分析电池成本,从而将电池成本大幅降低。我们也可以使用拆分的思维来分析,正好可以使用笛卡尔探求真理的四原则。首先是市场上电池的价格是每千瓦时600美元,很多人直接就接受了这个价格,那么制造出来的电动车将相当昂贵,不可能大规模推广,也就不符合马斯克的目标。按照笛卡尔的第一条原则,只接受确实的东西,那么电池的成本是否真的很高,才导致电池价格昂贵呢?这是可以进行怀疑的。然后就像马斯克一样,将电池拆分成各种原料,然后各个击破来核算每种的重量是多少,每千克价格是多少,进行汇总就是电池的极限成本(如图16所示)。

解决问题的方法——拆分(分而治之)

16 特斯拉电池拆分

最后进行全面考察,除了电池的原料成本,还需要生产和人工等成本,加在一起就得到了电池的总成本。马斯克在计算电池成本上使用的方法和拆分很相似,这两种方法都能推出电池的成本,进而知晓电池的售价究竟是否合理。

我们也可以按照现在特斯拉的售价,估算马斯克到底将电池的成本降到了多少。2020Model 3的标准版电池是53千瓦时,售价29.18万。按照《电池技术解读及电池包拆解——特斯拉Model 3》中的估计,Model 3的电池成本可以降低到155美元/千瓦时,也就是1085/千瓦时。

如果电池价格为600美元/千瓦时,美元兑人民币按照7来计算,那么标准版光电池就需要600×7×53=22.26万,而Model 3标准版版的售价才29.18万,这是不可能的。

我们也可以计算一下马斯克通过他的方法,把电池价格降到了原来的多少。1085/(600×7)×100%=26%,也就是说马斯克将电池成本降到了原来的26%

Space X的火箭成本降低以及殖民火星计划等,都可以通过拆分来分析。

在曹冲称象的故事中,称的能力小于称象的难度,所以曹冲采用了降低难度的方法,将难度进行拆分。大象不能杀了进行拆分,那么就通过等量替换原理,记录大象在船上的吃水深度,然后往船上装石头到吃水深度,这样就将大象重量在替换成一大堆石头,也就相当于把大象的体重进行了拆分,然后对每个石头进行各个击破,称量完每个石头然后进行累加,就得到了大象的体重。所以曹冲称象从逻辑上分了三步:等量替换、拆分称重和组合重量。

6)李彦宏的分而治之

李彦宏说:"你首先要想清楚你自己最care(关心)的是什么?你最想要的东西是什么,把这个想清楚了,再看我要想获得这个东西,我需要做什么,这些东西再一一地去分解。我们搞电脑的,上学的时候学过一个算法,叫做divide and conquer,叫做分而治之。一个宏伟的目标看上去遥不可及,这怎么可能做成呢?但是你把这些目标分解成一个一个的小目标,小目标再往下分解,分解到最后,分解成细枝末节时你会发现,这事其实是可以做的。这个做成了再往下走一步,做更大点的事,最后不知不觉,你可能把这宏伟的目标就做成了。"

李彦宏的方法就是分而治之,也就是拆分。

7)计算机的分治算法

分治算法也是采用了分而治之的思维,它是常用的经典算法。分治算法的设计思想是:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。

五大常用算法包括:贪婪算法,动态规划算法,分治算法,回溯算法,分支限界算法。

分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地求解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治算法(如图17所示)。

 

解决问题的方法——拆分(分而治之)

17 计算机的分治算法

分治算法的步骤是拆分、求解与合并,这个和搬运大家具的拆分、运输与组合类似。

100个硬币中找出伪币

100个硬币,其中有1个伪币,它除了质量比真币轻一点之外,没有别的区别,如何通过天平快速找到这个伪币。

如果每次使用2个硬币进行对比,那么需要使用50次天平。

分治算法采用将问题进行拆分,使用6次就可以找到伪币。首先是将100个硬币分成两个50,使用天平进行衡量,然后确定伪币在比较轻的那50个里,接着再将50分成225,将25分成两个1211,将12分成26,将6分成23,将3分成31,这样6次就可以找到伪币,比50次少很多(如图18所示)。

解决问题的方法——拆分(分而治之)

18 寻找伪币过程

骗子如何使用分治算法呢?以下来自网上一个经典的例子。

2014年世界杯期间,32支豪门跃跃欲试。世界杯的影响范围已经不仅仅局限于球迷之间,更是辐射了以球场为中心的一大片商业活动。就从赌球来说吧,想必各大博彩网站早已恭候多时,同时各大天台上也开始预订站席。

这是一场球迷的狂欢,同时也是骗子的节日。就拿赌球来说,有这么一个经典的骗局。

小刘是一名铁杆球迷,同时也是博彩爱好者。2014年小组赛期间,他凭着自己的感觉参与了多次投注,都是小亏小赚。他看着网上各路大神赚得盆满钵满,心里很是痒痒,凭什么大家都看了这么些年球,有的人能如此顺风顺水,难道真的是有内幕吗?

偶然一次他收到一份匿名邮件,上面赫然写着自己有内部消息,下面一场哥伦比亚踢乌拉圭,哥伦比亚准赢。小刘觉得完全就是无稽之谈,我苏神苏亚雷斯岂是浪得虚名?随后不屑地点击了删除键。

然而后来那场比赛确实哥伦比亚2:0大胜乌拉圭。小刘一边吐槽着一边想起了前几天的邮件,觉得这件事好像有点蹊跷。

过了两天小刘又收到一份邮件,断定下一场荷兰赢墨西哥,小刘经不住诱惑决定尝试一下,便投注了比利时500元,等待的时间是漫长的,好不容易等到了凌晨的比赛,这次小刘有点无心看球,心思全在那封邮件上。最终比赛的记分板停留在荷兰2:1墨西哥,小刘也应此赚到了几千,他觉得这真是天大的好事,背后有高人相助的感觉就是不一样,小刘开始期待着那封匿名邮件的到来。

四分之一决赛第一场,法国对战德国。果不其然,小刘又收到了邮件,这次邮件里断定德国获胜,并声明这是最后一次免费邮件,想要得知后续的胜负情况,需要汇款一万元。

小刘这次大胆了一些,增加了钱数押宝在德国队身上,那场球赛十分紧张,但小刘心里居然多了一丝稳健。90分钟的胶着之后,德国队获胜。小刘赚到了5000元。金钱使他彻底信服了,赌徒心态冲昏了他的理智,他毫不犹豫地汇款一万给邮件里的账户。

四分之一决赛中,小刘依靠"高人"相助直接将成本全部收回还倒赚几万。但后来事情的发展就不像他想象的那样了,半决赛中,小刘将自己几年的身家按照邮件提示押在巴西身上,结果德国7:1豪取巴西。小刘不仅被骗子骗了1万元,还因为相信骗子的邮件,将全部身家输光了。

在去天台的路上,小刘还是想不通,为什么会这样呢?

如果是你,连续接到5次预测正确的邮件,你会相信吗?

假设每场输赢的概率都是50%,那么5次都猜对的概率是0.5×0.5×0.5×0.5×0.5×100%=3%,这种概率太低了,所以很多人都会相信。那骗子真的是这么聪明,能连续预测对这么多场比赛吗?

其实骗子用的就是分治算法。

假设有50万真球迷,1/8决赛有8场,1/4决赛有4场,半决赛有3场,决赛有1场。

1/8决赛有8场,不必每场都发,选择其中比较热门的4场,最终将会有31250人收到四次完全正确的邮件,而他们也即将成为你的潜在付费用户。

1/4决赛第一场提供最后一次免费预测,并开始提及收费。此时可以在邮件中提供主流博彩网站的当前赔率,刺激用户欲望。最终将会剩下15625名潜在付费用户。

经过5次的洗脑,我相信会有很多"小刘"甘愿为此掏钱。

骗子的操作其实非常简单,首先将50万拆分为两个25万,然后向25万球迷发A队会赢,向另外25万发B队会赢,然后在这场比赛之后,就有25万人收到了猜对的邮件。然后再把这25万人分成212.5万,向其中的12.5万发C队会赢,另外12.5万发D队会赢,这样在这场比赛结束之后,有12.5万人收到了正确邮件。然后骗子继续上述操作,接到越多的正确邮件,球迷的信任程度也就增加的越多,然后就可以欺骗这些球迷了(如图19所示)。

解决问题的方法——拆分(分而治之)

19 足彩邮件骗局

流氓不可怕,就怕流氓有文化。学习知识是有用的,否则就会像小刘一样,直到被骗了都不知道自己怎么被骗的。

对于大数据来说,数据的难度大于单个电脑的处理能力,所以就需要将数据进行拆分,然后进行解决。

MapReduce是一种处理大数据的方法,他由Google公司提出,MapReduce是一种计算模型,该模型可以将大型数据处理任务分解成很多单个的、可以在服务器集群中并行执行的任务,而这些任务的计算结果可以合并在一起来计算最终的结果。

MapReduce是一种分布式计算框架,以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。主要用于搜索领域,解决海量数据的计算问题。MapReduce有两个阶段组成:MapReduceMap负责把一个大的block块进行切片并计算。Reduce负责把Map切片的数据进行汇总、计算。也就是MAP负责拆分和求解子问题,Reduce负责合并子解(如图20所示)。

解决问题的方法——拆分(分而治之)

20 MapReduce算法流程

MapReduce如何统计一个文本中每个单词出现的次数。MapReduce首先将输入的数据进行拆分,拆分成3行,然后对每一行统计每个单词的次数,接下来进行洗牌,将相同的单词放到一起,经过reducing合并结果,就完成了对大数据的分而治之。

8)广义动量定理的拆分

从广义动量定理Fαt=MV的角度来说,影响成果有4种要素,包括力的大小、力的方向,作用点和时间,也就是说,任何变化都是由力引起的,所以能使用力进行分析(如图21所示)。

解决问题的方法——拆分(分而治之)

21 广义动量定理四要素

我们将影响成果的要素拆分成了四种,就可以使用这4钟要素来分析各种理论为什么有效,每种理论也都会有侧重点,不会每个要素都强调。比如聚焦理论和定位理论,强调的就是作用点不同,产生的成果不同。作用点越关键,产生的成果越大。我们可以使用凸透镜引燃火柴的例子进行类比理解。

用凸透镜将阳光的焦点聚焦于火柴杆,火柴没有被点燃。将阳光的焦点聚焦于火柴头,火柴被引燃。作用点的改变导致成果的改变(如图22所示)。

解决问题的方法——拆分(分而治之)

22 凸透镜引燃火柴

在需求定律中,商品的价值和价格决定了商品的需求量,而这两者皆可以看做是力,由这两种力共同决定了需求量这个成果,其中商品的价值是购买的动力,价格是购买的阻力,二者的合力决定需求量这个成果,也就对应于广义动量定理中的F。科斯定理中的产权和交易费用也可以这样进行分析。

9)军事学拆分敌人兵力

世界十大兵书的《战争艺术概论》有战略四原则,其中第三条原则是:正面突破分割敌人,然后各个击破。这条原则的本质就是拆分敌人,各个击破。

我们可以举一个例子进行理解。

假设我军和敌军各有4名士兵,双方进行枪战,2发子弹打死一个敌人。如果我军和敌军都将4人投入战斗,那么我方和敌方胜负各半。

如果我方将敌人分成2个部分进行各个击破,那么我方会获得胜利。我方首先将敌人拆分成2个部分,然后使用4人进攻其中的2人,我方每人打出1发子弹,共4发子弹,将敌军的2个人打死;敌军每人打出1发子弹,我军有2人各中1发子弹。然后我军再使用这4人攻击敌人剩余的2人,我方每人打出1发子弹,共4发子弹,将敌军的2个人打死;敌军每人打出1发子弹,将我方上一轮中1枪的2人打死,这样我均剩余2人,敌军剩余0人。

如果我方拆分敌人,敌人被拆分的人也参加了战斗,我方是否还有办法获得胜利?

有办法,可以通过聪明的拆分方式来打败敌人。克劳塞维茨在《战争论》中给出了方法,使用3/4的兵力攻击敌人1/3的兵力,使用1/4的兵力牵制敌人2/3的兵力,即使一胜一负,对于我方还是有利的,因为我方消灭了敌人1/3兵力,而敌人只消灭了我方1/4的兵力。

他在《战争论》中写道:"如果我们打算用3/4的兵力进行主要战斗,用1/4的兵力牵制未受攻击的敌军,那么真正受攻击的那部分敌军的兵力应该占总兵力的1/4以上,即为1/3左右。在这种情况下,如果两处的结果是一胜一负,那么我们用3/4的兵力打败了敌军1/3的兵力,而敌军用2/3的兵力只打败了我军1/4的兵力,这显然对我们是有利的。如果我们比敌人占很大优势,以致我们用3/4的兵力就可以战胜敌军1/2的兵力,那么我们获得总成果的把握就更大。"

这或许不那么好理解,我们来列举一个实际的例子进行分析。假设敌我双方都有1200人,装备和能力相同。按照克劳塞维茨的比例,我方以300人牵制敌人800人,以900人进攻敌人400人(如图23所示)。

解决问题的方法——拆分(分而治之)

23 聪明的拆分敌人

我们可以使用兰切斯特法则进行分析,第一法则,远距离作战时:战斗力=武器性能×兵力数,即E=mv。第二法则,近距离作战时:战斗力=武器性能×兵力数的平方,即E=mv2

如果两场战斗都是远距离作战,那么敌人在一场战斗中损失300人,换取我方300人;在另一场战斗中,我方损失400人换取敌人400人,这样敌我双方都剩余500人,胜负各半。

如果两场战斗都是近距离作战的话,在杀伤力趋近于0的情况下,可以使用兰切斯特第二法则进行计算。在我方300人和敌人800人的战斗中,我方300人全部死亡,敌人剩余解决问题的方法——拆分(分而治之)人,在另一场战斗中,敌人的400人全部死亡,我方剩余解决问题的方法——拆分(分而治之)人,这样我方再以806人和敌方的742人战斗,我方获得胜利,我方剩余解决问题的方法——拆分(分而治之)人。兰切斯特第二法则是一个极端,枪的杀伤力越高,越趋近于第一法则,比如1枪就打死1个敌人;杀伤力越低,越趋近于第二法则,现在战斗在第一法则和第二法则这件,也就是说克劳塞维茨的这种拆分方式,枪的杀伤力越低越容易获胜。

如果是完全协同,并且枪的杀伤力非常低,那么可以使用兰切斯特第二法则进行计算。我们的战斗剩余806人,敌人的战斗剩余741人。然后我方以806人进攻敌人741人,最后我方胜利,剩余316人。

10)国际政治的分而治之

分而治之是国际政治常用的一种方法,它属于均势理论的一部分,也就是将对手分成几部分,从而降低对手的实力。

分而治之,是通过分裂竞争对手或使之保持分裂的状态,以此达到削弱对手力量的目的。从十七世纪到第二次世界大战结束,法国外交政策的一项不变原则,就是赞成德意志帝国分裂成若干小的独立国家,或者阻止这类小国联合成一个统一的国家。法国的政策就是分而治之,从而减少德国的力量。

一些大国为了控制其他国家,也是采用分而治之的方式,比如通过在对方国家培植反对派,从而将其分而治之。

《孙子兵法》在《兵势》篇说:"治众如治寡,分数是也",意思是说治理大部队就像治理小部队一样有效,是依靠合理的组织、结构、编制。这也是分而治之,庞大的军队难以管理,通过将军队拆分成几个部分,每个部分由将领管理,每个部分还可以进行拆分,再由低级将领管理,这就形成了军队的层级式结构,使得管理更加有效(如图24所示)。

解决问题的方法——拆分(分而治之)

24 先秦兵制

比如一个军的10000人拆分为4个师,每个师2500人,设立师帅;每个师分成5个旅,每个旅500人,设立旅帅。这样一个将军管理4个师帅就可以管理10000人了。

国家为了方便管理,也是把国家进行行政区拆分,分为省、市、县等,这样管理的难度就降低了。

11)系统思考的拆分

系统思考也同样会用到拆分的方法。比如对一个系统,我们会对照系统思考的要素,把这个系统拆成各个组成部分。负反馈包括目标输入、控制、输出、反馈、偏差等要素。

以用水杯接水为例,我们想要接80%左右的水,我们是如何操作的呢?首先我们把杯子放到龙头下边,拧水龙头,水流入杯子中,我们用眼睛观察杯中水位和80%水位差多少,当杯中的水位达到80%水位时,我们关闭水龙头,完成接水过程。

我们可以按照负反馈的要素,将接水过程进行拆分。

目标输入:水杯装80%的水;

控制:拧水龙头;

输出:实际水位;

反馈:用眼睛检测实际水位;

偏差:目标水位-实际水位(如图25所示)

解决问题的方法——拆分(分而治之)

25 水杯接水和负反馈

因为接水过程是按照偏差进行控制的,也就是说目标和反馈是不同号的,即相减关系,那么这个接水过程就是负反馈过程。目标输入是正号,连接到比较器上,然后比较器连接到控制,也就是拧水龙头上,控制输出的是实际水位,反馈是用眼睛检测实际水位,反馈是负号,连接到比较器上,接水的负反馈图就画好了(如图26所示)。

解决问题的方法——拆分(分而治之)

26 水杯接水的方框图

我们将系统拆分成各个系统要素,然后根据这些要素的功能就可以分析整个系统。比如眼睛的功能是检测反馈实际水位,如果不用眼睛看,就不知道实际水位在哪,相当于系统没有反馈环节,就不能完成接80%的闭环控制任务。

12)费米估算的拆分

费米是意大利裔的美国物理学家,曾在1938年获得诺贝尔物理学奖,而他被世人所更为熟知的,则是他在芝加哥大学课堂上凭空抛出的一个看似荒谬的问题:

"芝加哥有多少个钢琴调音师?"

听到这个问题的学生都是一脸茫然,费米则提示遇到这样看似庞大的问题,可以把这个问题分解成一些便于操作和认知的小问题,根据猜测和假设去估算问题。

这也就是费米问题思想的核心:拆分。

也就是说把一个庞大的、抽象的、复杂的问题,逐级拆解为微小的、具体的、简单的问题,然后再将这些小问题进一步拆解,只要保证了逻辑关系,那么将这些可以回答的小问题答案,逐步反推到费米问题上,就可以得到最终的准确答案。

芝加哥有多少个钢琴调音师?

我们怎么解答这个让人无从下手的问题呢?我们可以使用拆分的方法,大问题无法解决,我们就把它拆分成小问题,拆分到可以解决为止。

问题问的是钢琴调音师的人数,那么我们可以把这个问题拆分成2个,一个是总的工作时间,另一个是1个调音师一年的工作时间,它俩相除,就能得到调音师的人数。

每个调音师每年工作时间又可以拆分为3个小问题,每年52周,每周工作5天,每天工作8小时,这样就得到了一个调音师每年工作时间为2080小时。

对于总的调音时间,也可以拆分为3个小问题,包括有多少架钢琴,每架钢琴每年调音几次,每次调音多长时间。我们发现这3个小问题我们还不能解决,那我们就继续拆分。

对于钢琴的总数量,这个一般是以家庭为单位进行购买的,在当时的美国,钢琴属于半稀缺物品,拥有钢琴的家庭应该不会超过1/2,也不会低于1/10,因此费米估算为1/3。家庭的数量和芝加哥的总人口以及每个家庭平均几口人有关,芝加哥总人数大约是300万,考虑一下身边实际情况,费米估算每个家庭平均为4人,这样就能计算出钢琴的总数量了(如图27所示)。

解决问题的方法——拆分(分而治之)

27 芝加哥有多少个调音师

对于每架钢琴每年的调琴次数,调音师不是常见的岗位,调音次数应该不会超过13次,也不会低于101次,因此费米估算为31次,也就是每年0.33次。

调音一次要花多久,不会超过10小时,也不会低于1小时,因此可以估算为2小时。

这样就可以得到总的工作时间为:3000000/4×1/3×0.33×2=165000小时,每人每年工作2080小时,这样就可以得到调音师为165000/2080=79人。

这个答案准不准呢?后来费米找到了一张芝加哥调音师的名单,上面一共有83人,有的人名还是重复的。要知道,费米是估算出来的,已经相当准了。

费米估算为什么比较接近真实结果,因为:平均律。他的原理是在任何一组计算中,估算带来的错误都可以相互抵消,所做的假设越多,被抵消的概率就会越大。

另外由于我们把不能解决的问题进行了拆分,并且拆分到能解决为止,比如一个家庭平均有几口人,我们按照常识会估算4个或者5个,而不会估算出20个或者100个,我们的估算也是接近现实的。

绝大部分时候,我们并不需要完全精确的答案,或者我们根本没办法获得精确的答案,一个接近现实的答案就能满足我们的需求。

13)学习方法中的拆分

西蒙学习法、思维导图、番茄工作法和八大思维图示法中,都是用了拆分。在西蒙学习法中,将一门学问进行拆分,然后使用6个月时间各个击破,就能掌握这门学问。在思维导图中,压缩、拆分和联想是思维导图的三种主要思维。在番茄工作法中,通过将复杂的任务进行拆分,然后利用多个番茄钟来各个击破,就能解决复杂的任务。在八大思维图示法中,括号图使用的思维就是拆分(如图28所示)。

 

解决问题的方法——拆分(分而治之)

28 学习方法中的拆分

拆分是降低难度最重要、最有效的方法,人们总会遇到难度大于能力的问题,所以就需要拆分这种方法,把问题难度降低,从而使得能力大于问题难度,把问题解决。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: