条件极值例题_用多元函数条件极值解一道经典数值策划题(一)

前段时间看到一套数值策划笔试题,其他的都比较简单,有一道稍有难度,题目如下:

假定游戏里玩家可以自由分配属性点数到攻击力,防御力和生命值上去,攻击间隔统一为1秒(为了计算过程简化,不考虑取整因素,可以把伤害认为是持续伤害,总伤害严格等于攻击时间乘以攻击力),现在玩家拥有100点属性点,怪物的攻击力为10,防御力为30,生命值为60,称一场战斗过程中自身所损失的生命值与自身的总生命值的比值为损血百分比p,玩家希望杀死怪物后,损血百分比最小化(如果玩家无法战胜怪物,那么损血百分比就是100%),在以下两种伤害结算公式的情形下,分别计算玩家如何分配属性点数,能够达到损血百分比p最小化这个目的(a>0)

情形一:最终伤害=攻击方攻击力-a*防御方防御力

情形二:最终伤害=攻击方攻击力/(1+a*防御方防御力)

讨论a取值的不同如何影响p?

我百度了一下,题目搜到很多,但却没有一份完整的解答过程,甚至连正确的答案都没有。于是我就尝试做了一下,这道题需要用到多元函数的条件极值和拉格朗日乘数法,先给答案:

情形一:减法公式

1.

时:给防御分配0点,攻击分配50+15a点,生命分配50-15a可使损血百分比p最小,此时p值为

2.

时:给防御分配10/a点,攻击分配50+15a-5/a点,生命分配50-15a-5/a点可使损血百分比p最小,此时p值为0

3.

时:玩家无论如何分配都无法战胜怪物(怪也不一定能杀死玩家,但根据题意也算玩家失败),此时p值为1

情形二:除法公式

1.

时:给防御分配0点,攻击和生命各分配50点,可使损血百分比p最小,此时p指为

2.

时:给防御分配

点,攻击和生命各分配

点,可使损血百分比p最小,此时p值为

总结:减法公式下,攻击破不了对方的防就无法造成伤害。除法公式下则不会有不破防的问题,无论对方防御多高都可以造成伤害。

当防御的作用过低时,不加防,平均的加攻和生命是最优选择

计算过程请点下面的链接:林培俊:用多元函数条件极值解一道经典数值策划题(二)​zhuanlan.zhihu.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值