当前位置: 华文问答 > 游戏

有哪些玩游戏时能使用的高等数学知识?

2017-03-11游戏

游戏活动的轮换和英雄的周免计划都可以用数学建模来优化,我们为此写了一篇paper...

经常打网络游戏和刷抖音B站的伙伴们一定有过以下的经历:在游戏里一个模式或者英雄玩得不亦乐乎时,突然就觉得玩腻了;抑或是在抖音和B站上,一类视频让你欲罢不能,但看多了之后就审美疲劳了。过了一段时间,我们似乎又能重拾新鲜感,重新开始这样的消费行为,并再次重复整个过程。短视频和游戏虽有不同,但它们似乎都遵循了一个简单的规律:总会腻。为了应对这种审美疲劳,游戏公司和内容创作者们使出浑身解数来保持用户的新鲜感:游戏公司会巧妙地轮换已有的游戏模式和英雄,让玩家隔一段时间才能再次体验;B站的网红们也会变换花样,比如音乐区美女up主偶尔献上一波生活vlog;而拥有多个网红的MCN公司,更新日程安排更是充满「玄机」:以我喜欢的搞笑up主真子日记和甜蜜老张为例,他们都属于13传媒这家MCN公司。虽然这两个账号都在抖音上保持一个月更新6-7个视频,但两人很少在同一天更新,就是为了确保粉丝每天都有新内容可看,又不至于让人审美疲劳。那么,你是否会好奇, 游戏内的活动轮换和up主的更新日程究竟是如何确定的?这些决策是否能运用数学模型来定量决定呢?怎样的日程安排才能最大化用户的长期活跃度呢?

在最近的一篇paper中,我们对这类容易审美疲劳的内容进行了数学建模,并且研究了什么样的安排可以最大化用户活跃。作为香港大学经管学院的助理教授,我的研究聚焦于优化平台与用户的持续互动。大概几年前,我曾在动视做过数据科学家实习,那时动视的招牌系列【使命召唤】就开始轮换不同的游戏模式(学名叫playlist rotation),并且对如何优化轮换计划非常关注。去年,我的好友、香港中文大学的王世欣找到我,告诉我她最近沉迷狼人杀,发现「板子」的轮换问题异常有趣。我们俩一拍即合,决定从科学的角度深入研究这个问题。

在文章中,我们用一个独特的指标来量化个体对商品的腻味程度,称之为「饱腹感」(satiation)。游戏和短视频除了直接带来饱腹感之外,还会对同类型商品产生间接的饱腹感。因此,在这些机制的影响下,商家需要设计一个能有效避开高饱腹感的活动轮换策略来吸引用户的消费。我们对用户的饱腹感进行了建模,研究了在多种情形下轮换策略的性质与优化。我们的分析考虑了很多现实中的问题:

对于能够更新两种视频的up主,究竟哪种视频应作为她的主业? 是成为一个音乐up主还是主攻vlog的颜值up主?针对这类网红定位、产品定位的问题,我们发现答案有时出人意料:大家往往认为,偶尔更新的那个系列,应该是更令人印象深刻但也需要更多时间来消化疲劳的那个系列。然而,我们的研究发现,在两个相关性较高的系列中,有时竟然应该把这类容易疲劳的视频作为日更系列。

对于拥有上百个英雄的游戏以及拥有上千网红的MCN公司来说,如何设计轮换策略? 面对这样的大规模规划问题,我们发现增加物品总数带来的边际收益会迅速降低,维持一个相对较小的轮换菜单足以获得绝大部分的营收。此外,当数量逐渐增加时,公司应该保持每周的英雄数量不变,转而增加同一个英雄出现的间隔时长。

在接下来的文章里,我们通过简化版的模型来阐明这些问题,具体细节和更多的拓展可以查看我们的paper。 如果你不想深入数学细节,也可以直接查看加粗的结论部分。

使命召唤系列的游戏模式轮换

模型简介

在模型中,我们把一个游戏模式或者英雄当成一种商品。同理,一个网红up主的所有视频因为风格相似,也被我们当成一种商品。每种商品有三种参数:边际效用 B ,运营成本 c ,以及饱腹感衰减参数 \gamma 。

在用户视角,用户拥有一个饱腹值 x 记录当前时刻自己的饱腹程度,用户会在每期选取商品摄入量 q (玩多少小时,看多久视频)。用户会通过消费获得效用。为了刻画审美疲劳,我们假设用户的效用是 U(x_t+q_t) - U(x_t) ,其中 U(z)=-\frac{1}{2}z^2+Bz . 也就是说,给定档期的饱腹感 x ,用户产生的效用是 -\frac{1}{2}q^2+(B-x)q . 当 x 越大时,用户的效用就会越低。用户会选择效用最大化的消费量,通过求导,我们会得出用户的消费量应该是 B-x . 同理,饱腹感越高,用户的消费量就会越低。 在下一期中,用户的饱腹感会变为:

x_{t+1} = \gamma (x_t+q_t) .

上述的消费,只有商家提供产品时才会发生。因此,商家的决策为,在每期决定是否提供商品。提供商品会有一定的收入,但是也会有运营成本 c ;如果不提供商品,商家不会获得收入,但是也节约了运营成本。通过引入一个0-1变量 y_t 表示商家是否提供商品,我们把商家的决策问题写为最大化长期的平均净收益问题:

\max_{y_t}\lim_{t\to \infty} \sum_{t=1}^T y_t(q_t-c_t)/T

以上是商家只有一个产品的情况,例如王刚的做饭视频。在多物品情形中,每个物品有自己在每期的饱腹值,消费物品除了增加边际效用外还会由相关性产生额外效用。当相关系数为正时,物品之间具有替代关系,一个物品消费的增多会间接减少另一个物品的消费;当相关系数为负时,物品具有互补关系,一个物品消费的增加会间接增加另一个物品的消费。

接下来我们用一个例子展示模型的计算过程:

假设某商家有一个商品,其参数为 B=10, c=3, \gamma=0.9 ,在提供商品的第一期,用户的初始饱腹感为 x_1 = 0 ,用户会消费 q_1 = \arg\max_q (-\frac{1}{2}q^2 + 10q) = 10 个单位的商品。经过一期的消费后饱腹值变为 x_2 = \gamma (x_1+q_1) = 0.9*10 = 9 。商家第一期的利润为 q_1-c = 10-3 = 7 。

在第二期,假如商家仍选择提供商品,那么用户会消费 q_2 = \arg\max_q (-\frac{1}{2}q_1^2 + (10 - 9)q) = 1 。用户在第二期结束后的饱腹感为 x_3 = \gamma (x_2+q_2) = 9 , 商家的收入为 q_2 - c = 1 - 3 =-2 。可以看到由于用户饱腹感较高,连续提供商品甚至会产生负收入的情况,因此商家可以考虑暂时不提供商品使自己能最大化长期平均收益。假如第二期商家不提供商品,那么用户的消费为 q_2 = 0 ,第二期结束时的饱腹感为 x_2 = 0.9 *(9 + 0) = 8.1 ,商家的利润为0。

最优决策需要平衡周期长短带来的两方向影响因素:周期较短时,用户的饱腹值更高,过于频繁的提供商品会使每期平均收益会更低;周期较长时,当饱腹值较低且未提供商品时,商家会损失这部分的利润。我们在研究中发现,商家的最优决策一定是周期性决策;并且对于单个商品,最优周期满足

l^*= \arg\max_l (B(1-\gamma^l)-c) / l

这是一个先减后增的单峰函数,对应前面分析的两个方向的作用。例如在上面的例子中,带入参数可算得 l^*= 10 ,即每10期提供一次商品可以使长期平均净收益最大化。 这个公式可以解释不同up主为何更新频率不同,有人每周更新一次,而有人每周三周六更新,还有人几乎每天都更新。通过这个公式,每一个up主都可以找到自己最优的更新频率。

利润和更新间隔的关系

产品、网红定位问题

假如有一个商家拥有两个商品,他打算将一个商品作为常规商品每期都提供,另一个商品作为特殊商品,每K期内只在第一期时提供一次。如果两个商品有些属性相似,商家该如果考虑并选择常规和特殊商品?

在生活中这样的例子随处可见: 游戏模式有日常模式与特殊模式,餐馆有常规菜单与特殊菜单,视频制作者有常规视频与特典视频。决定哪一类商品是我们的常规商品,也就决定了自己的定位,因此这个问题我们叫做定位问题。假设我们是一位更新周期已经固定(例如每周一更)并且有两类视频的up主,我们现在的决策即为选择一类视频作为常规视频每期更新,另一类视频作为特别视频每几期更新一次。例如,B站上有一位up主 咸鱼_栗,她的常规视频为架子鼓主题,除了架子鼓外偶尔会发颜值类vlog。那么,这样的定位对她来说是最优的吗?是该做一个被架子鼓耽误的颜值up主,还是做一个才华与美貌兼具的音乐区up主呢?

经营两个系列的up主该如何定位?

为了刻画两个商品,我们假设两个商品分别是a和b. 相对于只有一个商品的情况,我们还要考虑两个物品的相关性。我们用d来表示两个物品的相关系数,而用户获得的效用可以表示成 -\frac{1}{2}\left((q_a^t)^2+2d q_a^t q_b^t +(q_b^t)^2\right)+(B_a-x_a^t-dx_b^t)q_a^t+(B_b-x_b^t-dx_a^t)q_b^t.

假设两个商品的运营成本 c 相等,一个商品的效用更高且更难以忘记,另一个商品效用更低但更容易被忘记;即 c_a=c_b, B_a>B_b,\gamma_a>\gamma_b 。这种情况下,哪个产品应该作为日常商品呢?直觉上,特殊商品往往效用更高更难忘(也就是a),而且它需要更多的时间来消化。但在我们的研究中发现,在两个物品相关性较高时,应选取效用更低但更容易被忘记的商品作为特殊商品。即当 d > \frac{1-\gamma_b}{1-\gamma_a} 时,应选 b 作为特殊商品。

这背后的原因是,特殊商品除了在被供应的那一期会降低常规商品的消费(假设这一期为第1期),同时会影响常规商品在 t = 2,\dots ,K 的消费,我们称该现象为"涟漪效应"。

假如产品b每4期供应一次,它在另外三期里依然会对常规产品a的需求产生影响

涟漪效应的产生是因为,经过我们的一番计算,在t = 2,\dots ,K 期,日常商品的消费为

q_a^t=B_a\left(1-\gamma_a\right)+\frac{d}{\gamma_b^{K+2-t}}\left(\gamma_a-\gamma_b\right) x_b^1

在上面的表达式中,第一项为只有a物品时客户在每期的消费量;第二项为引入了周期性商品b后,日常商品的消费受到的影响。当 \gamma_a<\gamma_b 时,第二项为正,那么特殊商品的存在使得在 t = 2,\dots ,K 时日常商品的消费更低。这对应了生活当中,游戏里的轮换活动奖励很高,肝的太多,导致活动结束后连普通模式都玩不动了。在这种情况下,虽然轮换活动可以增加活动期间的用户活跃,但可能会抑制整体收益。反之,当 \gamma_a>\gamma_b 时,上式第二项为正,那么特殊商品的存在使得在 t = 2,\dots ,K 时日常商品的消费更高。这对应了生活当中,轮换活动虽然没有那么一颗赛艇,但很不容易厌倦。所以当活动结束后,我还是意犹未尽,但因为没得玩,我只能玩普通模式聊以充饥。因此,在考虑长期平均收益时,使用这样的商品作为轮换产品可能会促进整体平均收益。

举例来说,假如咸鱼_栗的两类视频,a为颜值类vlog,b为架子鼓类视频。两者的运营成本相同;架子鼓视频的效用高于颜值类vlog视频 , B_b > B_a ;架子鼓视频更让人难忘, \gamma_b = 0.8>\gamma_a=0.6 ;如果两类视频的相关系数为 d = 0.7 ,那么因为 0.7 > \frac{1-0.8}{1-0.6}=0.5 ,她应该选择颜值类vlog视频当作特殊视频。反之,如果 d<0.5 ,那么她就应该以颜值vlog作为常规视频。 产品定位的决定不光在于产品本身的属性,也在于涟漪效应的方向!

英雄联盟周免计划

多个物品和固定个数的轮换策略

接下来,我们考虑某个拥有大量商品的商家,且商品之间具有一定的相关性。商家希望在一个周期内轮流展示完所有商品,并在下一轮周期中重复。由于商品繁多且周期很长,最优决策变得非常难以分析。为了对此类问题进行有效的分析,我们考虑该类问题的一种特殊情形:商品具有一定相似性或对称性,并且每期商家展示等量的商品。此时商家的决策为:选定每次展示的商品个数,以及一个周期的周期长度。最后,他还需要决定一个周期内展示商品的顺序。我们考虑商家有N个商品打算在K期内轮流提供,并且在每一期提供的商品数量为 v=N/k 。例如英雄联盟目前含有N=165个英雄,每周提供v = 25个英雄作为周免英雄。使命召唤有大约30个游戏模式,每周会提供5个模式作为轮转。在这个问题里,商家面临这样的困境:如果同一期提供很多的商品(v大),那么轮转周期就短,顾客虽然每一期有更多的选择(进而产生更多的消费),但他们的饱腹感也缺少时间消化;如果每期提供的商品较少,那周期就长,这样可以让饱腹感充分消化,但每一期用户的选择就少了。在这种情况下,哪种轮换模式更有效呢?

我们首先考虑了当每类物品属性都相同的情况(即效用,相关性,成本,以及饱腹度衰减参数均相等)。我们发现, 对于商品比较多的商家,一个更小的轮换菜单+更长的周期比一个更大的轮换菜单+短周期更有效。 当商品个数趋近于无穷时,最优决策中的周期数线性增长,每次展出的商品个数收敛到 \frac{1-\gamma}{d}\left(\sqrt{\frac{B(1-d)}{c}}-(1-d)\right) . 例如,当 \gamma =0.4, d = 0.1, B = 1, c =0.3 时,随着我们将N从1增加到50,下图的红色圆点表示了最优的轮换策略。在N从1增加到25的过程中,最优的K和v会由于整数效应而犬牙差互地增长。但是当N足够大之后,最优的策略变为每期展示5个商品,线性增加周期长度。因此对于那些拥有许多商品的商家来说,更小的轮换数目和更长的周期能带来更高的收益。

那么如果这些物品的属性不完全相同呢?这种情况下,我们不光要考虑K和v,还要考虑物品的具体展示顺序。我们发现了一个非常惊讶的结果:当所有物品的衰减系数 \gamma 相同时, 只要固定K和v,任何顺序的轮换策略收益都一样! 这个结果之所以很神奇,是因为当我们交换其中任何两个物品的位置时,这两个物品的消费量都会发生复杂的变化,因为这些物品的需求会受到其他所有物品的影响。然而,如果我们把整个周期的需求当作一个整体,就会惊奇地发现一个周期的总需求不会因为具体的顺序而产生变化! 这个结果对于拥有众多服务产品的公司是一个福音:公司只需要重视周期K这个一维决策,而具体的顺序则没那么重要。

每天午餐菜单的轮换,也是这个模型的应用之一

其他场景

那么,对于其他的场景,游戏公司该怎么做呢?很多游戏公司的活动和模式可能没有那么多,上面的结论并不适用。实际上,很多游戏可能只有不到10种活动模式,实际的轮换也非常复杂(如下图)。对于这些公司,他们该如何优化轮换日程呢?

游戏中复杂的轮换机制

对于这些疑难杂症,我们通过一系列变换,把轮换日程的设计转化成了一个整数规划问题,使得每一家公司都可以使用我们的模型,通过商业求解器进行优化。 想要了解具体该怎么做?赶快点击下方链接查看论文全文吧!

(本文由我们的学生合作者万北宸负责初稿,如果对文章有任何反馈欢迎私信)