2018/07/03:サイトデザインをリニューアルしました。

HoI4の生産の最適化を考える その1

HoI4の生産活動の取り回しが思いのほか難しいので、どうすれば最適な生産が行えるのかを考えてみました。


スポンサーリンク

概要

HoI4の生産、難しくないですか?

HoI4での生産は徐々に生産が効率化していき、一定期間生産を続けると最大効率で生産できるようになるという特徴を持っています。そこで、多くの品種の生産を考えなければならない中で、どういう生産活動が最適なのかを知っておきたいなと思ったのが本記事です。

なお、この記事は1.3.1時点での情報です。

今回の結論

生産効率の上昇も加味すると、生産出力は基本出力(p)、出力補正(m)、生産効率上限(\bar{e})と初期生産効率(e)の差の2乗、生産効率上昇率(i)、期間(T)によって決まるということがわかりました。式にすると以下のとおり。

   \[ P = pm\left\{\bar{e}T-\frac{1}{2i}(\bar{e}-e)^2\right\} \]

詳しく

基本

まず基本的なことを確認します。英語版Wikiの生産のページには生産出力の式が掲載されています。

生産出力=(基礎出力×出力補正)×生産効率

例として上の画像(36年シナリオのスイス)の生産出力を計算すると、

(基礎出力5.00×出力補正1.1)×生産効率50%=生産出力2.75

となります。

生産効率を加味

次は生産効率の上昇も加味して一定期間のトータルの生産出力を考えてみましょう。

初期状態では週あたり1.7%ずつ、すなわち1日では1.7÷7≒0.24ずつ上昇します。このあたりを加味すると、ある期間の生産出力は以下のように表せます。

ある期間(日数)をT、その間の全生産出力をP、基本出力をp、出力補正をm、初期生産効率をe、生産効率上昇率(1日あたり)をiとすると、

   \[ P = pm(e+iT)T \]

と表すことができます。カッコ内は生産効率を表します。2016/12/27追記:この式の立て方は間違っており、TをかけるのではなくTについて積分する必要があります。ただ、これだけだと生産効率が無限に上昇してしまうことになるので、生産効率上昇中の生産と効率上限での生産を区別してやる必要があります。そこで初期状態から生産効率が上限に到達するまでの時間をtとし、生産効率上限を\bar{e}とすると、

   \[ t = \frac{\bar{e}-e}{i} \]

となります。生産効率上限と現在の生産効率の差を取り、上昇率で割ってやればよいはずです。

生産効率上限で生産している場合の生産出力は

   \[ pm\bar{e}(T-t) \]

となるので、最終的にある期間Tに産出される生産出力は

   \[ P = pm(e+it)t+pm\bar{e}(T-t) \]

となるはずです。tを分解して整理すると

   \[ P = pm\bar{e}T \]

となります。つまり生産力に関係があるのは基本出力、出力補正、生産効率上限、期間の4つのみであるということになりました。

2016/12/27追記:コメントにて、第一項は積分をする必要があるとご指摘いただきました。したがって

   \[ P = \int_0^tpm(e+it)\mathrm{d}t+pm\bar{e}(T-t) \]

とすると、以下の面積から求める式と確かに一致します。単純にtをかけてしまうのではなく、itは徐々に増加していく値なので、これについては積分してやる必要があったということでした。

ご指摘いただき、まことにありがとうございました!

しかしながら、これは直感的には受け入れがたい結論ですし、生産効率上昇率が無関係であるというのはちょっと考えられないので、たぶんどこか間違っているはずです。

2016/12/27追記:確かに間違っていましたが、コメントでご指摘いただき無事に解決しました。

これでおしまいではしょうがないので、もうひとつ違った視点からアプローチしてみたのが以下。

生産効率と時間を変数としてグラフを書いてやると以下のようなものになるはずです。

縦軸が生産効率、横軸が時間、赤い横線は生産効率上限、tは生産効率が上限に到達した時間を表します。生産出力Pは薄い青で塗った範囲の面積です。

グラフの文字と混ざってちょっとわかりにくいですが、さっきの設定をここでも使うとすると、初期生産効率をe、生産効率上限を\bar{e}、生産効率が上限に達するまでの時間をt、総生産出力をPとして、

   \[ P = \bar{e}T-\frac{1}{2}(\bar{e}-e)t \]

と表現できます。前段は0~Tまでを一旦すべて生産効率上限で求め(つまり赤いラインを高さとした四角形の面積)、後段で左上の三角形の部分を引いて求めています。

tを分解してやると、

   \[ P = \bar{e}T-\frac{1}{2i}(\bar{e}-e)^2 \]

これに上の図では考慮しなかった基本出力p、出力補正mを取り込むと

   \[ P = pm\left\{\bar{e}T-\frac{1}{2i}(\bar{e}-e)^2\right\} \]

となります。

こちらは生産効率上昇率が生産出力に影響するという結果となっていますが、生産効率上限と初期生産効率の差の2乗が出てくるというちょっと意外な結論となりました。こっちも間違っているような気がしないでもないですが、まあこちらを正しい結論であると考えるほうが妥当でしょう。


数式を使っていろいろやってはみたものの、正直「ホントかこれ?」と自分でも思っているので、おかしいところがありましたらコメントをいただければ幸いです。特に1つ目のほうの式立てからの展開はどこかに必ず間違いがあると思うので、おわかりの方はぜひ……。

次回:HoI4の生産の最適化を考える その2

コメント

  1. こういう記事が読みたかった。あとでまたじっくり読む。ぽちぽちUIに従っててもプレイできるけど、やっぱ考えてプレイしたいからね。

    • ありがとうございます。やはりこういう記事は読む方としては面倒かな……と思っていたのでとてもうれしいです。
      得られた結論がちゃんと正しければいいのですが……。

  2. これは数式マスターベーションですね。

    • この記事は「私が考えてみたらこうなったんですけど、皆さんから見てどうでしょう? 変なところありませんか?」というもので、変数がたくさんあるので説明には数式が一番わかりやすいし、考えてもらいやすいかなと思ったんですが、もっとわかりやすい方法ってありますかね?
      「確かに数式読むのは正直しんどいよな……」とは私も思うので、苦肉の策という感じではあるのですが……。

  3. 間違ってる方の式、Pの第一項は積分する必要があります
    積分でちゃんと計算すると、結果は面積から計算した式と一致します

    • なるほど、単純にtをかけてはダメで、tについて積分してやらないといけないということですね! つまり第一項は

         \[ \int_0^tpm(e+it)\mathrm{d}t=pm(et+\frac{i}{2}t^2) \]

      と、期間0からtで積分してやる必要があったと。
      頭の中のもやもやが綺麗に晴れました。ありがとうございます!

  4. その2へのリンクがされていない様に見えます。

    • ありがとうございます。修正しました。