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

カテゴリ:その他

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

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

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

eq1
eq2
式を整理

変数分離形にした後,積分する.

eq3
変数分離形
eq4
積分後

どちらが勝ったのか

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

戦闘終了時の残存人数

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

一般化

この式を一般化すると以下のようになる.

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 になる.