且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

荣光医院医道会比赛策略

更新时间:2022-10-01 09:46:22

    最近喜欢上了一个网页小游戏“荣光医院”,在漫游、人人网上都有。这个游戏里有一个比较有意思的部分,就是医道会比赛,其比赛规则如下:
    1、首先必须加入一个荣光医院的医学公会,只有加入公会才能参加天下第一医道会的比赛 
        天下第一医道大会,在大地图左上那一块区域,每天可以参加一次。
    2、参赛者需要拟定一个方案,分为监察、医托、专家三组,每组人数自己定,一共100人,然后和其他参赛者一起PK,其中两项大于对方为胜者。

    举个例子:比如我今天定的方案是监察50,医托20,专家30,第一轮的对手的方案是监察48,医托25,专家27,那么我胜,因为我监察和专家人数都比他多,对方被淘汰,直接回老家(也就是拿白条),而我则晋级下一轮。如果下一轮,我遇到的对手方案是监察51,医托23,专家26,那么我被淘汰,对方晋级。PK一共有11轮,全部获胜者可以拿到至尊勋章,一天仅此一枚。其他的所有淘汰者,只有第二天再次报名。 
   
    还有一种情况,是双方打平,比如我的方案是50、20、30,对方也是50、20、30,那么以报名时间决定输赢,医道大会每天报名时间从凌晨4点开始,前一天的结果也是那个时候出来,双方打平,报名时间靠前的人赢。 
    有点数学基础的人一看就知道,这是一个涉及到博弈论和概率论的数学问题。这种比赛可以看作是“田忌赛马”的一个变形版本,与之不同的是“田忌赛马”在比赛之前已经知道对手的策略,从而可以根据对手的策略确定自己的策略,达到必胜的目的。而这种比赛,对手出什么数字组合我们事先不知道,只能通过概率来计算。
    从概率的角度来说,任选三个数A、B、C,且A+B+C=100,符合这样条件的A、B、C三个数共有5151个组合,如果每一个组合出现的概率是一样的话,则经过计算发现“34、33、33”,“33、34、33”,“33、33、34”这三种组合胜率最高。下表是胜率前10位的组合:
A
B
C
胜利次数
总次数
胜率
34 33 33 3333 5151 64.71%
33 34 33 3333 5151 64.71%
33 33 34 3333 5151 64.71%
34 34 32 3332 5151 64.69%
34 32 34 3332 5151 64.69%
32 34 34 3332 5151 64.69%
32 35 33 3331 5151 64.67%
33 35 32 3331 5151 64.67%
35 33 32 3331 5151 64.67%
    有了这个表,按照这个组合去比赛,是不是就可以获得较多的胜利呢?网上仅有的几个对此进行分析的帖子也就是到此而止了。可是如果你真是按照上表的这些组合去参赛,实际的胜率可能会低得多。道理很简单,对方参加比赛的也是人,对手也知道这种组合的胜率,很多人就会考虑出一些能够克制上表组合的组合,也就是说对手出他自己A、B、C的组合的时候,从实际的统计结果来看,并不是5151个组合每一种出现的概率都是一样的。有些人喜欢类似60、20、20这样的组合,有些人则喜欢40、50、10这样的,所以我们确定自己的组合时,不能假设对手出现各种组合的概率是一样的,而是要根据实际对手组合的统计结果,确定自己的组合策略。
    简单的说,就是要把每天自己参加比赛对手的组合记录下来,然后计算5151种组合里面,那些组合的胜率最高,最后根据计算出来的组合确定自己的比赛策略,这才是有的放矢的方法。
    采用这种方法,我并不能保证一定可以得到医道大赛的最后冠军,但是可以保证取得胜利的次数大于获得白条(第一轮就被淘汰)的次数。不过最后还有一个问题,就是如果参加比赛的人都采用这种策略,那最后会是什么结果呢?
    关于上面策略的实现方法,请参阅续篇《荣光医院医道会比赛策略(续)》





本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/300954,如需转载请自行联系原作者