Author Topic: 漫谈积分  (Read 2301 times)

万精油

  • Administrator
  • Hero Member
  • *****
  • Posts: 1829
漫谈积分
« on: 六月 19, 2014, 02:04:42 pm »
漫谈积分

--万精油—

2014-06-04
 
两周前的一个大新闻是中国男子羽毛球队在汤姆斯杯中0:3不敌日本队与冠军无缘。有人会问:中国队不是有打遍天下无敌手的超级丹吗,即使输也不应该是0:3啊。中国队确实有林丹,但可惜他是第三单打,没等他上场就已经输了三场。按照国际羽联规定,一个队的队员的出场顺序应该以他们的世界排名为准。这个规定本身没有错,它是为了防止有人用田忌赛马的招数。问题是拥有N个世界冠军头衔,M个奥运金牌的林丹怎么排名落到中国的第三了呢?这就是我要讲的国际羽联的积分问题,不是微积分里的积分。不过,想看数学文章的读者也不要太失望,后面会讲到其它一些项目(网球,乒乓球,围棋等)的积分算法,里面会牵涉到一些统计问题。
 
国际羽联的积分是靠打大比赛,比如世锦赛,超级联赛等等。世锦赛冠军12000分,亚军10000分,打入半决赛8000分,哪怕第一轮输了也要涨分。这样一来,参加比赛多的积分就会占便宜。十几年前我经常参加比赛,主要是为了好玩。基本上都是第一轮输了到败组去挣扎几轮(偶尔可以挣扎到败组冠军)。由于美国羽协与国际羽协用的是同样积分算法(只不过他们录用的比赛规格不一样),虽然我基本上都是一轮游,但积分竟然排到过全美前50. 实际上美国打得过我的人500甚或上千都不止,只不过别人不常参加比赛罢了。有人会问,这样只增不减一直涨上去,岂不是积分越来越高?国际羽联控制积分无限上涨的办法不是靠比赛,而是靠时间。只有在最近一年里参加的比赛才能算积分。如果一个人在两周之内连赢三个超级大赛。积分暴涨,一年后两周之内这些比赛成绩失效,积分就暴跌。积分暴涨可以理解,有人闭关训练几个月出来打比赛,暴涨可以更快的反映他实力的提升,也更有利于新手打进世界先进行业。但暴跌就很不科学。一个球员如果不训练,他的水平是逐渐退步的,用数学语言讲就是连续函数。现在这种一年后归零的量子算法很不科学。林丹虽然拿了世锦赛冠军,但别的比赛打的不多,排名自然落后。而李宗伟有赛就打,积分当然是高居榜首。我觉得更好的算法是积分随时间连续递减,比如每天掉X分。假设X=世界冠军积分/365,那么一年后世界冠军积分归零,但如果还有其它超级赛的积分,应该还继续存在。这样一来,林丹拿一个世界冠军,一个全英,一个中国大师赛,这些积分可以有效好几年。当然,这个X可以通过实践来调节,取什么值最好可以通过实践来回归。现在这种大家都去打比赛赚积分,疲于奔命,类似于学校常常考试,浪费了不少学习时间。从长远看,对羽毛球没有好处。

还有一种说法,说羽毛球各种级别的比赛积分没有拉开,比如世锦赛冠军12000,超级赛冠军11000, 没有太大差别。冠亚军之间差别也不大。网球的积分在这方面就很突出。大满贯比赛要比别的比赛高很多,冠亚军之间也有很大差别,三个亚军不如两个冠军。如果羽毛球也采用这种积分,那么林丹拿几个大赛冠军就不用参加别的比赛了。

羽毛球积分制还有其它不少可以改进的地方,但都是枝节问题。最极端的观点甚至是彻底废弃这种积分制采用ELO积分制。采用ELO积分制的机构很多,比如国际象棋协会,乒乓球协会,保龄球协会等等。美国围棋协会的积分制也是ELO的变种。我们就来介绍一下这个ELO积分制。

ELO积分制不像国际羽联或网球协会积分那样用时间来减分,而是用每一个比赛的结果来调节双方的积分。赢的人加分,输的人减分。根本上排除了那种一轮游也涨分的怪现象。ELO是匈牙利出生的物理学家Arpad Elo发明的。它的基本思想就是按照比赛双方取胜的概率来计算比赛结果应该带来的积分增减。高手与低手比赛,赢的概率很大,那么高手赢是应该的,赢了也涨不了多少分,输方也掉不了多少分。如果爆冷门,低手赢了,那双方积分变化就大了。具体操作起来就是两个公式:

第一个公式是双方取胜的概率:


 


其中RA 与 RB 是双方比赛前的积分。EA 与 EB是双方取胜的概率。显然,当 RA 与 RB 相等时,EA = EB = 0.5. 另外,很容易验证 EA + EB = 1。注意,这里的400是一个比例常数,不同的积分可以用不同的常数。

第二个公式就是积分调节

RNEW  = ROLD  + F (W – EX

其中,RNEW是新积分,ROLD是原来的积分。EX是前面公式的取胜概率。W 为比赛结果,胜者为1,负者为0. F是调节比例。新进来的人积分还不是很稳定,这个F可以很大(常用的是32),这样可以快速的让一个新进来的人积分趋向他的真实位置。老积分(比赛很多,比如积分已经经过许多比赛调节过的)F会变小,比如F=10. 下面举一个具体例子。

如果你去参加美国的乒乓球比赛,你的积分是1700,你的对手是1847, 根据上面的公式,你取胜的概率是30%,如果你输了,你会丢32×0.3=9.6分,如果你赢了,你会得22.4分。当你参加过很多比赛,积分比较稳定时,上面的32就会变成16甚至10,同样的积分差距,你输了只会掉3分。

这个积分的一个优点是高手与低手赛,涨不了太多分,理论上排除了有人无限涨下去的可能。当然它也有一些别的问题。比如下围棋或打球,有些人的风格就专门克某种人。如果他们之间比赛很多次,积分就会过分倒向一方,而不能反映他的真实能力。另外如果一个小圈子的人经常在一起比赛,就会产生局部限制问题。大家水平都涨了,但没有外面人来验证,积分不会涨 (零和系统)。比如在中国围棋比较普及的地方(北京,上海等),业余段位会比别的地方要高一些,因为他们总是内部竞争,没有外来比较。据说美国加州那边的乒乓球积分就比东部要难不少。

另外ELO机制没有随时间降分的机制。不比赛就一直保持在那里。我有一个朋友,跑到一个积分比较虚的地方打比赛,乒乓球积分冒到2000分以上,从此不打比赛。一直可以号称有2000分以上的实力。美国围棋协会的积分也是如此,下到5段后哪怕几十年不比赛,积分仍然是5段。这不能反映棋手的真实实力。

任何一种积分都需要考虑其稳定性,也就是说是否会随时间蜕减或膨胀。前面提到ELO积分的变化是零和系统,胜者涨多少分,败者就降多少分,系统总分不变,所以本来应该没有不稳定因素。但是,系统随时有新人加进来,就带进了非稳定因素。新人一般都是新手,积分很低(有些协会给新手一个基本分,比如乒乓球协会给1000分作为基本分)。 随着新手水平的涨高,积分也会涨高,他涨高的分数是从别人的积分得来的,别人的分数就会降低。有些会员人老了或者其它什么原因退出系统,基本上都是高分退出(至少比他们进来的时候高)。这样低分进,高分出,长期下去会员的平均分就会降低。所以,长时间看,ELO有蜕减的不稳定性。举一个例子:假如乒乓球协会本来有10个会员,平均积分是2100分。新进一个会员,初始分数定在1000分。整体来说,系统总共有11个会员,总分是2100×10+1000 = 22000,会员平均分数变成了2000分,老会员平均有100分被新会员共产了。理论上如此,但现实中我们却听到有人说ELO有膨胀问题。比如国际象棋,从前2700分以上的屈指可数,现在竟然有30多个。这就是整体与局部的差距。虽然整体蜕减,但新手带进来的不稳定波不会只对一个方向有影响,赢一些人,也会输一些人。一层一层的输上去,最后就可能把顶端部分推的更高。实际情况当然没有我说的这么简单,但基本原理如此。另外,国际象棋的计算机程序已经可以与人类最高水平抗衡。通过不同时期人与相同计算机程序的比赛可以实现关公战秦琼。有数据显示现在的人就是比过去水平高一些,虽然高得有限,但也从另一个方面说明国际象棋顶端部位分数上涨的原因。

总的来说,我还是很喜爱这个ELO系统,至少大家有一个标准在那里。很多年以前,美国羽毛球协会的人与我讨论积分问题,我就向他们建议用这套系统,遗憾的是他们最后没有采纳。而是采用了大比赛积分制。那种机制只对排名前面的人有用。后面的人就没有积分。不同地方的人见面,也不知道如何比较水平。反观乒乓球与围棋,美国的协会采取的是ELO系统,只要参加过比赛,大家都有一个积分。不同地方的人只要报一下自己的积分,双方就大致知道对方的水平。比如,甲在加州,围棋积分是3.245,我们就知道他的水平大约是美国弱3段。乙在纽约,围棋积分是5.85,我们就知道他的水平大约是美国强5段。同样,如果一个人告诉我他的乒乓球积分是2200,那我不用打就知道我打不过他。如果他的积分是1200,那我穿西装打领带再加皮鞋也可以赢他。

另外,ELO的一个假设是一个人的表现满足正态分布。但后来有许多数据表明这个假设不成立(至少在最先用ELO制的国际象棋圈里不成立),数据表明低手爆冷的机会大于正态分布的预期。更好的分布是Logistic 分布。这个说起来就扯远了,我们还是就此打住。
« Last Edit: 六月 19, 2014, 02:12:16 pm by 万精油 »