游戏策划面试题解:兰切斯特方程
*原创*
数值策划面试题
考题:2000两德军坦克围攻1000辆苏军坦克,假设双方坦克性能一模一样,双方都没有指挥官,双方均能攻击到对方的任一单位。
问:德军损失多少辆坦克才能全歼苏军坦克?
解题思路
这是一个真实概率问题,不考虑德军、苏军双方的战略部署,也不考虑天气地形士气等因素,其满足兰切斯特方程式:
兰切斯特线性律:当战斗双方在彼此视距外交战的时候,任一方实力与本身数量成正比。
兰切斯特平方律:当战斗双方任意战斗单位都在彼此视野及火力范围以内交战的时候,任一方实力与本身数量的平方成正比。
【兰彻斯特方程】说明
① 兰彻斯特方程仅适用于“多V多”的情况,且假设双方均能攻击到敌人任一单位。
在上述假设下,双方单位攻击/血量比例越小,则结果越精确(攻击未浪费)。
② 已知德军、苏军双方士兵属性相同,生命为H点,攻击为A点,且人数分别为m、n(m>n)。
假设在时间 t 时,双方的剩余人数分别为m(t)、n(t),则满足:
m^2 - m(t)^2=n^2 - n(t)^2
【证明过程】
根据上述假设可得出以下微分方程组:
从而:
对该公式积分可得:
从而:
m^2 - m(t)^2=n^2 - n(t)^2
方程得证!
进而,当苏军士兵全部死亡,即n(t)为0时
m^2-m(t)^2=n^2-0^2
m(t)=(m^2-n^2)^0.5
德军剩余士兵=(2000^2-1000^2)^0.5=1732
德军损失士兵=2000-1732=268
答案:德军损失268辆坦克才能全歼苏军坦克。
【扩展】
上述为双方战斗力相同时的结果,当双方战斗力不同(假设双方平均战斗力分别为P1、P2)时,同样根据上述过程计算可得:
P1*(m^2 - m(t)^2)=P2*(n^2 - n(t)^2)
其中:战斗力 = 血量 * 攻击。
请先 后发表评论~