从“王师傅卖鞋收假钞亏多少”看科学思维(转)

昨天我一上微信,我妈就问我一个问题:“一道测你有没有商业头脑的数学题:王师傅卖鞋,一双鞋进价30元甩卖20元。顾客来买鞋给了张50,王师傅没零钱,于是找邻居换了50元。事后邻居发现钱是假的,王师傅又赔了邻居50。请问王师傅一共亏了多少?(这道题目不简单,到底亏了多少?这是在某群做的一道题,100人的群,半个小时之内只有两人答对,大家试试!)”

我立刻告诉了她答案。然后发现她把我的答案发到了我的亲戚们的一个微信群里,原来他们已经热议一下午了,算出好几个结果。我妈贴出我的答案以后,他们还在继续争论。我不由得笑了,于是把这道题发到微博上。想不到这题一下子就吸引了几百位网友,更想不到的是网友们给出的答案更加五花八门,据不完全统计,有30、40、50、60、70、80、90、100、110、130以至210!不同观点的网友们之间展开了激烈的辩论,真正是百花齐放,百家争鸣!答错的人里,不乏我很尊敬的、学历很高的朋友。还常有人重新思考后修正自己的答案,甚至还有两位同学连续给出3个答案,而且还都是错的……

这令我陷入了深思:是什么原因使得这么一道看似很简单的题目能产生这么多答案?题目中总共就3个数,30、20、50,不同的人几乎是把这3个数的各种组合方式都尝试了个遍。答对这道题本身只需要小学的数学水平,但要解释为什么各种答案都有人报,以及为什么有人给出正确答案后还有很多人不信,就远远不止是小学难度了。仔细琢磨起来,这需要用上我多年的科学训练和科研实践。总之,这是一个关于科学思维方式的深刻问题。下面我来通过剖析这道题,讲解科研人员是如何思考的?不同的解法之间有什么区别?这么多答案反映了人类思维的什么特点,什么常见误区?如何树立建设性的思维习惯?

首先需要指明一点,在科学当中,得到结论的过程往往和结论同样重要,甚至更加重要。这是科学和魔法的本质区别。一个科学家提出一个结论,别的科学家必须完全理解他的论证过程,才会接受他的结论。这个论证过程很可能具有普遍意义,会被用到更多的问题上去。有时结论中有错误,但论证过程很有启发性,同行们也会承认这个工作的价值。一个科技新闻报道出来,一般人只会记住结果,科研人员却会注意他们采用了什么新的思路、新的方法,为什么前人做不到,他们做到了。这正是所谓“内行看门道,外行看热闹”。所以普通人单凭看书是不可能成为科技专家的,也不可能培养出真正的科学思维,这只有在科研实践中才能逐步掌握。这一点是许多人、包括不少大学问家的一大误区。例如康有为、梁启超在外国游历一番,就觉得自己对西方世界的优点缺点都了解得很清楚了,别人也盛赞他们是学贯中西,于是他们就开始放言无忌,甚至能得出西方文明等待中国文明去拯救的结论。实际上,西方最核心的竞争力,即现代科技,他们连边都还没摸着呢!我对康梁以及所有犯过类似错误的哲学家(包括革命导师们马恩列斯毛)绝无不敬,只是指出一点,没搞过自然科学研究的人是很难理解科研的思维的。

回到原题。这道题的正确答案当然只有一个,但得出正确答案的方法却有很多。然而这些方法之间并不是平等的,科研人员会给它们排个序,不同的方法体现了不同的智慧水平。这就好比有些数学定理(如四色定理)已经被证明了,但数学家还在继续追求别的证明方法,因为他们相信这个问题优雅而深邃,已有的证明太笨重,说明人类对这个问题的本质还没有认识清楚。数学家一定会寻求最简洁、最深刻的证明。好,那么这道题最简洁、最深刻的解法是什么呢?

是这样:王师傅总的经济活动可以归结为两件事。一件事是以30元买进一双鞋,20元卖出,这件事亏了30- 20 = 10元。另一件事是收了一张50元的假钞,这件事亏了50元。两者相加,总共亏了60元。下面让我们把这种解法称为“任务分解法”。我最初给我妈说的就是这种解法:卖鞋亏10元,假钞亏50元。

这个任务分解法好在什么地方?好在它把原来的大问题分解成了多个独立的小问题,大问题的答案就是小问题答案之和。而每个小问题又尽可能的容易解决,最多只用到了两个数的相减。这样你可以迅速得到全部小问题与大问题的答案,还能知道大问题中各个小问题的相对贡献有多大,还便于检查,如果出错也能很快找到是在哪个小问题的哪个环节出的错。总而言之,就是“分而治之”。这个方法的关键在于洞察力,意识到存在这样的任务分解。

第二简洁的方法是什么呢?是这样:考察王师傅在交易前后的状态。最初,王师傅手里有用来买鞋的30元,没有鞋。最终,王师傅把鞋卖给了顾客,而且找给他50 - 20 = 30元。王师傅本来以为自己收到了50元,但结果发现这50元是假钞,这个收益就没了,所以最后他手里是-30元,没有鞋。前后相减,王师傅的资金变化是-30 - 30 = -60,即亏60元。下面让我们把这种解法称为“始末状态法”。

这也是一种很基本的思维方法,在科学中广泛应用,例如热力学关注的就全是状态的变化。但就这道题而言,始末状态法要比任务分解法差一些,因为你必须把始末状态都考虑得很清楚才行,中间步骤不像任务分解法那样便于检查,如果出了错没那么容易定位。不过无论如何,始末状态法的复杂程度只比任务分解法高一点点(高在想清楚给顾客找30元就等于说最终状态是-30元),同样是把题目中的30、20、50这3个数只用了一次,仍然是一个很好的解法。

第三简洁的解法是什么?是考虑顾客的状态变化。顾客最初手里是一张实际价值为零的假钞,最终得到了原价30元的鞋和30元钱,总共赚了60元。王师傅加顾客加邻居,三人的得失应该相抵,即所谓“零和博弈”。邻居给出50元又收回50元,不赔不赚。那么顾客赚的就是王师傅赔的,即60元。下面让我们把这种解法称为“零和博弈法”。

这种解法和始末状态法实质上差不多,只是换成了考虑顾客的状态变化而已。好处是明确地指出了邻居不赔不赚,不参与博弈。按照很多人的说法,邻居是个“干扰项”。这种方法的复杂度又稍稍上升了一点,不过还是很容易说清楚的。

那么问题来了,为什么对很多人来说,这三种简练又正确的解法不能说服他们?我想,这是因为他们信不过这些只考虑总的变化的方法,一定要把每一步的交易细节都列出来才能安心。

avatar

发表评论

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

评论审核已启用。您的评论可能需要一段时间后才能被显示。

目前评论:2   其中:访客  2   博主  0

    • avatar 胡春禄 0

      编者的答案是错的。买进鞋花了30元,这是成本;20元卖出去客户给了50元,师傅找了客户30元,这是找出去的30元;最后发现是假的,赔了邻居50元,但是鞋肯定没拿回来,假钱也没办法退给顾客,但是在邻居那里换取的零钱有20时当时是留下来了的,所以自己只掏了30元补给邻居。所以总共亏了90元。

        • avatar 小五 0

          @胡春禄 哥们儿,就你这智商还是别再这儿秀了好不好,赶紧回家该干嘛干嘛去吧!