炉石传说的竞技场模式平均胜场
这是我在网易游戏策划第二轮面试中遇到的一道题目。
炉石传说的竞技场规则如下:每个玩家通过付费150金币或者12战网点获得一张门票,消耗门票开启一轮游戏,并和系统匹配到的其他竞技场玩家进行对战,每次胜利会使奖励升级,最多可以获得12场胜利后退出本轮游戏,如果此过程中失败三场,同样会退出。
通过计算玩家的平均胜场,可以平衡奖励的投放。
可惜我在面试时考虑的并不周全,现在重新做一下解答:
要解决这个问题,我们不妨进行以下两个假设:
(1)每个玩家总是会匹配到胜场数和他一样的玩家。
(2)没有人提前退出。
在(1)假设的基础上,胜场数和败场数是一样的,我们可以认为玩家在任何胜场数的时候,获得下一场游戏的玩家都是上一场玩家人数的一半。例如,每当两个3胜的玩家对战,获得4胜的必然只有其中一个。
以下的计算中,用计算概率的方法进行了计算,需要注意,此处的概率并不是指某一玩家个体下一场获胜的概率,而是全部玩家中获胜的玩家的比例。
玩家进行了m场游戏,败场数为n(n<3)的概率为:
P(n,m)=C (n,m)/2^m;
而当n=3时,第三场的失败必然是最后一场,也就是概率为:
P(3,m)=P(2,m-1)/2;
那么玩家以N(N<12)场胜利结束游戏的时候,概率为:
P(N)=P(3,N+3)=P(2,N+2)/2;
12胜的情况分为