宏观的思考问题

在从上海到杭州的火车上,小杰提出了一个问题,就是在6 12个小时里面,分针多少次超过时针。

这个问题跟我在1998年底加入微软前的一道面试是一个风格的.这道题出现在我第4轮面试的时候:

1998位乒乓球运动员打比淘汰赛,问组织者需要组织多少场比赛。

当时刚准备用1+2+4+8…这个思路做下去,忽然觉得不对,后来半蒙半算得说了个"我觉得像是1997场"。虽然当时还不是很肯定,但就这样碰到了正确答案,过关了。

其实答案很简单,就是1998个人决出冠军,需要淘汰1997个选手,而一场淘汰赛淘汰一个选手,就需要1997场比赛。

这个问题的玄妙之处就在于,问题不是“如何安排这些场比赛”而是问需要“多少场比赛”,所有安排上的细节,都可以不考虑。

大象放进冰箱的问题

我个人最喜欢的一个笑话就是关于把大象放进冰箱的问题:

问:如何分三步把大象放进冰箱

这是个几乎无解的题,答案也非常无离头:

答:三步。第一步:打开冰箱;第二步:放进大象;第三步,关上冰箱

关键就在第二步:“放进大象”。这说得到简单,但怎么可以放进大象?回答没有给出,所以这道题一直就是当作一个笑话讲的。

不过,如果不把它当作笑话讲,而作为一种解决问题的方法,倒也是值得研究一下的。这个方法,就是宏观的思考问题的方法。

思考大的图景而忽略细节

有人说,“世界上很多人把自己的视野的边界,当作世界的边界;而又很少的人,能够看到其他人看不到的。” 描述这样的人,有一个我非常喜欢的词:“Visionary” – 高瞻远瞩。

阿波罗计划就是一个典型的这样的项目。当时肯尼迪同志对于人类登上月球这道题的解,就是一个类似于把大象放进冰箱的解法。他说:“在下个世纪里面,把一个人送上月球,并且安全的返回”(讲解远景的课程中的经典语录。)

这到简单,比把大象放进冰箱还省了一步。但问题就在于,具体怎么做呢?当时咨询委员会里面有很多人表示反对,比如化学家们就说,这怎么可能?我们连推动这么强大的火箭的燃料都没有!肯尼迪说:“那么你是不是说,只要有了合适的燃料,我们就可以做到?那么去找燃料吧。”之后的几年里,化学形成了一个新的分支,这个分支就是为了研究合适的火箭的燃料,并且在四年以后找到了这样的燃料。就像燃料一样,一个又一个技术问题被克服,最终完成了一个不可能完成的任务(这个故事来源于:《Seven Secrets of Inspired Leaders: How to achieve the extraordinary…by the leaders who have been there and done it》这本书)

我们的思考方式

我们在思考的时候,尤其在思考复杂的事物,或者涉及众多的人的协调的时候,非常容易掉到细节的泥潭里面,找不到出路。有些时候,看的大一点,先假设一些很难的问题总会解决,还容易得到结果一些。

我个人的心得是,在杠杆开始工作的前5年里面,更多的需要解决细节问题,自己的角色就是在解决实际的问题,比如说在做一个产品,负责一个项目,至于这个产品项目本身为什么要做,尤其是现在的做法之外还有没有其他替代的方案,都不作考虑。慢慢的当很多的细节问题都有非常好的团队成员来解决的时候,如果自己还在解决细节问题,就失去了大的方向,变成“把事作对”,而不是“做正确的事”。

所以最近经常提醒自己,适当的多做些“大象放进冰箱”的决定。

后注:计算机里的函数就是这种思维的产物

学过编程的,就不断地用这种方式解决问题。我记得在火车上,晓娣提到,创新必须有一个限制条件。说到这个话题,我就随口问了个问题:如何用7行代码写一个BBS出来(当时正值客齐集社区上线之前)。这个限制够死的,我出题的时候自己都没有想好答案。

后来,想到了大象的故事,答案就有了,其实不用7行代码,两行就够了。

BBS kijiji = new BBS();
kijiji.Run();

至于BBS这个类怎么写?那是以后的事情,而且肯定写得出来,Ruby on Rails有很多时候就是这种想法,OO也是这种想法,而递归算法不就是这种想法的终极体现吗?

《宏观的思考问题》上的18个想法

  1. hehe,问题应该是24小时内,时、分、秒钟会重合几次。不过,问题本身永远都不是最重要的,重要的是思维方式. :-)

  2. 问题的提出,总需要从宏观角度出发,问题的解决一定要从微观角度思考。

    做正确的事,需要的是宏观思维
    把事作对,需要的是微观思维

  3. 12小时内,时针和分针一共重合11次,并非等分,因此6个小时内分针超过时针的答案视这6个小时的位置而定吧?

  4. 建硕,我有次也听朋友说起过大象进冰箱的故事,跟着的还有长颈鹿等等,当成脑筋急转弯的题目了,从你的文章里读下来,却又有另外的体会。受益啊!

  5. JS,我觉得你的中文blog写得比英文的有意思,不是说你英文的写得不好,只是觉得很多东西用中文讨论,很能切中要点,关于big picture 还是 detail,这好像也是mbti 的一种

  6. 不太象呀,我觉得你应该是entp来的,这么说你一定是一个好老板,以后加入你的公司吧,

  7. 要“做正确的事”同时也要看看并支持“把事做对”,这样才能确保“做正确的事”。

  8. “这种思维”不就是 divide and conquer 吗?
    看了你的文章,我也猛然意识到自己在do things correctly上花了大量时间,而在do things that are correct 方面投入远远不够!

发表回复

您的电子邮箱地址不会被公开。