走进熟悉的小贩中心,我们大概都有过一刻的犹豫:是再点那摊吃了10年、闭眼都不会错的海南鸡饭,还是排去隔壁新开的、招牌诱人却没把握的新店?
这听来只是嘴馋时的小纠结,背后却是一道深刻的数学题。半个世纪前,诺贝尔物理学奖得主费曼(Richard Feynman)就在餐桌上把它解了出来。近期,三位行为科学家在美国《国家科学院院刊》(PNAS)发表论文,第一次完整破译出费曼当年潦草的手稿,并以2520人的实验证明:费曼当年的算法,确实能让人整趟吃下来最满意,没有别的办法能做得更好。
餐巾纸上得出公式
故事发生在1970年代末。费曼和好友雷顿(Ralph Leighton)常去加州一家泰国餐馆。某次雷顿盯着菜单发愁:是再点最爱的姜汁鸡,还是冒险试点别的?
换作别人,这顿饭也就糊涂过去了。但费曼是出了名的“什么都要算一算”。他当场掏出纸笔写写画画,宣布找到答案。费曼把吃饭这件事,变成数学家口中的“最优停止问题”(optimal stopping problem):你不断遇到新选项,必须判断眼前这个“够不够好”,还是该继续找下去。
费曼的思路,一句话可以概括:给“满意”定一道会移动的门槛。
假设我们在陌生城市连住数晚,每晚要挑一家餐馆。每到傍晚,我们就拿它跟门槛比一比:高于门槛,就回去吃;不够高,就再试家新的。关键在于,这道门槛不是固定的,而是随着剩下的夜晚越来越少,一路下降。
费曼在餐巾纸上计算,得到公式√n/(√n+1),n是剩下的选择次数。以满分100分为例,假设我们在一座城市住五晚,这道移动门槛具体如下:
·第一晚(还剩五晚):门槛约69分。除非眼前这家能打70分以上,否则值得再找找; ·第二晚(还剩四晚):门槛下调至约67分; ·第三晚(还剩三晚):门槛降到约63分; ·第四晚(还剩两晚):门槛降到约59分; ·最后一晚:门槛恰好降到50分(即所有餐馆的平均水平)。
道理其实很符合直觉:前头夜晚还多时,我们大可挑剔,值得为一家惊艳的店再等等;越接近尾声,越该见好就收。
费曼于1988年去世,从未正式发表这个解法。由于手稿字迹太潦草,多年无人读懂。直到普林斯顿的认知科学家格里菲思(Tom Griffiths)认出这是一道停止问题,才逐字破译。他与《算法之美》(Algorithms to Live By)合著者克里斯蒂安(Brian Christian)、同事鲁塞克(Evan Russek)接力研究,不但补全了数学证明,还回答了一个更现实的问题——城里好店的多寡,会如何影响这道门槛:好店越稀罕、多数餐馆越平庸,门槛就该定得越高,越值得多花几晚去淘;要是家家水准都不差,那就不必太挑。
凭直觉行事结果不输算法
费曼的公式固然漂亮,但研究者更好奇,现实中人们真会这么精打细算吗?2520人的线上实验得出一个出人意料的答案:几乎没人真去套那道公式。大多数人凭直觉用了一个更省事的土办法:每过一晚,就把心里的“满意线”往下挪一点,挪的幅度还差不多固定。这么一估,不必动笔,最后吃得却和费曼那套精确算法几乎一样。
研究者还发现一个很“人性”的小动作:在旅程头几晚,人们格外爱尝鲜、更舍不得早早定下来,谁也不甘心这么快就认定“就这家了”。这和我们逛街、刷手机时的感觉不谋而合:刚开始总想着“再看看”,越接近收尾,越容易将就拍板。
费曼难题之所以迷人,是因为“该安定,还是该再找找”的困境无处不在:买哪套房?停哪个停车位?何时换工作?数学上,这类“看过就不能反悔,究竟该停在哪”的题目,还有个广为人知的远亲——“秘书问题”:要从一排应聘者里挑出最好的一位,最佳策略是先看过大约37%的人,谁都不选,只拿他们当标尺,之后遇到第一个胜过这批人的,就果断拍板。同样是“先放手探索,再果断收手”。
餐桌难题成AI核心课题
今天,费曼这道餐桌难题还成为人工智能的核心课题。人工智能机器学习中有一个核心分支叫“强化学习”(reinforcement learning)。AI在靠试错变聪明的过程中,时刻面对费曼式的两难:
·利用(exploit):选择目前回报最高的动作(吃老店); ·探索(explore):冒险尝试一个没碰过的动作,说不定更好(去新店)。
只会“利用”,就永远发现不了宝藏;只顾“探索”,则永远享受不到成果。人工智能机器推荐算法,就是在设定费曼那道会移动的门槛。
我们每天都在体验这种算法的产物:Netflix、YouTube或是网上购物推荐系统,时刻在权衡是继续喂我们爱看的旧类型,还是塞一个新标签来摸清我们的新口味。这次做选择的是算法,而被翻来覆去“试吃”的那道菜,变成了我们。
费曼餐馆问题留给我们的,不是一道需要现场心算的公式,而是一种看待选择的眼光:如果你刚搬到新社区,往后还要在这里吃上几百顿,那就多试几摊,别急着妥协,眼下多花的探索成本,将来会用无数顿好饭赚回来。如果你只是出差三天,那就别犹豫,径直走向那摊让你放心的海南鸡饭。