能问下大概多少 真'天命,才能合出 神'天命呢?

&figure&&img src=&https://pic3.zhimg.com/v2-1dea35a3df61_b.jpg& data-rawwidth=&600& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-1dea35a3df61_r.jpg&&&/figure&&p&注:这次的这个话题是我非常喜欢的一个主题,也是一个相当有趣的话题。但跟前面的“体育与语言”不一样,这次的话题涉及到一定的数学知识,话题非常大,难度也要大很多。我会尽量使用通俗的语言来分析文章里涉及的问题,关注点将主要在排名的思想和基本方法层面。&/p&&p&&br&&/p&&p&&b&前言&/b&&/p&&p&对于一切竞技项目来说,排名,这是一个永恒的话题。对于锦标赛事,我们需要靠名次来决定冠亚军、升降级,就算没有锦标的角逐,人民群众们也永远对一切带着排行榜性质的名单喜闻乐见,因为只要名字与数字绑定在一起,它们就具备了天然的“强”与“弱”的判据,出现在第一位者,自然会被赋予了“雄霸天下”的荣誉,为众人景仰。&/p&&p&然而,竞技项目本身非常复杂,一些竞技,比如田径、赛车等竞速项目,或是跳水、体操等打分制项目,同一场比赛就能自动生成名次,但也有很多其他项目,单一比赛只能产生一个胜负结果,这就需要引进专门的排名系统来决定出一届赛事的名次。更进一步,尽管竞技项目能给出一次比赛的名次,但我们仍希望统计出大量比赛之后的综合排名,因为这才真正代表了排名的终极意义。&/p&&p&对于排名而言,有两个最重要的指标是一切排名系统都必须考虑的,一是&b&权重&/b&,二是&b&公平&/b&。当样本数量很少,比如只有16个,我们可以让它们打循环赛,或是两两淘汰,权重和公平都很好安排。但当排名系统的样本数越来越庞大时,一个对每个个体都公平的系统,就并不容易设计了。而在体育领域,有时样本很少,比如中超16队,NBA30队,有时样本又很庞大,比如网球、高尔夫等个人项目要数以千计,电子竞技这样的领域样本数甚至能以百万计。在极大的样本库里,正确衡量每一场赛事结果的权重,以及保证所有人的公平,这就不仅是简单的数字计算,而是牵涉到大量数学与统计学思想的复杂系统的模型分析问题了。&/p&&p&另外,所有排名系统都能分成两种基本的形态——&b&结果型&/b&和&b&统计型&/b&,或者可以叫做&b&静态型&/b&和&b&动态型&/b&。前者如一次世界杯比赛,初始时所有样本处在同一起跑线上,分数都是零,而进行了一系列比赛后,我们通过比赛的结果决定冠军、亚军、四强、八强……这样的一次排名是完全以孤立的结果为依据的,无论时间推移,单次比赛的名次都不会改变,故称为“静态”。后者则如FIFA公布的世界排名,它所给出的是对数年内所有比赛的综合表现的评定,而且是以周期的形式,持续不断地更新,每一期的排名都可能会有变动,这就是统计型的动态排名。在英语里,这两种排名的叫法其实是不一样的,通过实时比赛结果得到的积分排名叫“standing”(比如各种赛事的积分榜),而由大量赛事得到的综合实力评价型排名才叫“ranking”。这两者都是体育领域里不可或缺的模式,也都广泛运用于体育的各个领域。我们下面就通过具体的例子来分析一下这两种排名的模式。&/p&&p&&br&&/p&&p&&b&静态排名——淘汰制与循环制&/b&&/p&&p&对竞技项目而言,当样本比较少的时候,获取最具有说服力的排名的首选,势必是让所有样本都充分地相互对抗,因而竞技项目发展出了锦标制,并以决出冠军这一最直接的形式,表现这一排名的权威性。&/p&&p&但是,锦标制始终要面临一个重要问题——时间。时间意味着对许多锦标赛而言,比赛能够安排的数量是有限的,但赛事组织者必须让这项比赛产生的冠军令每个参赛者信服,这对于上面的两点——权重和公平,就尤为重要了——你不能让本来权重不高的比赛产生过高影响,又或者不能让实力不均等的球队得到不相称的待遇,这就需要人们引进一定的额外制度来弥补。循环制中的平分规则,淘汰制中的种子规则,都是由此而来。&/p&&p&在时间充裕的情况下,最理想赛制自然是循环制——没有比所有竞争者两两交手更公平的赛制了。对于大型赛事,甚至还需要通过主客场双循环制来达到更彻底的公平。所以在以年度为单位进行的联赛型赛事里,循环制一直是最普遍的赛制。&/p&&p&但在时间的限制下,几乎没有哪项赛事能真正实现循环制,而且循环制的问题在于,&b&虽然保证了公平,但没有考虑权重的问题&/b&,所有比赛的权重一样,这不利于营造体育赛事的观赏性。于是淘汰制应运而生,淘汰制天生的层级属性,尤其进行到最后一战决出冠亚军的特色,无疑是制造观赏性最佳的舞台。&/p&&p&当然,淘汰制本身是以牺牲了一定的公平为前提的,这就需要引进相应的弥补制度。淘汰制有两个主要缺陷,一是抽签在赛制中的作用太大,影响了公平性,二是每一场比赛的权重都太大,使得小概率事件(弱胜强)一旦发生会造成过重的后果。对于这两者,人们都引进了相应的弥补措施。针对抽签的问题,人们用种子制度来保证实力最强者之间不会过早地交手;针对权重问题,人们则引进了小组—淘汰制,这保证每一名参赛者都有多于一场的比赛可以参加。&/p&&p&淘汰制的另一个问题是对数字的敏感,完美的淘汰制度只能是基于2的N次幂(4、8、16、32……)实施,一旦参赛者不是这个数量,种子制、小组制就都会产生一定的问题。人们虽然引进了轮空制度、不均等小组、成绩最好第X名等方式来调和,但实际效果仍然很难达到理想(16年欧洲杯就是一个例子)。而循环制就完全没有这样的问题了,无论多少参赛者,偶数直接循环,奇数则设置轮空即可。&/p&&p&介绍了静态排名的基本制度,我们看一些特殊的例子,来体会一下人们在排名上有过哪些智慧的创意。&/p&&p&&br&&/p&&p&&b&平分打破(tie-breaker)制度&/b&&/p&&p&循环制解决了参赛者起点公平的问题,但并没有解决终点公平问题——&b&循环赛制下,平分的出现是不可避免的&/b&。然而体育领域中,很多排名制度并不接受并列,这就需要所谓“平分打破”来化解这一局面。当然,如果体育比赛允许出现平局,平分的可能性会大大降低(但不能排除),但对于只允许胜/负二元结果的赛事,不仅平分在所难免,还很有可能出现三队以上的“连环平”,这就对平分打破提出了更多的要求。目前使用最广泛的有两种平分打破标准——小分制和相互成绩制,当然,附加赛、外部排名乃至抽签,这些也都是人们使用过的方法,这里我们只讨论前两者。&/p&&p&小分制遵循的是公平原则,既然积分是所有比赛的胜负结果,那么全部比赛的总得失分数就应该作为第二重要的因素。足球是小分制应用的典例,联赛及各种小组赛中,净胜球都是普遍使用的指标。然而不同运动的“小分”性质不尽相同,有些运动是局胜制(排球、网球),有些运动的分数较大(篮球、手球),这使得小分制的适用存在局限性。另一个缺陷是权重的问题,以足球为例,大多数足球比赛的净胜球不超过3个,&b&但如果同一组中存在实力非常弱的队伍,这会导致强队的净胜球排位最后很可能会取决于在弱队身上“灌”了多少&/b&(经典例子如04年世界杯预选赛上中国队6:1而被淘汰的尴尬场面),这就是个很不合理的结果。所以我个人一直觉得足球的净胜规则应该设置上限(比如3个),超过后只按上限个数计,或者不计算对排名最低队伍的净胜球。&/p&&p&相互胜负制则是完全的权重主义,这也是最直观的破平局方式,这尤其适用于篮球等大比分运动,美国的体育联盟也普遍采用相互制。但相互制的问题也显而易见——&b&如何处理三队以上的连环套?&/b&当平分者超过三个,其实就又产生了另一个循环,此时要么再计算小分,要么得进一步计算比赛的权重,比如客场赛、优先赛分数更高(美国体育里一般是小分区比大分区权重高),常规时间胜比加时胜分数高等,这会较为缺乏直观性。而且由于相互制的决定性比赛通常不在最后,这很可能会出现在后阶段消极比赛的问题(比如2004年的欧洲杯意大利因为相互制末轮被丹麦和瑞典联手淘汰)。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-f3bdc1e29075dd96ffee_b.jpg& data-rawwidth=&810& data-rawheight=&170& class=&origin_image zh-lightbox-thumb& width=&810& data-original=&https://pic3.zhimg.com/v2-f3bdc1e29075dd96ffee_r.jpg&&&figcaption&一次著名的Tiebreaker事件——2004年欧洲杯C组,采用同分先比相互关系制度,三队同分则比三队内部比赛的净胜球、进球、失球等。前两场意大利vs丹麦0:0,意大利vs瑞典1:1,最后一场只要瑞典和丹麦战成2:2(也确实打成了这个比分),意大利赢多少球都必然被淘汰。&/figcaption&&/figure&&p&&b&不均等划分&/b&&/p&&p&前面说到,淘汰赛制度极依赖于数字,几乎只有2的n次幂的参赛者数才能划定出完全均等的分组,但如果现实中没有完美的数字呢?比如一切赛事的外围选拔,都要求在任何数字下都能实现一个合理的入围与淘汰分配(因为参赛者的数量是不确定的),这便引出了不均等划分的问题。&/p&&p&在没有时间安排循环的情况下,有两种常用的适用任意参赛者数目的划分方式,一是&b&轮空制&/b&,二是&b&不均等分组&/b&。这两种方法都能保证起始参赛者可以为任意数目,但最后都可以简单决出冠军,也就是都能够进入2?参赛者淘汰赛的均等形势。&/p&&p&轮空制是传统淘汰制的简单改进,先让部分参赛者相互淘汰,再跟其余参赛者凑成一个合适的数量(比如2?),进入接下来的淘汰赛。从数学上可以推导,如果有m支队伍,先确定m所处的2的N次幂区间,即 &img src=&https://www.zhihu.com/equation?tex=2%5En%3Cm%3C2%5E%7Bn%2B1%7D& alt=&2^n&m&2^{n+1}& eeimg=&1&& ,我们需要在第二轮时剩下2?参赛者来两两淘汰,于是我们选出&b&x支队轮空&/b&,第二轮的2?支队便是由轮空的x队和第一轮获胜的2?-x队组成,那么参赛队伍总数 &img src=&https://www.zhihu.com/equation?tex=m%3Dx%2B2%5Ccdot%7B2%E2%81%BF-x%7D%3D2%5E%7Bn%2B1%7D-x& alt=&m=x+2\cdot{2?-x}=2^{n+1}-x& eeimg=&1&& 。比如有29支队,16&29&32,首轮轮空队伍为32-29=3支,即第一轮26队淘汰决出13队晋级,13队跟3支种子队便可正常进行接下来的淘汰。&b&这个赛制在网球领域应用非常广泛&/b&,除了网球的四大满贯需要选拔2?参赛者,其余各项巡回赛事基本都可以以任意人数开赛。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-73f7aee9e7994_b.jpg& data-rawwidth=&1170& data-rawheight=&507& class=&origin_image zh-lightbox-thumb& width=&1170& data-original=&https://pic1.zhimg.com/v2-73f7aee9e7994_r.jpg&&&figcaption&一个典型的轮空赛制,比赛一共有56人参加,其中8人第一轮轮空,这幅图表示了其中14人(2人首轮轮空)的对战情况。&/figcaption&&/figure&&p&不均等分组就很简单了,一般来说我们要尽量让小组的队伍数量相差不超过1个,那么先选定一个基数,确定参赛者数量在它的两个倍数之间,把相应差额补到部分小组里就行了。但不均等分组需要解决一个问题——如何确保容量不同的小组之间的公平?一个可行做法是把种子选手分配到人数少的组,这样能使各组的优胜者相对平衡。有时不均等分组还要面对另一个关键问题——选出成绩最好的第几名,这就需要统一各个不均等的小组的分数,实践中常用的方式是&b&去掉人数多的组里对阵最后一名的成绩&/b&,然后按常规平分打破规则对比,但要注意&b&此时就不存在“相互间胜负”了&/b&。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-c83d97d46f06ff49a2b8c_b.jpg& data-rawwidth=&614& data-rawheight=&324& class=&origin_image zh-lightbox-thumb& width=&614& data-original=&https://pic1.zhimg.com/v2-c83d97d46f06ff49a2b8c_r.jpg&&&figcaption&一个不均等小组选出“成绩最好的第二名”的例子——2014年世界杯预选赛欧洲区,参赛球队总数53支,分成9组,其中8组六队,1组五队(上图法国),所有六队组的第二名都必须去掉对阵本组最后一名的成绩(主客场),所以参与对比的只有8场比赛。&/figcaption&&/figure&&p&还有一种思路是,先用任意两两对阵或分组赛的方式,把参赛者缩小到一个小范围,然后在这个小范围内打循环赛,这样就不要求最后进入2?淘汰阶段,同时也能在有限时间内分出具体名次。这个思路适合于参赛者中&b&实力较弱的群体数目庞大&/b&的情况,避免实力过于悬殊的比赛消耗赛事资源(轮空制的x受制于m,要是x太小轮空其实意义不大)。&b&世界杯的亚洲区、中北美洲区预选赛&/b&采取的都是这样的排名淘汰机制。&/p&&p&&br&&/p&&p&&b&双败淘汰制&/b&&/p&&p&一般的淘汰制有一个固有的问题——只能精确给出前两名,但人类体育界偏偏喜好的是前三名,比如奥运会。如果不愿意并列,就只能打非常尴尬的铜牌赛。因而人们开发了另一种变体淘汰赛制——双败制,这个赛制的一大直接功能就是,能够产生精确的前三名。&/p&&p&当然双败制的功能远远不在决出铜牌,这个制度设计的初衷是——&b&让所有参赛者能至多失败一次&/b&,而传统淘汰制里,一次失败就直接出局了。&b&双败制只能基于2?参赛者实施&/b&,原理是先让第一轮比赛先分出一半胜者和一半败者,第二轮胜败组内各自相互对战,这样第二轮胜者中输的一半正好对上了败者中赢的一半,依次可以类推。最后会出现一个一直未输的胜者冠军,和两支输了一场的败者冠军,两个败者冠军对决的胜者进入决赛,这样前三名就自动产生了。具体流程可以参考下图:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-aab5cda31ba5b984890afaf_b.jpg& data-caption=&& data-rawwidth=&984& data-rawheight=&531& class=&origin_image zh-lightbox-thumb& width=&984& data-original=&https://pic4.zhimg.com/v2-aab5cda31ba5b984890afaf_r.jpg&&&/figure&&p&相比于小组赛+淘汰赛机制,双败赛最大优势在于&b&戏剧性强&/b&,&b&在比赛很后段输过的参赛者依然没丧失夺冠的机会&/b&,比如16队赛制里可以允许一支队伍在第四场比赛失利,而一般的4组4队赛制,3场小组赛后就不再允许失误了,这给整个赛事带来了更多悬念。但双败赛毕竟有部分(不到一半)队伍只能打两场(而且无论初始数目多少,都必定有四分之一支队只能打两场),这还是不太讨人喜欢的,当然这比有一半一轮游,四分之一打两场的传统淘汰还是好多了。&/p&&p&关于双败制的详细情况,在这个回答里有很多论述:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&宋宁世:为什么赛会制体育比赛,比如足球世界杯淘汰赛阶段不能采用双败制?&/a&&/p&&p&&br&&/p&&p&&b&动态排名——“天梯”&/b&&/p&&p&静态排名只解决了一次赛事的名次归属,甚至在很多时候,它的价值仅仅是决定出第一名——这多少有些“成王败寇”的残酷性。有些时候,我们会希望关注另一个问题——&/p&&p&&b&如果让随便两个人或队伍交手,谁更有可能获胜?&/b&&/p&&p&当参与这项运动的样本数庞大的时候,组织两者进行实际的比赛就很不现实了。而实际上我们也并不关心两者究竟要不要进行比赛,我们只关心这两者孰强孰弱,而在任何虚拟的赛事中,强者对弱者的赢面显然更大。换言之,我们需要的是一个关于“实力”(power、strength)的排行。&/p&&p&在现实中,对于利益相关者,比如运动员或队伍自身,以及博彩公司来说,实力排行是至关重要的信息。即便在群众眼里,任何一个带有“排行榜”“top 10”字眼的话题,那都是人们喜闻乐见津津乐道的谈资。&/p&&p&对于这种性质的排名,我们首要关心是——&b&时效&/b&,不同年份、乃至不同月份,竞技者的实力都有可能发生巨变。所以我们最希望的自然是一份可以实时更新的排名,最好每一场比赛的结果都能立即计算入排名之中。&/p&&p&另外,在静态排名部分,我们多次提到了“种子”,而种子的决定,就需要依赖于一套实时性的实力排行榜,这个排行榜需要给出非常精确的排位,只有这样才能确定出精确的种子数目。于是,我们需要的不只是排名,而是一个&b&“评分”(rating)系统&/b&,这个系统的功能是以完全&b&定量&/b&的方式给出所以竞技者的分数,并以此高低进行排位。&/p&&p&这些要求就给出了这样的系统的性质——&b&动态、统计&/b&,一者必须&b&实时更新&/b&,二者必须基于&b&许多竞技者的许多竞赛结果&/b&。在现实语境中,人们给这个系统起了一个非常形象的名字——&b&天梯&/b&。顾名思义,在旁人看来,这番景象颇像一架位次不停更新变化的“梯子”(因为排名榜单看起来总是纵向的),而对于竞技者,这个榜单直接代表了一步一步往上爬的历程,每爬到一个位置,代表自己进入了新的一片天地。在流行匹配机制的电子竞技领域,“天梯”甚至会直接决定竞技者的下一场赛事所要对阵的对手。&/p&&p&&br&&/p&&p&&b&基本思想&/b&&/p&&p&在虚构文学、动漫、影视等的相关讨论里,常常可以见到&b&“武力排行榜”“十大最强XX”&/b&等民间研究,这些研究最让人佩服的是,能够从原著稀少的样本和只言片语的叙述中抽象出定量的东西,而且通过&b&间接比较(A&B,B&C,所以A&C)&/b&和&b&量级调整(A小胜B,大胜C,所以A&B&C)&/b&,竟能得到个精确到每一个位置的武功排位,把书中或许没有交集的角色愣是排到了一起。&/p&&p&&b&这其实告诉了我们动态评分的关键——间接比较&/b&。在动态体系里,我们并不关心所有的竞技者们是否有充分的机会交流——很多时候,两个竞技者可能从来就没有交手过。但关键的是,我们要找到一个对所有群体适用的参照物,这个参照物可能是一个所有群体都可以对比的选手(或者一个假设的选手),也可能是每次胜利的价值程度(小胜还是大胜)。&/p&&p&另外,由于时间总是在向前推进,评分时就需要考虑&b&时间累积效应&/b&的影响。有时我们可以把竞技者的所有结果直接累加,对于搏击类项目(赛事密度低,权重高),生涯指标是关键参数,所以青睐于直接比较累积数据。但对于其他赛事,尤其是以队而非个人进行的赛事,由于队伍的人员并不固定,累积指标就并不科学了。&/p&&p&我们能想到一个简单的改进——&b&以评分当时为基准,往前数一个周期(一年、两年……),计算这个周期的数据&/b&。于是,每一次计算新的排名,在增加新的结果的同时,也会减去部分旧的结果。时间对于所有的竞技者都是公平的,将时间作为比较的基准,这不失为一个出色的方案。这个方法我将其命名为&b&“时移区间法”&/b&。当今体育界,尤其是奥运范围内的绝大多数个人项目,比如&b&网球、高尔夫、羽毛球、自行车、柔道&/b&等,都广泛地采用时移区间来决定个人选手的名次,从而划定下一次比赛的种子排位,FIFA公布的世界排名也使用了时移区间的基本思想。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-22b2c3a5dad_b.jpg& data-rawwidth=&1302& data-rawheight=&369& class=&origin_image zh-lightbox-thumb& width=&1302& data-original=&https://pic4.zhimg.com/v2-22b2c3a5dad_r.jpg&&&figcaption&FIFA官方上专门公布了每一期排名里将不再列入计算的比赛,这使得新比赛加入的同时旧比赛会退出,使得球队的总分维持大体的动态稳定,这就是所谓的“时移区间”。&/figcaption&&/figure&&p&另一个重要的指标是&b&结果的重要性&/b&——也就是我们最初提到的&b&“权重”&/b&,虐菜的胜利和势均力敌的胜利,体现在分数上是绝不应该相同的(这也就是上面的武侠排行思想之一)。所以对于体育领域,我们需要划定不同比赛的含金量,大多数项目用的是非常简单粗暴的办法——&b&设置不同级别的赛事&/b&,比如大满贯&大奖赛&巡回赛,每一级的冠亚季军等名次对应不同分数,换言之,这是事先规定的权重,需要球员主观地去“刷”分数。&/p&&p&在排名的过程中,我们需要决定一个重要问题——该&b&算总分还是算均分&/b&?总分就是把所有结果对应的分数加起来,均分则跟大学里算GPA一样,给每项赛事赋予一个“学分”计算加权平均,这两种方法都是可行的。我们可以想到它们各自的问题——总分制里参赛的数目至关重要,要是一个竞赛者在一段时间内无法参赛(最常见原因即受伤),这会导致其排名骤降。而均分制在原理上无视了参赛场次,这又可能使竞技者参与的积极性打折扣,所以实际应用必定要给定一个最少参赛数目。现实中,网球、羽毛球采用总分制,高尔夫则用了均分制,但总分制还是比均分制普遍,毕竟从体育组织的利益出发,他们也不希望运动员消极参赛影响自己的收入。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-dd0e0923ffbcb0ff6e659_b.jpg& data-rawwidth=&1239& data-rawheight=&327& class=&origin_image zh-lightbox-thumb& width=&1239& data-original=&https://pic3.zhimg.com/v2-dd0e0923ffbcb0ff6e659_r.jpg&&&figcaption&2018年世界杯东道主俄罗斯队由于在长达两年时间里无法参加预选赛,只能打友谊赛,导致排名严重下滑,在2017年10月时仅名列65名。当然世界杯会赋予东道主种子地位,但东道主如果表现不佳,其排名有可能会就此受到重创,影响之后的欧洲杯预选。&/figcaption&&/figure&&p&同样,在介绍完了基本思想之后,我们也会看一下人类还有哪些新奇的想法,能够应用于给体育运动的参与者们排行。&/p&&p&&br&&/p&&p&&b&修正积分制&/b&&/p&&p&现今的网球、羽毛球等世界排名告诉了我们运动员们参加各项赛事获得的成绩,根据成绩的多寡告诉了我们运动员大致的能力。但这样的评分模式并没有告诉我们所有的信息,其中最大的遗漏在于——它没有体现单一比赛的重要性。比如说&b&世界排名第一的费德勒在两次大满贯的决赛中分别击败了第二和第十,通过这两场比赛他得到的积分是一样的&/b&,但对费德勒而言,两场比赛的难易度显然并不相同,&b&他的两次胜利的价值仍需要根据对手的实力进行调整&/b&。另外,通过淘汰赛制决出的名次毕竟有限,尤其对于广大实力无法通过赛事前几轮的选手,他们的分数很难有效区分,这只能靠设置更多比赛来弥补,但对于很多无法高频率安排比赛的运动,或者对手匹配相对自由而不依赖锦标淘汰赛制的运动,比如&b&团队运动、职业搏击运动、电子竞技&/b&等,就需要一套基于每一次对决结果的修正制度,让&b&单一比赛的结果&/b&,而非一次赛事的荣誉排位,来确定竞技者的实力评分。&/p&&p&如果考虑单一比赛结果,这似乎就是上一章所讲的静态排名,即类似于足球3/1/0制度的积分体系,但我们不能让不同比赛的胜利都对应3(不同比赛的失利倒是可以都是0)。我们可以根据对手实力、比赛重要性、比赛难度等因素,在胜利积分的基础赋分值(例如3)上乘以一个系数,作为每一场比赛的得分,这就实现了一个有区分度的积分制。&/p&&p&&b&对手修正&/b&&/p&&p&我们最先能想到的修正系数,莫过于对手的强弱。如果&b&两个对弈者在赛前已经有各自的排名和评分&/b&,是否可以把它们考虑进来?&b&胜负结果符合排名差距,说明胜利的价值一般&/b&(但强胜强还是比弱胜弱更有价值)&b&;而胜负结果不符合排名差距,说明这场比赛是“爆冷门”,对于胜者的奖励就应该加大&/b&。&/p&&p&一个自然的修正思想是,考察对手的&b&百分比排位&/b&——如果我击败了一名排位高出99%竞技者的对手,那么我的积分可以乘上一个基于0.99的系数,显然对手实力越强,一场胜利的价值就越高。这是一种只看&b&绝对实力&/b&的评分法,比如一支排前30%的球队击败了排前10%的球队,前者的胜利可以获得0.9的权重分(系数可以用加法或乘法进行放大),而后者的失利则只是按0计算。在统计学里,百分比排位,其实就是我们常说的“分布”(概率密度函数),如正态分布、Gamma分布等。&/p&&p&当然我们也可以把失利赋上分(或者赋负分,即扣分)。比如规定胜得4分负得1分,同样排前30%的A击败了排前10%的B,那么A得到4*0.9=3.6,而B只得到1*0.7=0.7,两者分差2.9,高于比按胜3负0得到的3*0.9-0=2.7,即一场比赛既考虑了赢者的所得,又考虑了输者的损失。&/p&&p&有了系数修正的方法,对于其他可能要考察的因素,只要往得分上乘系数就都可以搞定了。一些比较明显的因素,比如主场或客场,可以直接按主场胜和客场胜赋予不同的系数;不同重要程度的比赛,比如足球里的世界杯、洲际杯到友谊赛等,同样可以分别赋予权重值。&/p&&p&不过此时还有一个问题尚未解决——&b&如何确定排名里评分的初始值?&/b&只有初值存在,后续的计算才能够继续。一个简单的处理方法是借鉴上一部分的荣誉积分制,先选择一个时间起点,再根据排名节点之前的各种锦标赛成绩累计出一个不考虑单一比赛结果的名次和评分,此后就可以正常进行一环套一环的推导了。当然在实际的排名系统,比如FIFA的世界排名里,初值决定的程序要复杂得多。&/p&&p&&b&区域修正&/b&&/p&&p&在实际应用中我们还可能会面临一个问题——参与排名的&b&样本数不够&/b&。由于地理或组织的原因,位于不同地域(比如大洲)或隶属不同组织的队伍,也许在自己内部能得到频繁的交手机会,&b&但区域之间的两队可能长年都难以发生交集&/b&,这会使得&b&不同区域内同一档次的选手在排名的中下游大量囤积、难以区分&/b&。比如足球的国家队领域,不同大洲的队伍想要交手只有两种途径——世界杯或友谊赛,这两者恰为最高和最低的级别,样本数量显然是不够的。&/p&&p&动态排名的灵魂思想是让交不上手的竞技者之间仍能区分高低,这个问题也就是动态系统设计的重点所在。当然,这个问题的难度也要远比其他高。像FIFA世界排名这样的系统,只考虑了一个简单的修正——&b&将不同区域本身再进行一次排名,进而在每场比赛中再乘上一个系数&/b&,比如欧洲、南美球队的系数为1,亚洲非洲只有0.85,但这个排名本身也需要根据时间调整,比如FIFA就是以每一届世界杯为节点来修正这个系数。现行FIFA世界排名在这方面其实还是比较简单,区域系数基本只有欧洲南美一个档,其他大洲一个档,所以FIFA排名里欧洲和南美整体明显比凌驾于其余各洲之上,对于欧洲南美的弱队与亚、非、中北美的强队的关系缺乏考量。&/p&&p&&br&&/p&&p&&b&等级分系统&/b&&/p&&p&实际应用中,系数积分制采用的机械区别不同区域强度的算法的限制仍然很明显,而且区域强度系数并没有解决不同区域难以碰面的问题,它的实际结果只是进一步扩大了强与弱的代差,看起来像是“为了体现实力差距”而主观“凑”出的评分差距,这甚至还带有一定歧视的意味。&/p&&p&在1970年,一位&b&匈牙利裔数学家Arpad Elo&/b&,发明了一套全新的排名计算方法,主要用于计算国际象棋选手的实力。这种算法适合于处理非常大的数据样本,而且适用于由样本之间没有充分交流的孤立区间组成的集合。这套算法的另一个强项是,&b&无论样本容量多大,它算出的结果的数量级是稳定的&/b&,于是它&b&非常适合制定头衔&/b&——比如国际特级大师、特级大师、候补大师等等,只要竞技者的分数达到一个规定值并保持一段时间就行了。而正是在这套算法下,前面所说的“天梯”也就有了非常形象的意义——&b&梯子每一级的分数是固定的,这自然给了人们冲击的指标,这就更像一个爬梯子的过程了&/b&。从原理来说,这个算法可以称为“等级分”,但为了纪念Elo的贡献,这个算法被直接命名为Elo评分法(70年代还有个匈牙利人Rubik发明了以他名字命名的Rubik's Cube)。&/p&&p&我先不用数学公式来解释一下Elo算法的原理:我们假设世界上已经存在非常多的竞技者,他们的实力足以&b&形成某个统计学上的分布&/b&,在他们的基础上,新加入任何数量的成员都&b&不改变分布的属性&/b&。一个统计学分布会自然产生一个&b&所有人实力的“期望”&/b&,进而能算出&b&任何两个有分数的成员相互对阵,发生胜平负结果的期望&/b&。当双方实际对阵产生结果后,我们对比实际结果和期望值,&b&并根据这个结果,给双方各自一个新的分数&/b&。&/p&&p&用公式来解释就是,假设A和B各自有积分Ra和Rb,期望n=400,在这里Elo算法常用Logistic分布(当然也可以视情况使用正态分布、伽马分布等)。假设一场比赛的胜和负对应分数1和0,于是通过比赛,A得到分数的期望是 &img src=&https://www.zhihu.com/equation?tex=E_%7BA%7D%3D%5Cfrac%7B1%7D%7B1%2B10%5E%7B%28R_%7BB%7D-R_%7BA%7D%29%2F400%7D%7D& alt=&E_{A}=\frac{1}{1+10^{(R_{B}-R_{A})/400}}& eeimg=&1&& ,B得到分数的期望 &img src=&https://www.zhihu.com/equation?tex=E_%7BB%7D%3D%5Cfrac%7B1%7D%7B1%2B10%5E%7B%28R_%7BA%7D-R_%7BB%7D%29%2F400%7D%7D& alt=&E_{B}=\frac{1}{1+10^{(R_{A}-R_{B})/400}}& eeimg=&1&&,Ea、Eb都在0~1之间 。当A和B进行了实际的比赛,实际结果为Sa和Sb(一者为1一者为0),对于A,我们用一个修正系数K,计算出A的新分数Ra',则&img src=&https://www.zhihu.com/equation?tex=R_%7BA%7D%27%3DR_%7BA%7D%2BK%28S_%7BA%7D-E_%7BA%7D%29& alt=&R_{A}'=R_{A}+K(S_{A}-E_{A})& eeimg=&1&& ,对B同理。这样每一次结果就都能够产生A和B各自新的分数,这个分数只取决于A和B,不受任何其他选手影响,这也是这个系统能产生稳定的分数节点的原因。可以看出,对于这个系统,只需要决定两个关键参数:&b&期望n和权重系数K&/b&,但我们同样可以考虑&b&平局结果&/b&、以及&b&不同赛事重要性&/b&等指标,这些乘到系数K上作为修正就可以了。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-905d4afde148_b.jpg& data-rawwidth=&1247& data-rawheight=&210& class=&origin_image zh-lightbox-thumb& width=&1247& data-original=&https://pic3.zhimg.com/v2-905d4afde148_r.jpg&&&figcaption&暴雪《守望先锋》游戏的一个玩家能力分数的分布情况,可以看到大体上满足正态分布或其他衍生出来的形态(某些异常点可能非游戏正常对阵自然产生)。&/figcaption&&/figure&&p&前面的修正系数法里,我们必须有三个决定性的变量——固定长度的时移区间、对手的绝对强度,所有人分数的初始值。但Elo算法的原理正好相反,&b&不需要选定周期,不看竞技者分数的高低(只看分数差值),也不需要确定起点&/b&,理论上可以从这个项目诞生的那一天起,一直算到今天。而且&b&分数不会受参赛频率影响&/b&(不参赛则分数维持不变),所以即便一个选手退役,分数也能一直保持在榜(只要他不从榜单脱离);而一个选手从零分开始,只要有稳定的胜率,很快就能跻身更高层级。&/p&&p&我们可以看到,这套系统本身就使用了统计学方法,所以&b&它对于容量大的样本有天然的适用性&/b&。而且它充分考虑了强弱之间的均衡:如果你能稳定地战胜自己的同级对手,根据上面公式,即在E=0.5左右的比赛里能稳定获得S=1,那么&b&你每一场都能净赚0.5K的分数&/b&,在同级别(无论强弱)分数变动不大的情况下,你能很容易脱颖而出,爬到下一个层次。如果一个弱者持续战胜强者,&b&即在E趋近0的比赛里拿到K的分数&/b&,他的分数会迅速爬升;而强者如果总去虐菜,双方的(S-E)只是在0附近徘徊,强者赚不了,弱者也不会亏。&/p&&p&在体育界,Elo算法早已走出了国际象棋,被推广到了大多数智力运动上。但由于算法较复杂,尤其依赖统计学方法的算法在一些小样本体系中不一定能适用,因而大多数团队运动的官方层面目前还没有接纳Elo方法,只有一些民间机构有一些足球、篮球等领域的Elo排名。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-dad6b3ca71d496bd78d2a2fc70438c0b_b.jpg& data-rawwidth=&504& data-rawheight=&341& class=&origin_image zh-lightbox-thumb& width=&504& data-original=&https://pic4.zhimg.com/v2-dad6b3ca71d496bd78d2a2fc70438c0b_r.jpg&&&figcaption&世界围棋排名,上面明确标注了分数由Elo系统算出,注意这只是基于赛事数据计算的民间排名,围棋领域并没有官方的排名系统。人工智能AlphaGo击败了李世石和柯洁后,其排名“空降”到了等级分的第二。&/figcaption&&/figure&&p&虽然Elo排名已经有近半个世纪历史,但创始人可能想象不到,这个排名在互联网时代竟焕发出了极强的活力,&b&这得益于电子竞技的高度需求&/b&。互联网使得统计超大样本的竞技者成为现实,而Elo评分提供了一个绝佳的&b&“匹配”&/b&制度。我们可以选取Elo分相近的选手对战,使得胜和负都会产生适度的结果,胜多会向上爬,匹配到更强的阶层,负多则向下,匹配稍弱的群体,在计算机和互联网的作用下,即便在人数以万计,结果更新以秒计的电竞世界里,我们仍可以得到可靠的定量排名结果。&/p&&p&基于Elo评分的统计学分布和修正积分理念,又有人设计了一个名为Glicko评分的改进版本,这个评分考虑了方差的作用,在这里我们就不讨论了。&/p&&p&&br&&/p&&p&&b&动态评分的实例&/b&&/p&&p&本文的最后部分,我们举一些当今体育界的例子来看一下动态评分系统是如何运作的。&/p&&p&&b&网球ATP/WTA排名&/b&:采用荣誉积分总分+时移周期制,计算一年。运动员参加的不同级别的比赛对应不同分数,每一场赛事不同名次得到不同积分,周期内所有积分累加即为当期分数。但是从2016年开始,奥运会成绩不计入积分排名中。&/p&&p&&b&羽毛球世界排名&/b&:与网球的方法大致相同,计算一年。奥运会计入排名并作为最高级别计算。&/p&&p&&b&高尔夫世界排名&/b&:荣誉积分加权平均+时移周期,计算两年。参加不同比赛对应不同权重分,由赛事名次和权重分得到平均。但规定如果周期内参与的赛事少于40场,平均分依然要按40计算。奥运会成绩也不计入排名。&/p&&p&&b&FIFA世界足球排名&/b&:修正系数积分+时移周期,计算四年,但四年成绩的权重按1.0、0.5、0.3、0.2递减;胜、平、负对应3、1、0,但点球胜为2,点球负与平相同;世界杯、洲际杯、预选赛、友谊赛对应系数4.0、3.0、2.5、1.0;对手强度直接由(200-排名)/100,即按线性分布算;欧洲和南美区域算1.0,其余各州算0.85(世界杯后有轻微调整),跨洲则取中间值。最后把所有系数乘起来,作为一次比赛的得分。现行的排名算法是2006年时重新设定的,但目前的争议很大,&b&尤其这排名有很大空子可钻已经不是秘密&/b&,14年世界杯的瑞士,本届的波兰,都靠钻空子刷成了种子,对手系数、区域系数等的设置也都受到了大量批评。&/p&&p&&b&FIBA世界篮球排名&/b&:大致类似FIFA,计算周期七年,也有时间递减系数。不同之处一是胜负方都有分数,并且分数受分差影响,二是考虑主客场对比赛结果的影响,三是对手强度不直接算排名,而是计算排名与“平均排名”的差值。&/p&&p&&b&世界橄榄球排名&/b&:采用一个独特的“交换分制”,单场结果同样由胜负、比赛权重、主客场、对手强度等算出,但一支球队每获得一个分数,它的对手B就要失去同样的分数,原理上是胜者正分、负者负分的算法,即考虑输者损失。这个积分不考虑时移周期影响,初始值从有史以来的第一场开始计算,新球队加入时则按30分起步。排名方式参考:&a href=&https://link.zhihu.com/?target=https%3A//www.worldrugby.org/rankings/explanation& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Rankings Explanation&/a&&/p&&p&&b&世界足球Elo排名&/b&:这是根据Elo算法计算的非官方世界足球国家队排名,目前采用的排名是从1970年起算,而理论上也可以从足球运动有史以来第一场国家队比赛起源。相较于FIFA排名,Elo排名多考虑了主客场和净胜球关系(在系数K上修正),但不考虑洲际强度。具体排名可以参考其官网:&a href=&https://link.zhihu.com/?target=http%3A//www.eloratings.net/world.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&World Football Elo Ratings&/a&。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-10e29f0d46c1acdd7030_b.jpg& data-rawwidth=&462& data-rawheight=&764& class=&origin_image zh-lightbox-thumb& width=&462& data-original=&https://pic2.zhimg.com/v2-10e29f0d46c1acdd7030_r.jpg&&&figcaption&Elo排名与FIFA排名对比,可以看到,这一届排名刷bug“混”进世界杯小组抽签种子的波兰,在Elo排名里仅列16位。近年长期霸占FIFA排名高位,蹭得各种抽签种子,但没有取得什么重大成绩的比利时,排名也明显比FIFA榜单低。&/figcaption&&/figure&&p&&br&&/p&&p&&b&世界足球俱乐部排名&/b&:对于足球俱乐部层次的排名,有多家民间机构进行过尝试,目前最常见的是非官方网站&a href=&https://link.zhihu.com/?target=http%3A//footballdatabase.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Club Rankings and Statistics&/a&计算的足球俱乐部排名,这个排名原则上属于Elo算法,计算范围包括了全世界的所有国家曾经有资格参与洲际俱乐部比赛的球队,以及主要国家的前两级联赛。带有一定官方性质的排名的例子是欧足联的俱乐部系数,这个是类似网球的荣誉分数制。&/p&&p&&b&美国NCAA大学橄榄球碗赛排名&/b&:美国的NCAA大学体育联盟是一个非常奇特的组织,这个组织实际是十来个分会的组合体,每个赛季基本只是在分会内部打比赛,球队极多,但交流机会很少。然而美国体育又极其青睐于打全国决赛(所谓Bowl Champions Series),这要求每一年都得在一大堆没有交流的分会中列出一个非常精确的排名。理论上可以用Elo评分解决,但每年一度排名的特性使得Elo似乎不太适用。所以美国人使用了一个多系统联合式的方法,其中&b&一部分是由投票来决定&/b&,即由三个授权机构邀请行业内专家、教练根据比赛结果投票出一个排名,另一部分则是由&b&多个由计算机算法生成的排名&/b&,最后的排名还要由去掉最高最低的方式决定。由于这个系统过于晦涩难懂、也非常不透明,每年都有学校被莫名刷掉,故而其争议也相当大。&/p&&p&&b&UFC冠军排名&/b&:这是另一个&b&投票式决定的排名&/b&,UFC比赛以一名选手的生涯数据为基本指标,但不同选手的参赛场次数、获胜的方式差别极大,很难用单纯的数字指标表达排名。所以也就干脆直接采用投票制,由相关媒体机构自行选出每个级别的排位,包括一个跨级别的综合排名,最后进行汇总。当然这种非常主观的排名只能作为参考,官方并没有针对排名划定严格的对阵标准。&/p&&p&&br&&/p&&p&其他趣味体育文章:&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&体育运动中外名称用语考&/a&&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&【体育与语言2】世界各国足球联赛名称考&/a&&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&体育游戏考——十指间的体坛盛宴&/a&&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&变革中的足球——欧洲国家联赛&/a&&/p&&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&变革中的足球2——录像裁判&/a&&/p&&p&&/p&&p&&/p&&p&&/p&&p&&/p&
注:这次的这个话题是我非常喜欢的一个主题,也是一个相当有趣的话题。但跟前面的“体育与语言”不一样,这次的话题涉及到一定的数学知识,话题非常大,难度也要大很多。我会尽量使用通俗的语言来分析文章里涉及的问题,关注点将主要在排名的思想和基本方法…
&p&昨天刚下了一个感觉很实用的工具:&a href=&//link.zhihu.com/?target=http%3A//pm2.keymetrics.io/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PM2&/a&&/p&&p&&b&用以在后台运行和管理进程&/b&&/p&&p&先放张刚截的图:&/p&&figure&&img data-rawheight=&587& src=&https://pic4.zhimg.com/v2-cf61c0f1bf5d830d42738cfe28c88317_b.jpg& data-rawwidth=&656& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&https://pic4.zhimg.com/v2-cf61c0f1bf5d830d42738cfe28c88317_r.jpg&&&/figure&&p&可以看到我的&b& pm2 list&/b& 中有 aria2c,npm,gulp 和 hexo。&/p&&p&这样就节省了好多个窗口,管理起来也十分方便。&/p&&p&比如:&/p&&div class=&highlight&&&pre&&code class=&language-bash&&&span class=&c&&# 开始&/span&
pm2 start &id&
&span class=&c&&# 停止&/span&
pm2 stop &id&
&/code&&/pre&&/div&&p&如果需要监听的话,在 start 命令后面加个 --watch 即可。&/p&&br&&p&上面只是 pm2 最基础的用法,它的命令和功能很多,具体可以看官网的文档: &a href=&//link.zhihu.com/?target=http%3A//pm2.keymetrics.io/docs/usage/cluster-mode/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Document · PM2&/a&。&/p&&br&&p&再举个栗子&/p&&p&后台运行担心看不到 log?pm2 也已经帮你考虑了:&/p&&div class=&highlight&&&pre&&code class=&language-bash&&pm2 monit
&/code&&/pre&&/div&&figure&&img data-rawheight=&936& src=&https://pic2.zhimg.com/v2-d1b5b633e114bab588ef258cb5d4d3a5_b.jpg& data-rawwidth=&1264& class=&origin_image zh-lightbox-thumb& width=&1264& data-original=&https://pic2.zhimg.com/v2-d1b5b633e114bab588ef258cb5d4d3a5_r.jpg&&&/figure&&p&这样就能看到全局的 log 了。&/p&
昨天刚下了一个感觉很实用的工具:用以在后台运行和管理进程先放张刚截的图:可以看到我的 pm2 list 中有 aria2c,npm,gulp 和 hexo。这样就节省了好多个窗口,管理起来也十分方便。比如:# 开始
pm2 start &id&
pm2 stop &id&如果需要监听的话…
&p&首先说明,以下答案只是我目前阶段不完整的学习笔记,其中哲学和物理学的部分是业余水准,不足为训。相关的讨论文献阅读不够,希望有生之年能读个大概,常有机会回来更新此答。如果只回答一句,就是:&b&时间方向与自由意志都是体验而非纯知识&/b&。&/p&&ul&&li&体验为什么不是纯知识&/li&&/ul&&p&我是从休谟的中译文本第一次学到这个盲点。以下是我在复旦的通识课《幸福心理学》一页课件&/p&&figure&&img src=&https://pic4.zhimg.com/v2-83a77f889d2d5eec00235a0cda9cfe37_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&423& data-rawheight=&351& class=&origin_image zh-lightbox-thumb& width=&423& data-original=&https://pic4.zhimg.com/v2-83a77f889d2d5eec00235a0cda9cfe37_r.jpg&&&/figure&&p&这也是我的知乎 Live《&a href=&https://www.zhihu.com/lives/589376& class=&internal&&幸福心理学&/a&》的第一个命题:怎样告诉你,我的体验。首先,体验有别于知识。在教学现场或者Live中,这个教学过程本身就示范了什么是可意会(体验)而不可言传。想体验这个过程的朋友,可以先点下面的优酷链接完成著名的「传球计数」视频实验。&/p&&p&优酷:&a href=&//link.zhihu.com/?target=http%3A//m.youku.com/video/id_XNjAyNzQ4ODk2.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&m.youku.com/video/id_XN&/span&&span class=&invisible&&jAyNzQ4ODk2.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&课堂现场的提问是:「假如你已经完成实验,是不是有办法告诉另一个朋友你在这个实验中的感受,通过对话让他达成你一样的感受?」这个过程对应的 Live 文稿如下,涉及稍多几个实例,没时间听 Live 的知友只需了解「传球计数」这个实例就够用。&/p&&blockquote&这段想说这样一条通识:「&b&体验本身不可能以知识的方式告诉你,但发生体验的途径有可能以知识的方式告诉你&/b&」。通过三个基于直接体验的实验素材(「传球计数」、「红蓝药丸」、「研表究明」),通过类比茶酒咖啡、悲剧小说、初恋前后、面对死亡的准宗教体验前后,使现场知友获得这样一种特定的体验——「人生中特别有意义的体验可能在未来发生,但是现在并无法以知识的方式预习」。&br&&br&这一小节还附带分享了另外两个体验:「短时记忆时间尺度上的体验主体理性认知能力极度受限」、「宗教信仰的原因不是科学教育缺乏,而是信仰体验丰富」。请留意,前者是「传球计数」实验大部分参加者实际发生的体验(一小部分参加者并未发生体验,只在知识层面得到分享),后者只是我作为无神论者的个人体验经历限于知识层面的口头分享。&br&&br&未参加 Live 的知友可以点这个【&a href=&//link.zhihu.com/?target=http%3A//m.youku.com/video/id_XNjAyNzQ4ODk2.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&优酷链接&/a&】完成「传球计数」的视频实验。短时记忆容量限度与前一段的冯-诺依曼体系计算机隐喻还有一层循环论证的意味,参见本专栏文章《&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&风之结构?幡之结构?仁者心之结构&/a&》。身为无神论者的宗教体验分享曾写在知乎:&a href=&https://www.zhihu.com/question//answer/& class=&internal&&什么让你坚定了无神论观点? - 李晓煦的回答&/a&。&/blockquote&&ul&&li&时间的方向是一种体验&/li&&/ul&&p&我主张 Inverted Qualia Paradox 适用于时间方向的体验。以下是我在知乎问题「 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何理解时间? &/a&」下面的回答。&/p&&blockquote&心理时间是观察者的时间,在全知而无人格的上帝那里,没有心理时间,愚蠢的人类不过是层层重叠的电影胶片中的体验角色。体验者以模式识别的方式进化得心理时间。&br&&br&霍金《时间简史》空前成功地科普了四个概念:&i&大爆炸宇宙学时间箭头&/i&、&i&热力学时间箭头&/i&、&i&观察者心理时间箭头&/i&,以及&i&弱人择原理&/i&:世界可以这样,也可以是那样、或者那样、或者那样,但只有这样的世界里才孕育观察者。&br&&br&主流的物理学认为,宇宙学时间箭头(爆炸/收缩)和热力学时间箭头等价。宇宙初始条件可推出热力学时间箭头方向。《时间简史》还提到:观察者时间箭头通过记忆过去和预测未来,与热力学时间箭头等价。对后者,我有一个原创但不太可能是首创*的解释:&br&&br&人类能看见红色和绿色,视网膜细胞把光波的连续频率离散地转为少数几类神经信号。假如世界上所有光波频率红绿对换,人类看到的世界变成原先印象的底片。假如把人类视网膜光波→神经信号的转化函数也作一个对换,两种对换整合抵消,人类看到的世界对应的神经信号保持不变。此时问,世界真的红绿对换了么?这就谈到著名的 Inverted Qualia Paradox。&br&&br&类似地,如果全知而无人格的上帝,把层层重叠的电影胶片倒过来排列,电影胶片中的人类心灵模式识别的时间方向也相应倒了过来。两种对换综合的结果——倒排胶片中的观察者看到的世界对应的神经信号保持不变。愚蠢的人类仍然只能把回忆标签为「过去」,把期望标签为「未来」。我的论点是:时间方向是 Qualia ,适用 Inverted Qualia Paradox 几乎所有的论证。&br&&br&&i&* 层叠胶片是个古老的思想实验,比如神剧《真探·第一季》那段男主角喃喃自语(&a href=&//link.zhihu.com/?target=http%3A//youtu.be/RKRksnjSxWI& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&youtu.be/RKRksnjSxWI&/span&&span class=&invisible&&&/span&&/a& )。至于层叠胶片与红绿翻转的对应,盼有心灵哲学科班背景的同学帮提供文献线索。 &/i&&/blockquote&&ul&&li&时间方向无关的数理逻辑「蕴含」&/li&&/ul&&p&数理逻辑中的 (p → q) 等价于 ((Not p) Or q) ,注意到后者完全不涉及时间。前者的形式适合串联,我们的心灵擅长这种串联,从 (p → q)
And (q→r) 迅速地得到 (p →r)。如果写成由 Not、Or、And 运算的等价形式,穷举的暴力算法也可以得到同样结果,但是我们的心灵不擅长。&/p&&p&&br&&/p&&p&——感谢评论区知友指正:在科班文本里,(p→q)不会被标签为因果,会特意用另外一个术语「蕴含」。值得一提的是,在回应这个指正批评的时候,我发现(p→q)对反事实因果的牵涉比我原先的预期更多一些。在 ((Not p) Or q) 的穷举式表述里,这个命题是对各种事件的一个描述。类似地,数理统计的多元分布也是对各种事件的一个描述,预测是描述的一种特例。数理统计的常识是:预测可以从现在预测过去,可以从结果预测原因,可以从结果预测另一结果。从预测到反事实的因果,其实是叠加上了新的因素,预测与因果不是非此即彼的矛盾。我真正想说的是,(p→q)如果其中的 p,被赋予从 False 到 True 的反事实操控,意味着 q 可以被操控锁死在 True。这解释了生活语言里的(p→q)为什么会启动因果的意象。&/p&&p&&br&&/p&&ul&&li&与时间方向相反的演化「目的论」&/li&&/ul&&p&演化论中最常用于阐释「目的论」的示例:因为自由能动需要侦测环境,所以我们「进化」出了眼睛。这是因为观察者的出现是局部熵减的结果。整体仍然熵增,在由因到果时间方向的熵增世界里,后测=前测+外生改变量,改变量通常与后测正相关,与前测无关(较难遇到与前测负相关的情形)。系统的总变异随时间递增。日常生活中:杯子碎为玻璃渣,而玻璃渣不会变回杯子。教学案例中:杯子放在可以溶解杯子的溶液里,杯子的分子位置随时间叠加上改变量,系统的总变异随时间递增,容易看到特殊形状的杯子溶解,不会看到凝结出特殊杯形晶体。然而演化的算法是优胜劣汰,淘汰的海量副本熵增补偿了优胜的「天择」副本熵减。根据人择原理,观察者进化出「眼睛」隐喻的「心灵」,这样的观察者只在「天择」副本中产生,所以我们在熵减局部中观察到逆因果方向的目的论,若将其推而广之即统计佯谬。&/p&&p&&br&&/p&&ul&&li&数理统计的反事实因果中的两类原因:可操控 vs 不可操控&/li&&/ul&&p&数理统计与实验设计中的因果,形式上没有涉及时间。Rubin 的反事实因果框架极富于操作主义。原因变量从控制水平改到实验水平,其结果效应定义为(实验组的研究变量得分 - 反事实控制组的研究变量得分)。对于群体,可以通过随机分配确保实验组和控制组都代表「其它所有自变量」完全一样的同一总体。技术上,双盲可以确保「唯一变化的自变量」命名的效度。比如「药的生理疗效」可以区别于「被试或主试看到药名导致的安慰剂疗效」,因为双盲,所有实验现场的人都看不到药名。&/p&&p&比较有意思的是,反事实的情形也可以是某个研究圈子的共识,不需诉诸实证数据。比如:如果取消冬季供暖,那么城市预期寿命的地图不连续断层不会与冬季供暖分界线近似重合。实验组观测即行政传统冬季供暖线的现世事实,如果出现寿命地图的不连续断层与冬季供暖分界线近似重合,那么冬季供暖就成为寿命落差的原因。&/p&&p&反面的例子则是,两个研究圈子的反事实共识恰好相反,即使两群研究者对现世事实的认识完全一致,仍然会得出截然相反的因果结论。比如,政治体制如何作用于经济发展。假如,一个研究圈子相信,如果未能实现列宁主义民主集中制,中国经济将发展为印度的水准;另一个研究圈子相信,同样假设下中国经济将发展为日韩的水准。那么,基于相同的实验组数据认识和相反的反事实控制组「共」识,双方得到相反的因果推断。&/p&&p&反事实因果的操作主义需要落实在因果命题的应用推广,学术黑话所谓外延效度。如果可以操控原因变量(是否供暖)的水平,就可以改变结果变量(与供暖分界线近似重合的寿命地图断层线是否消失)。从这一点来说,不能被操控的变量,在 Rubin 反事实推断中扮演比较尴尬的角色。心理学研究者对此挺敏感:出生性别、出生族群、出生时的家庭社会经济指数,这些所谓的人口统计学变量,具体到个体都不具有实验操控的可能。不可操控的原因,仍然对应着操控之后的反事实假设。举个例子,基因解释了成年幸福感40%的变异,是通过同卵孪生与异卵同性孪生的成年幸福感相关系数比对得到的,与两性的心理旋转能力差异是同样的范式。如果只将性别基因修改,其它条件不变,我的心理旋转能力将下降若干。这个因果推断基于反事实假设。如果要挑战这个反事实假设,只需要在我的直系家族中采集数据,如果得到的结果是我的直系家族数据与大群体的数据趋势相反,我的列祖列宗太多特别擅长心理旋转的女汉子,这个因果推断就不成立了。&/p&&ul&&li&自由意志是一种体验&/li&&/ul&&p&可操控的原因变量,与时间箭头的关系在于自由意志体验。比较出人意料的是,Dennett 的《自由的进化》居然在决定论的世界里构建出自由意志。决定论与宿命感体验和使命感体验都适配。我的教学专栏第一篇文章就献给了这个命题:《浮生若&img src=&//www.zhihu.com/equation?tex=%5Cpi& alt=&\pi& eeimg=&1&&,使命必达 &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&& - 知乎专栏&/a&》。&/p&&p&那篇专栏讲了两个反直觉的事实。第一个是数学命题:概率的数学模型不需要随机性,可以定义在未知但确定的对象上。第二个是思想史事实:从牛顿力学到量子力学这几百年,第一流的知识精英发自内心相信「世界确定而未知」。确定而未知的历史行程中,使命感体验即是自由意志体验。&/p&&p&结论:「操控原因」与「时间箭头」在知识层面未见依赖,却在体验层面探得同源。需要补充一句:体验不应该被视为错觉,我的专栏文章《 &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&透过时光的棱镜&/a& 》从记忆、视觉、听觉的实例尝试解读。&/p&
首先说明,以下答案只是我目前阶段不完整的学习笔记,其中哲学和物理学的部分是业余水准,不足为训。相关的讨论文献阅读不够,希望有生之年能读个大概,常有机会回来更新此答。如果只回答一句,就是:时间方向与自由意志都是体验而非纯知识。体验为什么不是…
&b&本文原发于公众号“凯鹅”。&/b&&p&&br&1&/p&&p&秦始皇三十六年,东郡地区落下一块陨石,上写七个大字:始皇帝死而地分。&/p&&p&秦始皇这辈子最大的贡献就是扫除六合,在全国范围内行郡县之制。&/p&&p&东郡是秦王政五年设置的,彼时蒙骜帅军拔魏二十城,初置东郡。距离出现这块带字的石头,已经过去了31年。&/p&&p&31年后,有了这么个东西。&/p&&p&“始皇帝死而地分”,算是谶语之类,所谓谶语,其实就是不宜公开讨论的政治内容。&/p&&p&对一方不宜公开讨论,另一方就大张旗鼓地宣传。&/p&&p&这么清晰的秦篆,不可能是石头自己长出来的,肯定是人刻上去的。&/p&&p&把作为人的意愿,刻到象征着上天启示的陨石上,体现了一种中国特色的民众与统治者之间的交流方式。&/p&&p&古代皇帝声称自己是天子,代表昊天意志,管理九州百姓,百姓都是他的子民。皇帝有至高无上的权力,也有充当最后责任人的义务。&/p&&p&这就是“万方有罪,责在朕躬”。&/p&&p&既然上天把管理百姓的权力让渡给了君王,如果有什么不合上天心思的,当然得追究责任。追责方式不是直接大火焚城,先要示警,频繁示警。直到保持最大限度的克制也看不下去了,才另立中央,恭行天罚。&/p&&p&天降陨石,就是示警的一种方式。&/p&&p&基于这样一种政治神学,通过陨石和君主沟通,就具有了某种官方认可的程序合理性。所以才有了往陨石上刻字的这种行为。&/p&&p&作为统治者一方,要想摧毁神谕的合理性,首先得撇开这些词语和天意之间的关系,即判定它们由人伪造,并非出自上天的意志。&/p&&p&始皇帝却耍赖了。&/p&&p&他并没有追究刻字者发矫诏的资格,没有将这件事情处理为一小撮人对上天意志的强行代言,而是直接遣御史抓人,由于抓捕未果,就把石头旁边的住户全杀了。&/p&&p&这就由政治反击,变成了低劣的止谤之术。&/p&&p&止谤,是不可容忍的。&/p&&p&始皇帝把自己变成周厉王之类的下三滥,甚至比周厉王更甚,厉王不过是不让人说话,始皇帝不仅不让人说话,还不让神说话。&/p&&p&彻底的无神论者。&/p&&p&他不仅要打倒牛鬼蛇神,甚至敢于否定构成统治合法性的政治哲学。在必要的时候,连授予自己天命的上天意志也一并打败。&/p&&p&可惜万里长城今犹在,不见当年秦始皇。&/p&&p&一部分无神论者也不如当年的晓事了。&/p&&br&&p&2&/p&&p&谶语表露的政治诉求,也非常有意思,它不是简单地推翻秦政,给万民以某种福祉,而是旗帜鲜明地宣称要“地分”。&/p&&p&即分裂秦国,促成独立运作的地方割据势力。&/p&&p&不但要回到战国状态,甚至连周朝时诸侯对天子的效忠义务也一并抹除。&/p&&p&就是说,单等秦始皇死了,大家各走各道。&/p&&p&这就比较暴力了,然而也其来有自。&br&&/p&&p&进入战国后,中国迎来了一个大分裂的年代。&/p&&p&禄去宫室,政在大夫。中央和基层,都处于无可挽回的权力下移过程中。&/p&&p&昔日诸侯拱卫天子的政治结构,已经被时代所抛弃。一变而成春秋的霸业主导,再变而成战国的七国争雄。&/p&&p&到了秦国时,没有继续分裂、下移,反而由秦国的铁骑促成了统一。大一统后苛法横行,庶民的生存状态急剧恶化,以至于始皇未死,就已经露出要崩溃的势头。&/p&&p&这条谶语似乎在暗示,如果不是始皇帝横插一杠子,“禄去宫室、正在大夫”式的权力下移,还应该走得更远。而后面所有的政治格局架构,理应在“地分”的基础之上实现。&/p&&p&陈涉起事时,倡言“王侯将相宁有种乎”,是庶民的呼声,也正是这种权力下移的表现。&br&&/p&&p&但是,如果将分裂的政治诉求视为单纯是庶民阶层对暴政的反抗,实际上并不合理,因为随着陈涉起事,不止庶民和众多六国之后的没落贵族被牵涉进去,还有一股容易被人忽略的势力也加入了反抗的大潮:&/p&&blockquote&陈涉之王也,而鲁诸儒持孔氏之礼器往归陈王。于是孔甲为陈涉博士,卒与涉俱死。&/blockquote&&p&连儒生都撸起袖子准备干了,甚至还有人与陈涉俱死。&/p&&p&这些人非常特别。&/p&&p&他们的与众不同,乃在于参与革命之前,皆是抱持着完整、清晰的一家学说的。如果说别人的视线止于诛暴秦,他们谋划的显然更加深远。&/p&&p&那么他们所信奉的主义,究竟是再造一周,抑或者再造一鲁呢?&/p&&p&或许,都有可能。&/p&&p&秦王政统一六国,是将六国人置于苛法之下的过程。但另一方面,它的武功也在激励着人们,激励着知识分子勇于将自己的学说转化成政治现实。&/p&&p&既然申商之法可以敦促秦国取天下,为什么其它学说就不行呢?&/p&&p&总要试一试才能下结论吧。&/p&&p&儒生之所以持礼器远来,部分原因是对暴秦的仇恨,也未尝没有预存一个实现其学说主张的念头。甚至可以说,后一个因素更加重要。&/p&&p&孔子时代,用之则行,舍之则藏,政治学说介乎庙堂、学术机构、个人收藏品之间;到了战国时代,处士横议,态度积极了,地位却还处于从属状态;等到遭逢秦汉之际,世风变得更加活泼,他们直接动手去改变世界了。&/p&&p&当然,多大程度地改变世界?是否仍旧视天下为一体?是要重新光复众建诸侯的贵族体制,抑或是鸡犬之声相闻老死不相往来?&/p&&p&对这些问题,各家有各家的说法,但这不重要。重要的是,大家不再热衷于去寻找共识,而是要在能力所及的范围内搞学说实现了。&/p&&p&基于分裂而修正的思想,试图敦促政治进一步分裂化。&/p&&br&&p&3&/p&&p&司马迁对这件事情的记载,更有意思。&br&&/p&&p&秦始皇本纪第六:&/p&&blockquote&……,黔首或刻其石,曰“始皇帝死而地分”。&/blockquote&&p&刻字这一行为的主语,明白交代,是“黔首”。&/p&&p&黔首是什么?一般老百姓,穷苦大众,庶民。&/p&&p&庶民跑到这里,刻下了七个秦篆:&/p&&p&始皇帝死而地分。&/p&&p&操持农事与手工业的黔首,是否具有这么高的文化水平,不仅会拼写秦篆,还能清晰地表达自己的政治诉求?&/p&&p&司马迁虽然这么写,到了司马光这里就不大认同,于是在通鉴里,它就变成了:&/p&&blockquote&&b&或&/b&刻其石曰:始皇死而地分。&/blockquote&&p&具有特定身份指向的“黔首”,变成了模糊笼统的“或”。&/p&&p&司马光说,确实是有个人刻了这些字,但不知道这人是干嘛的。可能是普通老百姓,可能是知识分子,也可能是逆向民主主义者、境外势力、秦奸……等等。&/p&&p&如此看来,司马光比司马迁似乎更加审慎。&/p&&p&但是在《秦始皇本纪》里,这段话下面,还有一截内容:&/p&&blockquote&有人持璧遮使者曰:“为吾遗滈池君。”因言曰:“今年祖龙死”。&/blockquote&&p&有个人拿着块璧玉送给了秦始皇的使者,说:把这东西送给滈池君。顺便还说了一句:今年祖龙死。&/p&&p&祖龙是谁呢?&br&&/p&&p&按照谶语“取类而言”的游戏规则:祖,始也;龙,人君也。&/p&&p&合到一起,就是“第一个皇帝”的意思,自然是指秦始皇了。&/p&&p&这具谶语的意思是,秦始皇要死了,秦国药丸。&/p&&p&请注意司马迁针对两条谶语在措辞上的微妙区别。&/p&&p&说秦始皇死了之后就会分裂的人,被清晰地指向“黔首”,单说今年秦始皇死的人,则是被笼统地称为“有人”。&/p&&p&很显然,两句谶语的制造者都是匿名人士。既然如此,为什么一个被清晰地指为“黔首”,另一个是“有人”呢。&/p&&p&他为什么没有像司马光那样,更审慎地用“或”呢?&/p&&p&这两句话的具体含义,还真不大一样。&/p&&p&死而地分,实际上包括两层含义:秦始皇死了之后秦可能要亡,这是一;天下要分崩离析,走向分裂,这是二。&/p&&p&今年祖龙死的含义则是只有一层:今年始皇帝要死了,他死了之后秦就亡了。只暗示秦亡,没提分裂的事儿。&/p&&p&一个说要变天,不仅变天,还要分裂。&/p&&p&另一个只说要变天,但天下可能还会延续秦打下的格局。&/p&&p&这就是区别。&/p&&p&对于第二种,司马迁笼统地称为“有人”,而对于第一种观点,却被限定在了“黔首”这个圈子里。&/p&&p&也就是说,虽然大家普遍认同秦要灭亡,但只有部分黔首认为天下会因此走向分裂。&/p&&p&司马迁为什么要这样说?&/p&&p&《史记》里有相当多篇幅,都在论述炎汉承接天命的合法性。《高祖本纪》里有不少属于政治神学的叙述,比如刘媪与龙交,暗示了刘邦血统上的合法性,高祖斩白蛇,象征了汉帝国对秦帝国权力的交接转移。&/p&&p&那么,如果炎汉承接天命是合理的,就要求有另一个前提同样成立:&/p&&p&天命曾经在秦。&/p&&p&汉的意义不止在于诛暴秦,更在于从秦那里继承了一个统一的帝国。惟其如此,才能当天命,也惟其如此,汉家河山才不容许分裂。&/p&&p&立足于这个现实往前回溯,那些妄图以分裂的方式结束暴秦并走向更大分裂的主张,就只能是无知黔首级别的陋见。&/p&&p&而知识分子,则被从“裂地分秦”的呼声里摘开了。&br&&/p&&p&司马迁生逢大一统思想盛行的武帝朝,政治上的统一,令不同学说之间的共识基础趋于牢固。基于这种共识,从前那些在分裂天下的基础上探讨政治实现的学说,被定性为黔首讹传的陋见。&/p&&p&司马迁使用“黔首”这种修辞,意在宣布某些尝试分裂的学术思想的破产,并敦促之后的探讨,继续在政治大一统的前提下进行。&/p&&br&&p&公众号“凯鹅”:好书分享/电影分析&/p&&br&&figure&&img src=&https://pic2.zhimg.com/v2-ce78b0e4f42a1f739c99_b.png& data-rawwidth=&222& data-rawheight=&222& class=&content_image& width=&222&&&/figure&
本文原发于公众号“凯鹅”。 1秦始皇三十六年,东郡地区落下一块陨石,上写七个大字:始皇帝死而地分。秦始皇这辈子最大的贡献就是扫除六合,在全国范围内行郡县之制。东郡是秦王政五年设置的,彼时蒙骜帅军拔魏二十城,初置东郡。距离出现这块带字的石头,…
以下为代友转发,所有版权尽归原代者,赞美拍砖都与我无关 ~~&br&原文请至: &a href=&//link.zhihu.com/?target=http%3A//shell909090.org/blog/E6%259C%258D%25E5%258A%25A1%25E5%%25E6%E4%25BD%259C%25E7%25B3%25BB%25E7%25BB%259F%25E7%259A%%E6%258B%25A9/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&服务器操作系统的选择&/a&&br&================================================&br&服务器操作系统的选择&br&&p&今天被LTN问了一下怎么看一个知乎问题:&/p&&a href=&http://www.zhihu.com/question/& class=&internal&&服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?&/a&&p&其实我觉得他的大部分说法都没有错。如果你需要装一个服务器,确实首选是RH系的。&/p&&p&但是。。。&/p&&b&选用RH系的主要理由&/b&&p&其实你把回复从头看到尾,主要论点就一点:&/p&&p&哪个发行版,可以在长达7-10年的时间里,始终保持硬件稳定性的同时,又持续的升级补丁?&/p&&p&结论当然是RH!这是RH的主要卖点。&/p&&b&我们真的需要长达7年的硬件稳定性支持?&/b&&p&咳咳,今年上半年,蔽厂的运维碰到了这么一件尴尬事。&/p&&p&他们进货,去机房装系统,配置网络结构,加入运维管理系统,添加监控,交付。除去采购外,整个一套流程大概是一周。&/p&&p&我们在机房里面原本大约有10个机柜,那么一般扩充的时候,一次扩充一个机柜。&/p&&p&结果今年上半年的某一段时间,一周一个机柜的事情持续了两个月。运维同学辛辛苦苦装好一个机柜,周末打算轻松一下。被老大通知,又来客户了,机柜又不够用了,下周继续。&/p&&p&是的,我们现在20个机柜不止。机房有多少机柜我不知道,不过照这个趋势来看,我们快把机房包下来了。现在我们的带宽已经没有限制了,每个月月底按照合同秋后算账。&/p&&p&我们有一些有三年历史的服务器,台数不多。现在来看,性能已经远远不够。CPU不够快,也没有SSD,硬盘读写次数也太多。这些机器的下场,多数会被换下来折旧卖掉,或者作为测试服务器,搬去测试机房。而现在机房里面大半机器,都是两年以下历史的。而且至少一半服务器历史不超过半年(。。。)。从现状上看,把老服务器留在机房,其性价比并不合算。因为机房有机架密度问题,限制着我们的单机房极限,这相当于变相的租金。&/p&&p&如果考虑到这点,我们的线上服务器生命周期大概也就三年。最多。很多时候甚至还不到。&/p&&p&比我们更极端的是页游。他们的一组服务器生命周期一般是半年。半年内,要赚钱的也赚完了,不赚钱的也死完了。所以他们甚至不会新采购硬件服务器,而是直接使用虚拟机。&/p&&p&当然,虚拟机内的系统,支持时间是一年还是十年,对他们一点意义都没有。&/p&&b&为什么我们不喜欢三年以上的系统?&/b&&p&RH系的提供10年级别的维护性,我换个说法,也就是最近的软件在RH的官方库里面找不到。当然,装最新的RH是有的,但是在安装了三年的一个系统上?肯定没戏。&/p&&p&怎么办?编译呗。&/p&&p&这大概就是国内谈到RH必编译的由来。&/p&&p&可是,我引用文内的一段话。&/p&&div class=&highlight&&&pre&&code class=&language-text&&如果我今天告诉大家,我要做一个 http 的服务器,我不用 apache 不用 nginx,
为了性能我要用 xxx 为基础重写一套出来。我相信绝大多数人会问同样的问题,
“你觉得你写的能比 ng 好么?”
再回头看看那时候你们自己吧。
&/code&&/pre&&/div&&p&同样,自己编译的软件,补丁维护速度,能和新系统比么?而且我们还得扔一个人下去搞补丁维护。&/p&&p&所以,正解是什么?&/p&&p&装一套新的,把数据导过去用呗。&/p&&p&我们的”数据“,都是装载在磁盘上的。而换”系统“并不需要更新这些数据,只要把系统盘擦掉重部署一遍,然后配置好deploy系统就OK。在开发之初,”环境“,”程序“和”数据“分离,就是一项基本原则。而且即使是”数据“,丢掉一台机器上的所有”数据“也不会构成问题。这应当是运维基础中的基础。只有少数几台服务器,既不能直接更换也不能停机。这些机器我们做特别的管理。&/p&&b&为什么蔽厂使用Ubuntu?&/b&&p&很简单。因为最初的开发希望在Linux上进行。直接在Linux上开发和测试,对于startup的快速开发是非常重要的。而开发用什么版本,服务器跟什么版本,这是最省事和好办的。如果你硬要和我争,说开发在Mac上,跑在Linux上一点事都没有。或者说开发一个发行,服务器一个发行也OK。&/p&&p&我至少得说这对于golang和python都不是事实。除非不用cgo,也不用python的C扩展。&/p&&p&先不提Mac下和Linux下的差异。我们今年在升14.04的时候就发现,12.04和14.04的编译互不通行。所以现在12.04的编译可以程序员自己编译了本地测,14.04的就必须在测试环境里干。一帮程序员远程tcpdump出结果,拷回本地wireshark一把。。。&/p&&p&看看就蛋疼。&/p&&p&当然,这也有个问题。就是上面”我们不喜欢三年以上的系统“。所以呢。明年我们的系统大概会轮换重装,14.04。。。&/p&&p&也很蛋疼。&/p&&b&Debian系的补丁不靠谱么?&/b&&p&那要看和谁比。这里有HeartBleed事件的统计。虽然不普遍,但是我觉得这种大漏洞比较有代表性。&/p&&a href=&//link.zhihu.com/?target=http%3A//blog.gcos.me/_openssl-cve--security-issue.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CVE- – OpenSSL 安全漏洞的非技術事件&/a&&p&我引用他的重点整理:&/p&&div class=&highlight&&&pre&&code class=&language-text&&RedHat 修復的速度比 OpenSSL 官方還快。
RedHat 派系的修復時間,除了 RedHat 外都算慢,如 Fedora 及 CentOS、Scentific,
他們都比 RedHat 慢 16 小時以上。
Debian 派系的修復時間,如 Debian 及 Ubuntu,都比 RedHat 慢上至少 12 小時以上。
Scentific 是列表中修復最慢的。
若以資安黃金 6 小時來說,Fedora、CentOS、OpenSUSE、Gentoo
及 Scentific 都不及格。
&/code&&/pre&&/div&&p&如果和RH比,Debian的修复速度是不及格,但是和CentOS比。。。怎么说呢?6个小时对10个小时,有种五十步笑百步的味道?&/p&&p&换你你愿意走几步?&/p&&p&另外,我也不知道原文说的升级一大包是怎么回事。我在Debian stable上查询ssl:&/p&&div class=&highlight&&&pre&&code class=&language-text&&$ dpkg -s libssl1.0.0
Version: 1.0.1e-2+deb7u12
Depends: libc6 (&= 2.7), zlib1g (&= 1:1.1.4), debconf (&= 0.5) | debconf-2.0
&/code&&/pre&&/div&&p&但是同时。&/p&&div class=&highlight&&&pre&&code class=&language-text&&$ dpkg -l | grep libc6
libc6:i386
2.13-38+deb7u3
Embedded GNU C Library: Shared libraries
&/code&&/pre&&/div&&p&libc的依赖早就满足到不能再满足了。直到今天为止,openssl在debian上的升级还不需要你强制跟随升级libc6。而kernel根本没有依赖。&/p&&b&纠正原文的一点理解错误&/b&&div class=&highlight&&&pre&&code class=&language-text&&Debian 是由社区维护、贡献的发行版本,其从选包、打包、都是由社区组织,分散行动的。
Debian 是没有真正意义的 release 概念的。Debian 有众多仓库,stable,testing,
unstable ,experimental. Debian 组织系统的方式是,一个软件先进入 experimental,
放一段时间,有 bug 修 bug,没 bug 了,过段时间挪入 unstable,
如此循环最终挪到 stable 里面。
所以在这种情况下,Debian 的系统中,是没有一个稳定版本的概念。
今天你用 kernel 3.2.1-87 , 明天就给你更新到 kernel 3.3.2-5 。
&/code&&/pre&&/div&&p&Debian是由社区维护,这没错。但是选包并不是社区组织。Debian中,如果没有特定理由(例如dfsg)阻止你打一个包,那么只要有maintainer,就可以打包。哪怕这个包的用户其实不是很多(很多包甚至统计上只有1X个用户),这也是Debian那么一大堆包的原因。&/p&&p&Debian包的管理方式是,先进入unstable(是的,除了少数情况,一般不是进入experimental)。在一周后,看看没问题,就进入testing。没问题的指标是,这个包和依赖的包没有RC bug,就是致命性bug。&/p&&p&所以很多在unstable里面有的东西,testing里面反而没有。因为unstable里面的某个基础依赖包的RC bug并没有被修复。而且testing修漏洞的速度是最慢的。因为一出问题,unstable会直接引入新的版本。而stable会要求maintainer修复。可怜的testing只能等一个礼拜。。。&/p&&p&那什么时候进入stable?他不会随着你的循环进入stable。而是每1.5-2年(预期1.5年,但是RC冻结周期往往会超标,根据历史数据统计,一般两年)做一次发布,这个发布会冻结所有新包,并修正RC bug。等大家觉得差不多稳定了,OK,原本的testing就成为stable,而原本的unstable就fork出新的unstable和testing。&/p&&p&所以现在的testing代号就会成为下一个stable代号,而每次fork的时候,我们都是决定testing代号——就是下个发行的发行代号。&/p&&p&所以你看BTS的追踪,会发现每1.5年有一段时间,RC bug的数量会锐减,而新包的数量也锐减。这不是大家都冬眠了,只是新发行周期而已。&/p&&p&作为证据,下面是我的&a href=&//link.zhihu.com/?target=https%3A//qa.debian.org/developer.php%3Flogin%3Dshell0gmail.com& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Packages overview&/a&。大家可以看到,python-snappy(这是我唯一维护的包了,python-formalchemy已经RFA了)在stable里面是0.4,而新的两个里面是0.5。我没有明确理由把stable里面的版本升级到0.5。&/p&&b&那debian怎么修bug?&/b&&p&这个看maintainer。一般的原则是,如果不是无法保持版本,一般直接打补丁升级。这也是原文的一点理解错误。如果用的真的是Debian stable,没有特殊理由的话,内核是不会升级到3.3的。作为证据,大家可以看一下现在stable的官配内核版本号。目前是linux-image-amd64 (3.2+46),依赖应该是linux-image-3.2.0-4-amd64 (3.2.60-1+deb7u3)。也就是说,版本号应该是3.2.60-1+deb7u3。而3.2在&a href=&//link.zhihu.com/?target=https%3A//www.kernel.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&kernel.org&/a&上的longterm对应版本号是62。&/p&&p&原作者这个理解,怎么说呢。我怀疑他要么没仔细用过debian,要么用的是testing。&/p&&p&但是如果新老版本差异太大,老版本又拒绝提供补丁,那么逼不得已的情况下,需要评估是不是能升。例如某一段时间,mysql的版本号是5.0XXreal5.5XXX(这个是听本厂DD说的)。至于原本的兼容性问题,我也不知道他们是怎么想的,大概是认为mysql server没啥依赖性问题吧。&/p&&p&但是这种情况下,RH一般也没办法吧——除非他们自己出程序员给老版本做一遍补丁。不过如果这样的话,oracle一般会merge back回去,debian就跟着沾光了。&/p&&b&Ubuntu的误解&/b&&div class=&highlight&&&pre&&code class=&language-text&&Ubuntu 8.04 LTS April 24, 2008
Ubuntu 8.04.4 LTS January 28, 2010
你说好的 LTS 呢???
Ubuntu 10.04 LTS April 29, 2010
Ubuntu 10.04.4 LTS February 16, 2012
说好的 LTS 呢?
说 End of the Date 是3年整就是一个笑话,
只要下个 release 一出,上个 release 收到的更新数量就可怜。
&/code&&/pre&&/div&&p&作者大概是RH用多了,没搞明白Ubuntu“维护”的本质。&/p&&p&Debian和Debian基础的系统,主要的发行方式是网络。光盘只是给你个安装的机会。这点debian更加明显——他有种光盘叫做netinst。里面只有基础包的安装包。在不联网的情况下,你只能装出一个用于联网升级的系统。没有gui,没有openssh,啥都没有。&/p&&p&所以,LTS归LTS,修改不够多是不够打新光盘的。&/p&&p&谁会持续5年,一年给你弄张新光盘出来啊——尤其是里面没几个包改了。&/p&&p&而LTS的维护怎么样?我们来看&a href=&//link.zhihu.com/?target=http%3A//www.ubuntu.com/usn/lucid/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&usn&/a&的维护情况。&/p&&p&在月,总共有26个USN涉及ubuntu lucid。&/p&&p&所以装好ubuntu,第一件事是去repository上面打一遍安全补丁!&/p&&b&”维护“的本质问题&/b&&p&上面说了半天,根本问题是,”维护“是个什么东西?&/p&&p&主要就是bug修复。尤其是一类特殊bug修复——安全补丁。&/p&&p&一旦一个程序基本成型,就一定会形成”接口“。API是接口,调用的程序,参数,顺序,环境变量,一样是接口。有接口就有接口兼容性。如果不考虑兼容性,一律使用最新版本的话。。。&/p&&p&bang。不知哪天程序就跑不动了。因为作者改了接口。&/p&&p&不要以为这很扯,我在实际里多次碰到这种问题。python-mongo多次修改接口,sqlalchemy0.6时写的程序,经我反复修改终于上到了0.7,却死也上不到0.8。至于docker,也是个版本号刚刚过1.0的家伙。在1.0前面,我们就作大死的做了二次开发。结果惨不忍睹。&/p&&p&所以我们用一种被称为“发行”的方案。即一段时间,将稳定的代码固定下来,形成某个版本的发行。例如linux-kernel-3.2.0。而后新功能在3.3上面渐进,原本使用3.2的并不受到干扰。&/p&&p&这本来挺完美,可惜有一个问题。bug并不一定出在最新版上面,他有可能在14年前就已经存在了。这样会使得bug横跨多个版本。而这个bug又不能不修的时候——例如安全漏洞。&/p&&p&这时候就蛋疼了。&/p&&p&上游会修多少个发行的漏洞?如果上游不修,这个发行的漏洞怎么办?大部分漏洞只是几行就可以完成修正,但是有些发行甚至要动架构,怎么办?&/p&&p&没有研发力量,是不能保证修复的。&/p&&p&在代码里面,主要有三件事情,功能发展性,接口稳定性,代码安全性。&/p&&p&如果我们可以去掉一件事情,那么世界很完美。&/p&&ol&&li&去掉接口稳定性,每次都用最新的就好了,bug肯定修光的。&/li&&li&去掉功能发展性,软件不再推进就好了,就修修bug。&/li&&li&去掉代码安全性,单纯发行就好了,发了就不用管了。&/li&&/ol&&p&可惜,三者一般都需要。有些很古典的程序已经进入了2的情况,例如TeX。至于大部分互联网公司线上系统,则比较偏向1。但是大部分发行版内的包,可是要三者都满足的。&/p&&b&RH和Debian的开发差异&/b&&p&其实还是很大的。RH的开发是真的开发。Debian的”Developer”,其实只管开发debian打包用脚本,维护版本,补丁,仓库。而RH的开发,别的不说,你就看内核补丁贡献数吧。&/p&&p&这也是社区和公司不同取向的差别。社区不管商业能处理的一些问题,而且他们也管不了。先不提RH有多少人,Debian社区有多少人。我就吐槽一下中国DD数量吧。我查询了一下,总共8个(&a href=&//link.zhihu.com/?target=https%3A//db.debian.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&db&/a&)。其中我认识5个,超过一半。某次emfox来开会,lidaobing和zigo也在。我们开玩笑说,这次会议集中了中国近一半的DD。。。其实整个会场里面人数都没超过20。。。&/p&&p&也只有RH这种级别的公司,才有大量人力去折腾内核,驱动之类的事情。因为debian就算想折腾,也折腾不动啊。从某种意义上说,所有linux发行的蓬勃发展,都得益于RH的大量收入。&/p&&p&所以真想支持开源的,不全买,买一套RHEL也好啊。别老叫着CentOS免费,免费还说个JB的支持开源。&/p&&b&什么情况下用RH,什么情况下不一定&/b&&p&虽然在上面数了原作者的一堆问题,但是我得说,他的结论没啥错误。&/p&&p&除非你明白自己在干什么,否则RHEL一定是你的第一选择。&/p&&p&这是废话。出钱让人帮你解决问题,和你自己解决问题,哪个更专业?&/p&&p&凡是你干了这活,打算三五年内就上去升级升级安全补丁,此外啥都不想干的。用RHEL准没错。&/p&&p&如果上面这种情况会让你失业的,换Gentoo准没错。&/p&&p&至于什么叫做“明白自己在干什么”,其实没一个统一的标准。很多时候选择开发版有点“如人饮水,冷暖自知”。例如我们选Ubuntu,解决了发布同环境问题,却引入了运维滚动升级问题。但是经过权衡,发布和调试环境不同会导致研发效率的大幅下降,而我们的研发是不能靠花钱招的(广告:长期招聘靠谱golang研发),但是我们的运维是可以靠花钱招的。这个时候痛苦也得滚动着上了。当然,也许若干年后,发现其实我们错了。可是错的理由我们现在看不到也想不到。当然,像我们,或者页游这种奇葩公司,也不总是出现。所以大部分情况下,用RHEL都是对的(当然,原作者说的太绝对化了一点)。&/p&&b&用Debian用什么&/b&&p&Debian是非常强调dfsg的,具有非常强的开源原教旨主义的味道。&/p&&p&传统的开源认为,如果只有商业公司掌握发行,那么他们就会扼住我们的命脉,并以此作恶。&/p&&p&不得不说,老外对垄断和权威的恶和理解一点都不比我们差。&/p&&p&所以debian的衍生发行一点都不比RH逊色(&a href=&//link.zhihu.com/?target=http%3A//zh.wikipedia.org/wiki/Linux%25E5%258F%%25A1%258C%25E7%E5%E8%25A1%25A8& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Linux发行版列表&/a&)。最大的就是得益于dfsg规定,凡是允许进入debian的,不能仅仅授权给debian——而是必须授权给整个公有领域。因此对debian的衍生是非常安全而没有法律风险的——DD们在这个领域的专业程度非常高。&/p&&p&而且,由于强调自由,因此debian内所有非核心包,都具有非二进制定制性。简单来说,就是除了核心包和打包参数,其他大部分结构都是可以更改而且应当是自己更改配置的。&/p&&p&想用lxde换掉gnome,可以。搭配着kde的软件使?也可以。上面用什么输入法?自己配。&/p&&p&这是debian的强大和灵活所在,也是debian非常高的一个门槛。相比起来,Ubuntu更强调“开箱即用”。所以里面的随附配置是最完备的。但是要用lxde,推荐就是Lubuntu了。&/p&&b&CentOS不是RH&/b&&p&我上面提到的RH,大部分指的都是RHEL。至于Cent——他也是社区系统,只是背靠RH,胳膊更粗一些而已。这不代表Cent因此就靠谱了。&/p&&p&例如这个维基页面&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/CentOS& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CentOS&/a&,里面提到说。&/p&&div class=&highlight&&&pre&&code class=&language-text&&In July 2009, it was reported[by whom?] that CentOS's founder,
Lance Davis, had disappeared in 2008. Davis had ceased contribution
to the project, but continued to hold the registration for
the CentOS domain and PayPal account. In August 2009,
the CentOS team reportedly made contact with Davis and
obtained the centos.info and centos.org domains.[12]
&/code&&/pre&&/div&&p&那哥们直接失踪了近一年,而且捏着域名和PayPal账户不放。我记得当年这事直接导致CentOS的其他开发者出来放话,再不出来把你丫按照失踪申报。&/p&&p&这也直接导致我上家公司的基系统选择从CentOS改成了Scentific(}

我要回帖

更多关于 招行不能分期039e代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信