事实如此浪漫

展示如何在锦标赛中作弊和获胜的公式

杀手锏
在上面

G莱芬多和斯莱特林队即将举行一年一度的比赛羽毛球比赛。每支球队最好的球员在一号球场对决,第二名的球员在二号球场对决,以此类推。

斯莱特林他的教练知道这一点格兰芬多他们会按照球员的技术水平来安排球员在合适的场地打球,因为格兰芬多队很诚实。应该由他来教他们认识自己的错误。毕竟,诚实只不过是浪费了一个欺骗的机会。

通过战略性地将他的球员按不同的顺序排列,他能增加他的球队有望赢得的比赛数量吗?如果是,斯莱特林队的球员按什么顺序出场最好?

我的一个大学朋友叫霍华德·斯特恩(是的,他的真名;不,不是霍华德·斯特恩(Howard Stern))在1980年提出了这个难题,当时他还是麻省理工学院的研究生。他研究了一段时间,但没有完全解决。从那以后,他一有机会就问数学家,但从来没有找到一个人知道答案。最后,在2012年,他通过电子邮件把这个问题发给了我。(霍格沃茨的主题在33年前还没有——那是我的修饰。)

我发现最早提到霍华德问题的是一个1983论文,由三位运筹学家撰写分别是Arjang Assad, Bruce Golden和James Yee。毫无疑问,运筹学研究者首先提出了这个概念:运筹学(简称“运筹学”)是一门不浪费资源的科学。在这个问题中,资源是斯莱特林的羽毛球运动员的技能,而挑战是如何以一种能够最大限度地增加预期赢球数的方式分配这些资源。

首先要注意的是,霍华德的问题——或者我喜欢称之为作弊教练问题——还不完全是一个数学问题。你可以称之为原型问题。现实世界的问题常常是这样的;在数学家得到正确答案之前,或者任何答案是,他们首先要弄清楚什么是正确的问题。这通常需要他们做一些假设并定义一些术语。

在他们的论文中,Assad, Golden和Yee假设作弊的教练有关于对方球队的完美的球探信息。因此,对于自己球队的每个球员和对方球队的每个球员,他都知道他的球员获胜的概率。

不幸的是,阿萨德的组织知道的太多了。解决这类问题的快速算法(称为线性分配问题),在1983年就已经知道了。因此,从OR的角度来看,这个问题变得无趣了:你不能发表关于每个人原则上都知道如何解决的问题的论文。在我看来,这就是为什么教练作弊问题自1983年以来一直在减弱的原因。

然而,对于数学家来说,解算法和解不是一回事。人类的头脑渴望理解洞察力而计算机只能在有限的范围内提供。电脑一次只能解决一个案子,而数学的任务是找出适用的模式所有用例。由于过早地将问题简化为计算机算法,阿萨德的团队错过了发现一些美丽数学的机会。他们没有问对问题。(参见“数学是神话塞缪尔·阿贝斯曼(Samuel Arbesman)的文章,对人类完成的优雅数学和机器完成的计算数学进行了不同的比较。)

霍华德·斯特恩用一种完全不同的方式看待这个原始问题。他坚持要让斯莱特林的教练知道没有什么格兰芬多队员相对于他的队员的力量。他应该只知道格兰芬多的教练愚蠢地告诉他的那些信息:格兰芬多队员之间的真实顺序。在我看来,霍华德的说法提出了一个非常纯粹的问题:格兰芬多队教练的诚实要付出什么代价?

每队有三名队员的情况是一个完美的起点。考虑将玩家从1分到6级(1代表最强),然后将他们随机分配到两个房子。有20种方法,每一种都是等可能的。例如,斯莱特林有二十分之一的机会抽到2、4和6名球员,而格兰芬多抽到1、3和5名球员。如果发生了这种情况,作弊就会产生很大的影响。如果斯莱特林队打2-4-6对1-3-5,斯莱特林队的三名球员都会输。另一方面,如果斯莱特林队打出6-2-4对1-3-5,那么他们将赢得两场比赛。(6比1输,但2比3,4比5。)

在我看来,这个版本提出了一个非常纯粹的问题:格兰芬多教练的诚实要付出什么代价?

通过研究所有20个案例,你可以证明斯莱特林的最佳策略是“扔”一场比赛,把最差的球员放在一号场地,最好的球员放在二号场地,第二好的球员放在三号场地。如果这样做,它将以平均1.65对1.35的比分获胜。因此,对于格兰芬多来说,诚实的代价是0.3场比赛。我想很多运动员凭直觉就知道这一点。我的一个参加高级网球比赛的朋友说,球队通常会把他们的球员按3-1-2顺序排列,如果他们能成功的话。

如果有四名球员,斯莱特林队最好的顺序是4-1-2-3(同样是投一场比赛),按照这个顺序,他们平均将以2.34比1.66获胜。诚实的成本现在已经上升到0.68游戏。如果球员超过四人,格兰芬多的情况就更糟了。

对于作弊教练来说,最佳策略会随着玩家数量的增加而略有变化。每队有三到六名球员,最好的策略是投一盘。但如果有七名选手,他应该投两个游戏而不是一个。(最好的顺序是7-6-1-2-3-4- 4-5。)如果有13个选手,他应该投3个。

这里的模式是什么?最佳的游戏数如何取决于玩家的数量?计算机不能回答这样的问题,也许永远也不能。人类的大脑可以,答案涉及到一些美丽而古老的数学。

解决这个问题的关键就在这个数字三角形中:

这个三角形无限向下延伸,它是由一个简单的规则定义的:在每一对数字下面,写下它们的和。例如,在10和最下面一行的10下面,你写下它们的和,10 + 10 = 20。

这种数字排列被称为帕斯卡三角形,以法国数学家布莱斯·帕斯卡的名字命名,谁写了一本关于它的书在1653年。三角形是其实发现得更早(pdf)印度人、中东人、和中国数学家,因为它有很多用途。例如,我怎么知道有20种方法可以从6名球员中选择3名球员?我只是简单地查找了第六行中的第三项(将第一行计算为第0行,将每行的左边元素计算为第0项;请参见下面的图表进行说明)。

显然,帕斯卡三角形与作弊教练问题有模糊的联系,但我完全没有准备好,因为它提供了简单而深刻的答案。

...比赛前夕,斯莱特林队的教练在夜幕的掩护下,悄悄走进了霍格沃茨数学系。在那里的墙上,有一个神奇的、无限长的卷轴,上面有帕斯卡的每一排三角形。他向下滚动到某一行,抄下一些数字,然后把它们加在一起。然后他脸上带着阴险的微笑离开了房间。

下面是教练所做的。假设每队有N名球员;现在,我们用7。然后,方法是查找Pascal三角形的第2 n行(在本例中是第14行),它的开头如下:1,14,91,364,1001,2002,3003,3432,…行中的中心元素是3432。他把其他数从左到右相加,直到总数大于3432:1 + 14 + 91 + 364 + 1001 + 2002 = 3473 > 3432。他数了数总数是多少:6。正确的游戏数是玩家人数(7)减去他刚刚数过的数字(6)再加1:7 - 6 + 1 = 2。

说实话,我只是证明了当玩家数量超过1000万时这是正确的规则。这个证明涉及到一些棘手的问题,但对于大多数已知的问题来说,是从概率论中得出的估计。霍华德用电脑来验证60名或更少的球员。当然,这一规则也适用于从6000万到1000万的中间区间,但我们可以利用拥有超级计算机的人的帮助来证实这一点。

解决霍华德的问题让我想起了我忘记的事情。自从我放弃数学,开始写作,已经过去了15年多了。在这段时间里,我很少想念它。我记得的最多的是,我在处理那些不肯让步、不肯透露秘密的问题时所感受到的无穷无尽的挫败感。霍华德的问题不一样。我在这上面花了一百多个小时,却从不感到疲倦,因为它不断地给我提供线索,鼓励我说:“这个想法可能行得通。”这让我想起了数学的乐趣。

我之前告诉过你数学的目的是洞察,但我想我撒了谎。更重要的是,我做数学的原因是追逐的兴奋和不确定性。应用计算机算法没有乐趣,但解开精密的发条机制却有乐趣,它让一个好的数学问题滴答作响。最后,你可能会学到一些世界上其他人都不知道的东西!

哦,顺便说一下,我真的不相信诚实只是浪费了作弊的机会。我说那只是装模作样。诚实的。


达娜·麦肯齐(Dana Mackenzie)是加州圣克鲁斯(Santa Cruz)的一名自由数学和科学作家。他最近的一本书是零字的宇宙:通过方程式讲述的数学故事, 2012年由普林斯顿大学出版社出版。

10条评论-加入讨论