算法时刻陪伴在程序员身边,无论是专业的算法工程师,还是公司基础的业务人员,在工作中都会或多或少接触算法思维,并用改进的算法优化系统,而算法同样可以用来指导我们的实际生活。近期阅读了《指导生活的算法:人类决策中的计算机科学》,全名《Algorithms to Live By: The Computer Science of Human Decisions》,作者是Brian Christian & Tom Griffiths。这本书带来了一个全新的认知:算法不止能在工作中帮助我们,在生活中同样具有指导作用,下面通过分享文中几个例子,起到抛砖引玉的作用。
1.37%法则
想象要购买一栋房子时,如何做出较优的选择?是询问亲友,还是根据中介的介绍马上做决定呢?无论是哪种选择方式,我们都会感觉心里有点不踏实,这是因为我们在选择时缺乏有效的科学方案进行指导。而买房子类似于一个随机选择优化的问题,直到1958年才被解决,为了便于理解,也被称作“37%”规则。让我们把买房子的问题阐述地具体一些,构建出如下的实际环境:
- 在一个月的时间内看房,但是只买一套。
- 如果看完房后选择购买,那么它属于你;如果不买,就会被别人买走,没有第二次机会。
在将问题抽象出来之后,我们用算法进行分析。数学家在买房问题上应用37%原则的方案是把买房分成如下两个阶段:
第一阶段:前37%的时间用来看房,即12天。(一个月30天*37%=11.1)
第二阶段:后18天进行决策,如果认为看到的房子比第一阶段所看到