広告
広告

簡単なランチェスターの法則

カテゴリ:その他

ランチェスターの法則を使うとストラテジーゲームで、 戦闘を始める前に勝敗と残存人数とを概算できる。

ランチェスターの法則はいくつか 前提条件 がある。 大雑把に言うと、チームメンバーの装備・体力などのステータスが全員同じで、 敵全体に攻撃可能という前提だ。

戦闘力係数(fighting effectiveness coefficients)1・初期人数 150 のチーム X と、 戦闘力係数4・初期人数 90 のチーム Y とが戦闘したとする。 そのときどちらが勝ち、戦闘終了時の残存人数はいくらだろうか。 これを式にすると以下のようになる。

eq1
eq2
式を整理

変数分離形にした後、積分する。

eq3
変数分離形
eq4
積分後

どちらが勝ったのか

積分定数 C は X と Y とに初期人数を代入することで計算できる。この例では 9900 になる。 積分定数が正のとき Y が勝ち、負の時は X が勝つ。

戦闘終了時の残存人数

戦闘終了時の残存人数は X(Xが勝つときはY)に 0 を代入して解く。 この例では Y に約 49 人残る。

一般化

この式を一般化すると以下のようになる。By2 > Ax2 のとき Y が勝ち、By2 < Ax2 のとき X が勝つ。

eq5
一般化された式
A:X の戦闘力係数
B:Y の戦闘力係数
C:積分定数

HP と攻撃力がある場合

HP と攻撃力とで戦闘力係数を調整する。 たとえば X の HP と攻撃力とをそれぞれ HPx・ATKx、 Y は HPy・ATKyとすると、戦闘力係数を次のようにすればいい。

eq6

HP・攻撃力・防御力がある場合

攻撃力ー防御力を計算して0以下ならダメージ0とするか、攻撃力/防御力とする。

eq7
防御力を追加

敵の HP*DEF を固さ(solidity)と定義すると、戦闘力係数は ATK/SOL になる。

戦闘時間はどのくらいか

ラプラス変換を使って方程式を解けば、戦闘にかかる時間も計算できる。

eq1
方程式(再掲)
lap1
ラプラス変換後の方程式
X(s):x(t) のラプラス変換
Y(s):y(t) のラプラス変換
lap2
X(s),Y(s) について解く

解を逆ラプラス変換すると以下の式になる。

lap3
最終的な解

x(t) = 0 とすると t を計算できる。 t = log(11)/4 = 0.559 になる。


広告
広告