你在生活中用过最高端的数学知识是什么?

顾归,运去英雄不自由
阅读原文

虽然来晚了,但看到楼上有人答兰彻斯特方程,作为一个十年的(伪)即时战略游戏迷,还是觉得有必要来一篇“论兰切斯特方程在即时战略游戏中的重要作用及其应用”。

——————————————- 我是分割线 ——————————————————-

在维基百科中,对兰彻斯特方程的介绍是这样的:

Lanchester’s Linear Law

For ancient combat, between phalanxes of soldiers with spears, say, one soldier could only ever fight exactly one other soldier at a time. If each soldier kills, and is killed by, exactly one other, then the number of soldiers remaining at the end of the battle is simply the difference between the larger army and the smaller, assuming identical weapons.

Lanchester’s Square Law

Suppose that two armies, Red and Blue are engaging each other in combat. Red is shooting a continuous stream of bullets at Blue. Meanwhile, Blue is shooting a continuous stream of bullets at Red.

Let symbol A represent the number of soldiers in the Red force at the beginning of the battle. Each one has offensive firepower α, which is the number of enemy soldiers it can incapacitate (e.g., kill or injure) per unit time. Likewise, Blue has B soldiers, each with offensive firepower β.

Lanchester’s square law calculates the number of soldiers lost on each side using the following pair of equations.

Here, dA/dtrepresents the rate at which the number of Red soldiers is changing at a particular instant. A negative value indicates the loss of soldiers. Similarly, dB/dt represents the rate of change of the number of Blue soldiers.

dA/dt = -βBdB/dt = -αA

简单的说,假如我有十个兵,你有八个兵,双方的战斗力都差不多,如果我们两个在一个狭窄的路口交战,每次都只有一个兵能参与战斗,这个时候满足兰彻斯特线性律——我所剩下的兵为我的兵力总数减去你的兵力总数,即(10-8=2)

但是假如说我们在一个开阔的场地交战,双方每个士兵都可以选择性的攻击到对方任意一个士兵,那么这个时候满足兰彻斯特平方律——我所剩下的兵力总数为我的战斗力的平方减去你的战斗力的平方再开方,即(

下面容我用游戏来

首先进入游戏

拿它举例是因为帝国时代的兵种比较简单,不像魔兽之类的有魔法和护甲相克的干扰因素。

从图中可以看到,红蓝两支军队军队比为 8:10

蓝军和红军的每一个士兵战斗力都是一样的

双方在激烈的交战着

最终红方全部阵亡,而蓝方还剩六个(多次实验的结果),全程本人没有加以操控

当然,蓝方有两个残血,不过兰彻斯特方程也只是一个近似的结果,有误差是可以理解的。

假设红蓝两方士兵战斗力相等,都为 H 点生命及 A 点攻击(为了便于计算,假设没有防御),并且满足兰彻斯特平方定理的条件,设红方有 m 人,蓝方有 n 人,且 m>n,设在第 ts 时双方剩余部队人数为 m(t),n(t),则可得微分方程组:

由微分方程组可得:

两边同时取 0 到 t 上的定积分可得:

即有:

当 n(t)=0,即蓝方全部阵亡时,红方残存的人数还有

,恰好是兰彻斯特平方定理的结果。

假如说红蓝双方士兵只能 1v1 或者 NvN,人数优势便无法体现出来,如图

任你千军万马,在狭窄的路口上只能 2v2,一换一之后,你所剩的兵力只有(m-n)个。

从兰彻斯特方程中,我们可以看到即时战略游戏在战斗中几个重要的原则:

1.兵力优势非常重要,在双方战力相仿的时候,兵力之比代表着战力平方之比,所以在战斗中保持局部的兵力优势是取胜的关键。

2.战斗时兵力接触面积也十分关键,倘若能在小范围内保持真正参战人数与对方相当甚至更多,那么,即使你兵力有劣势也可以一打。

3.对科技优势的理解。在满足兰彻斯特平方律的条件时,我们可以从方程中计算得知,科技优势体现的是线性关系而不是平方关系。假设你有 10 名士兵而对方有 20 名士兵,你的士兵生命值是对方的两倍(其余条件相同),那么你的总战斗力为(10*10*2),对方总战斗力为(20*20*1),对方仍然可以以不到一半的损失全歼你,但如果你的士兵攻击力同时也是对方的两倍,则你可以与其同归于尽甚至有少量残存。

————————————————— 我也是分割线 ——————————————–

下面由我根据兰彻斯特方程来解(xia)释(che)一下各种在即时战略游戏中常用的战术

爆兵流——例如在魔兽争霸中,有速科技和速出兵两种战术。暴兵流就是利用对方攀科技的时间,组织足够的军队来赚取便宜,由我们刚才的分析可知,军队的数量对于战斗力是平方影响关系,而科技只是线性关系,所以在局部战役中人数多的一方相对于科技流的一方有着更大的优势。但这同时也是一把双刃剑,当对方组织了足够的兵力或者利用兰彻斯特线性律的条件来与你作战时,暴兵流的优势就不复存在。

hit and run——如图

重点在于减少对方与自己的兵力接触面积,一般出现在远程打近程,远程的优势是可以集中火力,这样可以在保证自己兵力全部输出的同时尽量减少对方兵力的输出,始终保持着局部上的多数打少数。

地形与阵型——保持好的阵型和占据优势地形的目的都是一样的,在局部地区尽力保证是多数打少数,让对方的输出单位尽可能少而自己的输出单位尽可能多,另外,占据好的地形(如高地)在很多游戏中都有输出奖励。

兵种搭配——一般是前排肉盾后排输出,前排肉盾的目的除了保护后排脆弱的远程单位,还有一个目的便是不能让对方全部兵力都保持持续输出,仍然是为了让局部地区对方的输出人数减少发挥优势。

切割战场——在对方兵力很多而自己兵力较少时怎么办?这个时候就需要切割战场,保证小范围内你的兵力优势,例如对方有 13 人你只有 10 人,直接打必败无疑,这个时候,如果你能先将其分割为 5 人和 8 人,先集中优势兵力击打 8 人小分队,这个时候你就还会剩下 6 人,在攻击剩下 5 人便可以取胜。在游戏中很多时候要面临能不能打这个问题,用兰彻斯特方程便可以简单的计算一下,可不可以打,如果打自己或者对方将死伤多少等等。

听起来是不是很厉害?

——————————————– 最后的分割线 —————————————————

其实我玩即时战略游戏都很水,以上都是我瞎编的 T_T

就像你学会了二次方程,你真的就用它来投篮吗?

大家看的开心就好>_<

————————————————-15.5.4 更新 ————————————————-

这个回答沉寂了好几天,突然在前两天火了起来,收获了七百多个赞,答主也是感到受宠若惊。

在这个回答中运用的知识不会超过大一的高等数学的范围。可能在学习那些公式时我们会感到很难很无聊,但是一旦运用到生活中,它实际上是如此的有趣。知识本身不是用来背的,而是用来在生活中运用的,这才是知识的价值,不是吗?

下面统一回复一下评论区的问题

积分步骤?

可推出

因为

故可推出

A 和 H 的运用?

实际上在兰彻斯特平方率本身,是没有 A 和 H 的,但是会引入一个参数,这个参数的意思是在单位时间内每单位杀伤对方战斗单位的比例,即战斗力比值。在即时战略游戏中,可以用最重要的两个数据,即攻击力 / 生命力来代替。因此,对于一个单位来说,增加一倍的攻击力,和增加一倍的生命力,在方程计算中的影响是相同的,都是增加一倍的单兵作战能力。

这个东西有什么用?

题主游戏虽然玩的不好,但是主要原因是手残(apm 低的痛……)。许多职业玩家,即使不知道这个公式的具体形式,在游戏玩多了之后也会对这个公式有一个大致的了解。或者,即使没有用,兰彻斯特方程可是事实存在并且已经被运用到军事当中的。就当多了解一点知识也好嘛。

以上

发帖时间: news

发表评论

您的电子邮箱地址不会被公开。