## 《指导生活的算法》1:数学家告诉你什么时候结束单身

去年我家有了第二个孩子，明显觉得原来的房子太小，就想换个大点的。当时正好有个朋友告诉我，他家附近有些新房。我跟老婆去看了一下，当场就决定买，第二天找了个房产经纪人就签合同了。

房产经纪人对我们的快速决定表示了赞赏。我就问他，跟你买房子的人中，最长的用了多长时间？他说有个人在两年中看了一百多个房子，越往后看，房价越高，他越不想买，整个非常难受。

这就引出了一个问题。看见好的就买似乎是有点草率了，但是总下不了决心出手肯定也不对，那么一个科学理性的人，应该怎么办呢？

今天我要说的是今年四月出版的一本新书，Algorithms to Live By: The Computer Science of Human Decisions （指导生活的算法：人类决策中的计算机科学），作者是Brian Christian 和 Tom Griffiths。

![图片](https://piccdn3.umiwi.com/img/201611/14/201611141710372854094773.jpg)

这本书说生活中的很多事情，其实是可以用算法来解决的。比如这个买房子的问题，与其浑浑噩噩地接受命运安排，不如有点理性决策的精神，把它变成一个数学问题。我们假设这个问题的条件是这样的：

这些条件可能跟生活中各人实际买房的情况略有不同，但必须这样把问题简化出来，数学家才能计算。

答案是37%。

数学家的策略是，你要把这一个月的时间分成两个阶段。在第一阶段，你只看不买，就是根据自己的购买能力，了解一下市场上哪些房子你喜欢，哪些你不喜欢。记住在这个阶段内你看到过的最满意的那个房子。

等到过了某个时间点 —— 具体说过了你设定期限的37%以后 —— 你就进入第二阶段。如果预先设定的期限是一个月，那么第二阶段就从第12天开始。

从这天开始，你一旦遇到一个比第一阶段那个最好的房子好，或者类似的房子，就毫不犹豫地买下来。

分两阶段这个策略，和37%这个数字，都是数学家们好不容易算出来的。实际上这是一个随机选择优化问题，1958年才被解决。现在人们就把这个办法叫做“37%规则”。

37%规则并不能保证你一定能买到最好的房子，但是在假定市场上的房子随机出现的情况下，它是能让你买到一个足够好的房子的足够好的办法。从概率角度，如果你看了不到37%房子就开始买，你将来更可能后悔买早了；如果你看了超过37%的房子开始买，你将来更可能后悔买晚了。

我们生活中有很多情况跟买房是类似的，好东西过了这个村就没有这个店，那要还是不要？使用37%规则，是你作为一个理性人在这个不确定世界中所能做到的最好，那你就可以无怨无悔，没有那么多纠结和痛苦了。

![图片](https://piccdn3.umiwi.com/img/201611/14/201611141834523220306746.jpg)

再举个例子，找结婚对象也可以用37%规则。比如一个女青年，从18岁开始找对象，设定的目标是在40岁之前结婚，那么根据37%规则，她的两阶段分割点是26.1岁。

在数学家看来，这个女青年的最佳择偶策略是这样的。26.1岁之前是观察期，她应该只交往不结婚，但是必须要记住在交往的男生中间，自己最喜欢的是哪个。26.1岁之后是决策期，再结交新的对象，一旦遇到一个比那个人还好，或者和那个人差不多一样好的男人，就应该马上把他拿下，和他结婚。

当然具体到择偶的话，这个数学模型还可以更复杂一点。37%规则是假设你向谁求婚，那个人马上就会答应，主动权全在你手里。 但如果主动权不在你手里，你向人求婚，有被拒绝的可能性 ，那么分割点就不是37%了。

数学家计算，假设你每次被拒的可能性是50%，那我们就要把37%变成25%。也就说条件不好的人应该缩短观察期，仍然从18岁开始算的话，过了23.5岁之后你就赶紧开始发offer。看谁好就向谁求婚，他要是同意你就达成目标，他要是拒绝你就再看下一个。

还有一点，37%规则是在假设无法回头的条件下成立的，也就是说如果你在第一阶段错过一个人，他可能就和别人结婚了。可是如果你条件非常好，就算一开始错过了一个人，过了一段时间回去找他，他还有可能答应你的话，你的观察期就应该延长。

具体来说，数学家计算，假如在观察期内已经被你拒绝了的人，你回头他还有50%的可能性会同意，那么这种情况下，你可以把观察期从37%延长到61%。

条件好的就多等等，不要急于决定；条件差的就赶紧行动。数学家的计算结果，跟我们的常识还是符合的。

当然，这些计算都是数学家把人们找对象的过程给理性化、模型化了。这个模型里没有“命中注定的真爱”这个概念，似乎缺少了一点浪漫元素。你可能会说我一定要找到真爱才能结婚，可什么是真爱？在数学家看来，你一看到A觉得不错，但是错过了，那么再找到一个和A差不多的人，也就可以了。如果你非得说只有A才是真爱！那就不对了。

在这个问题上，我觉得你不服不行。如果你说找对象跟买房子不一样，我一定要寻找命中注定的真爱，那么数学家告诉你，你大概会有两种可能结局：或者后悔自己没有早早结婚被剩下了，或者后悔自己结婚太早。

理性的人，应该知道什么时候停止。

说到停止，这本书里还提到一个问题。假设有一个抢劫犯，通过一次次的抢劫获得财富。抢劫，总是有危险，哪一次失手被抓进去了，前面的钱就都白抢了。可是不抢，就不能得到更多的钱。问题：他应该什么时候收手呢？

这个问题在（某些人的）生活中也很常见。我们看黑帮电影，经常有人感慨该收手的时候没有收手，正所谓“身后有余忘缩手，眼前无路想回头”。我写此文的时候上网搜索，发现某地的“廉政网站”，居然用这句话教育贪官，也不知作者的意思是让贪官根本别贪呢，还是劝他们做几次攒够了钱就及时收手。

不论如何，数学家把这个随机优化问题也解决了。算法是这样的，你先估计一下自己抢劫一次成功的概率有多大，然后用成功的概率除以失败的概率，就是你抢劫的最优次数。比如如果你水平高，得手的可能是90%，失手的可能性是10%，那么你就应该在抢劫9次以后收手。如果你成功和失败的可能性都是50%，那么这件事你就应该只做一次。

总而言之，如果我们能有点数学精神，就不用长吁短叹地感慨人生无常了。

我想再次强调，算法不是算命。也许女青年到头来发现他的高中同学才是最佳结婚对象，也许十拿九稳的抢劫犯第一次作案就失手了 —— 这并不等于算法不对。

这些算法，说的是面对一个不确定的世界，你根本不知道命运会怎样的情况下，所能采取的最佳策略。如果找足够多的人试验足够多次，你就会发现这些策略比别的策略好 ——更比没有策略好。

我们成年以后在生活中运用到复杂数学的机会太少了。如果你不搞技术，可能就连在工作中用到数学的机会都不多。我们生活中用到的数学，大都停留在小学生水平，比如购物算账。

今天所说的这些问题，可以说已经是极其少见的高水平数学了。

而事实上，一个现代人如果能习惯性地用数学模型去思考问题的话，你可能会发现机会还是很多的。数学模型和计算机算法可以帮助你决策！

我们经常使用成语典故来帮助思考，其实成语典故就是浓缩了的处世哲学，就是套路。之前我们说过，应该尽量多掌握一些心理学的套路，没准什么时候就能用上。今天看来数学也是如此！掌握几个算法，没准什么时候就能用上。

这本书还有别的内容也很有意思，将来有机会我们再讲。

一个数字，37%。

一个教训，把思路理性化，浪漫问题，也需要解决方案。

一个思想，我们要尽可能地想想什么时候可以运用到数学思想。

> 万维钢
> 或许你可以点一下右下角的“请朋友读”，把这篇文章转给你焦虑的单身朋友……告诉Ta别着急，或者……别挑了。

### 💡 精华要点
- 37%规则并不能保证你一定能买到最好的房子，但是在假定市场上的房子随机出现的情况下，它是能让你买到一个足够好的房子的足够好的办法。从概率角度，如果你看了不到37%房子就开始买，你将来更可能后悔买早了；如果你看了超过37%的房子开始买，你将来更可能后悔买晚了。

![图片](https://piccdn3.umiwi.com/img/201611/14/201611141834190942435822.jpg)
