再换一种解法

上学的时候做数学题,一个题目常让你换一种解法再做一遍。鸡兔同笼问题,鸡和兔总共35头,有94只脚,问分别有多少只鸡和兔。第一种解法就是列方程组,二元一次方程组消元法,按部就班,操作性强。第二种解法是小学奥数题目的算法,记载于《孙子算经》里,用脚的总数除以二再减去头的总数,就是兔子的数目,之后鸡的数目就可以简单推得。最近的网上还流传了一个大神教你解鸡兔同笼问题,不用方程也不用孙子算经,用的是哨子。假设鸡和兔都训练有素,吹一声哨子每只动物抬起一只腿,剩下94-35=59只腿站在地上,再吹一声哨子,又抬起一只腿,剩下59-35=24只腿,这时候鸡都一屁股坐地上了,兔子还有两只脚站着,所以兔子有24/2=12只,鸡有35-12=23只。“太机智了,让方程组情何以堪!数学课本弱爆了!”网友赞叹道。

我一直很想吐槽最后的那个网络大神的段子,那个机智的方法难道不是跟其他方法道理是一样的么,方程“消元法”消掉未知量,孙子算经消掉头数,网络大神消掉脚。只要掌握了这种消元的概念,举一反三可以创造出更多的算法:吹一声口哨每只动物左边被截肢,剩下94/2=57只脚,这时候鸡都变成金鸡独立了,兔子还有两只脚在地上,再吹一声哨子都砍掉一条腿,剩下57-35=12只腿,这时候鸡又一屁股坐地上了,兔子还有一只脚,自然就有12只兔子了。可是说到底这不还是同一个东西么?就是先消和后消的区别嘛。

不仅仅是这些不同的解法都应该共用同一个基本原理,更重要的是它们最终总是得到相同的结果,兔子就是12只,鸡23只。邓小平说不管黑猫白猫,抓到老鼠的就是好猫。所以不管哪种解法,能得到正确答案就好,何必在意使用哪种解法?换句话说,我已经使用一种解法得出了结论,为什么我还要在意其他解法的结果?我是烦透了这些事情。考试或者做练习题的时候让我再换一种解法,我总觉得是在浪费时间。

慢着,换一种方法真的只是无意义的重复劳动吗?在纽约的曼哈顿如果要从第五大道42街走到第六大道43街,也就是往西和往北各走一个路口,先走43街还是先走第六大道真的有区别吗?在工作中遇到的一些问题让我停下来思考了这个问题。

在审计的执行-复核制度下,我们要解决的是这样的问题:已经有别人执行了方法一得出了答案,如何复核他是正确的?当我们脱离了日常琐碎的业务执行,而上升到复核人的角度时,“换一种方法”这件事情便突然有了重要的意义。它的意义不在于验证出正确的答案,更重要是避免落入思维陷阱。曾做过一个项目的所得税审计让我印象深刻。对于所得税的审计流程,各个科目的金额可以通过多种方法进行验证,结果应当都是一样的,因为“有借必有贷,借贷必相等”。方法一:通过编制纳税调节表,从净利润出发扣除暂时性和永久性差异的影响再乘上税率,验证了借方的当期所得税费用的金额,那么贷方的应付税金自然而然地推出;当年暂时性差异乘上税率就构成了当期所得税费用和递延所得税负债的变动;方法二:如果从应纳税差异的金额出发乘以税率,也可以验证递延所得税负债的余额,再用两年递延所得税负债的差也可以推出递延所得税费用的金额;再用以上提到的纳税调节表的程序验证当期所得税费用;方法三:用净利润乘以法定税率再扣除永久性差异对纳税额的影响,可以得出当期+递延所得税费用,再用暂时性差异推出递延所得税,剩下的就是当期所得税……这些方法通过对不同的程序进行组合,理论上都能够得到正确的结果。而且依照组合方式的不同,一定存在更多的其他等效的方法。那次我们采用的基本上是方法一,好几个人花了大量的时间在验证纳税调节表和正确性,以及关注存在税会差异的收入和费用,连好多小金额的差异也没有放过,结果交到合伙人手里,她只看了30秒就把工作底稿甩出来了:肯定有错,再查查。后来果然发现以前年度的某些调整导致错误的发生。

奇怪,为什么我们好几个人复核了这么多遍都没有发现错误呢?我们最简单能想到的复核方法就是:(1) 审查他所用的方法是否正确;(2) 审核他所采用的数据是否正确。二者同时满足的情况下,得出结论:他的答案也没错。这种复核好吗?假如复核人比执行人更聪明、敏锐、细致,看起来这种复核方法应当是有效的。哪怕是复核人和执行人在这些品质上旗鼓相当,重新执行一次同样的程序,按照独立事件的概率计算,发生错误、遗漏的概率也大大减少了,至少是指数型地减少。快速计算:如果执行某项程序能改正90%的错误,那么两个人分别独立地执行这项程序就能改正99%的错误,如果是5个人的话,那真是”万无一失”了。错!这样的看法忽略了一个最大的假设:即“事件的独立性”。一个方法通常偏重于考虑问题的某一方面,就算换一个人独立地执行一遍,也容易被方法本身所设置的关注点所吸引,而忽略问题的其他方面。这在心理学上叫做“确认性偏见Affirmative Bias”。一旦掉入了预设的陷阱,执行人和复核人就不再“独立”,特别对于执行人欠考虑的事情,复核人有极大的概率也会忽略。那次所得税的审计,方法一的一个前提假设就是不存在重大的以前年度调整和所得税汇算清缴差异,而这个因素如果采取方法二,从资产负债表的角度进行考察,能够很快地发现。而且反过来再审查方法一,会发现方法一的流程存在一个巨大的漏洞:第一步应当审计去年的所得税汇算清缴情况并与期初余额进行比较,其差异直接计入当年的所得税费用,加在“纳税调节表”结果之上。

最近多次用到“换一种解法”来复核,也尝到了一些甜头,最明显的就是复核的时间大大缩短了,而且更加有效。我一直向别人灌输一个理念:复核一定要至少采用一种与执行人不同的方法来进行,如果你找不到第二种方法,那一定是还没有真正理解这件事情,谈何复核?所以说换一种解法并不是纯粹地浪费时间,而是真正能够增进理解和改进效率的事情。

当然,“换一种解法”不仅仅适用于复核,学习的时候当然更是如此。为什么有些东西学过了,就算好几年没有温习都不会忘记,而有些东西基本上是学过了就忘记了?这里我要说的不是记忆力,而是要介绍一种操作性较好的学习方法。在每读到一处知识点(特别是规范性的知识点,类似“甲情况下就要用方法一”),可以问问自己:“否则呢?”然后穷举所有可能的处理方法,考查他们的优劣对错,最后才解决为什么是如书上所说的如此。但凡经历了这样的思维过程,才能真正将知识变为自己所有。

下次,能不能暂时停下来问问自己,再换一种解法可好?


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注