【艦これ】大鳳・Saratoga建造のための資源配分について

 今回の記事は、艦これ改の式を用いて大鳳・Saratogaを建造するためのより良いレシピを探そうという趣旨のものです。目出度くSaratogaも空母テーブルの一員であることも分かり、艦これ改の遺産も延命できたので、以下の前提が成り立っているという仮定のもと、議論を進めていきます。

艦これ改と同じような振る舞いをする式で各艦の建造率が決定されていること。

・瑞穂が大鳳のテーブルのうちの幾つかを潰す形で実装されていないこと。

・旗艦を神威/Iowaにした際に、大鳳の幾つかがSaratogaにすげ替える形で建造テーブルが決定されていること。

 一つ目の前提について補足説明すると、艦これ改は、本家に比べて開発・建造等の確率が高めの傾向を示す他、一部建造においてレシピが違う艦が存在したりと、完全に同じ式で大型建造も管理されていることを期待するのは難しいです。そこで、資材効率からレシピを見た時に大体同じような極大値の取り方をしてるということを仮定します。三つ目については実は少し苦しい仮定で、同じく旗艦を特定艦にすることで建造できるBismarkの場合艦これ改では大和武蔵以外にも長門陸奥の出目を潰す形でテーブルが構成されているのですが、Saratogaもそうであるとすると何もシミュレートできなくなるのでそこに目を瞑ることにしています。
 以上の前提を飲める方だけが本文を読んで頂ければ、と思います。*1また、申し訳ないのですが、使用している計算機の都合上複合レシピ(大和型と大鳳が同時に狙える6000/4000/6000/3000など)については言及しません。
 使用した計算機については、私が作成したわけではないことと、作成者の意向により特にリンク等を載せません。ご了承下さい。(追記:リンクを載せられることになりました。こちら。作成してくださった夢路さんにはこの場を借りてお礼申し上げます。本当にありがとうございました。)
 指摘・疑問点がありましたらコメントまたはTwitterにどうぞ。レスポンス速度的には後者が、書ける文量的には前者が優れています、というのも前回の記事と同様です。
 システムに興味がある人以外は取り敢えずレシピだけ見てくれれば良いです。ただ、決定則が大まかには艦これ改と一緒なら、鋼材は4000+250*m、ボーキは5000+200*n(m,n∈自然数)の形で値を変えない限り意味はないです。
 本文では色々レシピを挙げましたが、出ない時は出ないので自分が信じられるレシピ回したほうが精神的には楽です、多分。また、これらのレシピを回して出なかったとしてもそれは誰の責任でもないです。

1)省資源なレシピ

 いずれの場合もSaratogaが欲しいなら旗艦はIowa神威にすること。
 燃料弾薬は盛っても意味が薄いので、4000/2000で固定しています。(追記:弾薬は1950から空母テーブルに確定しますが、2000にしないと確率が落ちるので注意してください、燃料についても同様に4000入れてください
 大体の計算の流れは説明するのもめんどくさいので知りたい人がいればこちらのリンクからxlsxを落としてください。このファイルでは空き3でしか計算していませんが空き0でも同じ結果です。*2
 まず、開発資材が余って仕方ない人は20で、それ以外は1でやるのが良いでしょう。4種の資源について、それぞれに重み付けしてレシピを比較するのは煩雑だし、燃料弾薬はすぐ回復すると思うのでやりたかったら上のリンクのデータ等を使って各自で比較して下さい。
 ボーキ或いは鋼材のどちらか片方の消費量を少なくしたいだけならもう片方の資源を盛れば良いだけなので2種類の資源に適当に重み付けした上で、約65%*3出るまで回した時、80%出るまで回した時、90%出るまで回した時のボーキ+鋼材の消費量の和でレシピを評価します。

イ)開発資材1の場合

 いずれの確率でも、ある一つのレシピが最高効率となった。

ⅰ)価値の比率をボーキ:鋼材=1.5:1とした時

 4000/2000/6250/5200/1が最も省資源。

ⅱ)価値の比率をボーキ:鋼材=2:1とした時

 4000/2000/6500/5200/1が最も省資源。

ⅲ)価値の比率をボーキ:鋼材=3:1とした時

 4000/2000/6750/5200/1*4が最も省資源。

ロ)開発資材20の場合

 いずれの確率でも、ある一つのレシピが最高効率となった。

ⅰ)価値の比率をボーキ:鋼材=1.5:1とした時

 4000/2000/5750/5200/20が最も省資源。

ⅱ)価値の比率をボーキ:鋼材=2:1とした時

 4000/2000/6000/5200/20*5が最も省資源。

ⅲ)価値の比率をボーキ:鋼材=3:1とした時

 4000/2000/6250/5200/1*6が最も省資源。

いずれの例の場合よりもボーキの価値を重く見るなら4000/2000/7000/5200/1or20で良いと思います。

2)システムの概説

イ)4大テーブルへの振り分けの分岐の詳細

 条件分岐の式は以下の通りです。
=IF(and(燃料投入量>=(2400+int(rand()*1200)),弾薬投入量>=(1050+int(rand()*900)),鋼材投入量>=(2800+int(rand()*1400)),ボーキ投入量>=(2800+int(rand()*2400)),開発資材投入量>=1),空母テーブル,IF(and(燃料投入量>=(2240+int(rand()*1120)),弾薬投入量>=(2940+int(rand()*2520)),鋼材投入量>=(4400+int(rand()*2200)),ボーキ投入量>=(1050+int(rand()*900)),開発資材投入量>=20),武蔵Bisテーブル,(IF(and(燃料投入量>=(1920+int(rand()*960)),弾薬投入量>=(2240+int(rand()*1920)),鋼材投入量>=(3040+int(rand()*1520)),ボーキ投入量>=(910+int(rand()*780)),開発資材投入量>=1),大和しおいテーブル,最低値テーブル))))


 優先度としては、空母>武蔵Bis>大和しおい>最低値の順になっていて、空母テーブルの条件を満たしていればその他のテーブルの条件を満たし得るかどうかに関わらず空母テーブルに決定されます。
 また、rand()が使われていることから分かるように、仮に3400/5500/7000/5200/20と設定すると、およそ5/6の確率で空母テーブル、後の1/6の確率で武蔵Bisテーブルに振り分けられます。計算機の仕様的に、複合レシピは扱いませんでしたが、この事実を用いれば複合レシピについても評価することが可能かもしれませんね。
 尤も、この仕様がそのまま通用するとしたら、ある資源配分での各テーブルへ振り分けられる確率をpi, 各テーブルの「当たり」を引く確率をqi, Σpi=1(振り分けられるテーブルの順番にi=1,2,3,4)とすれば総体として当たりを引く確率はΣpiqiとなりますが、これは各テーブルの当たり率を各テーブルへの振り分け率で重み付けした平均を取ったもので、狙いを一本に絞った場合と比べて当たり確率がそれほど上がるわけではないこと、また、あるテーブルへの振り分けにはそこまで多くの量を必要ではない資源を、別のテーブルを引くために盛らなければならず、結果としてその資源がそこまで必要ではないテーブルを引いた時に資源定数への寄与が小さい資源を無駄に盛ったことになる*7ことを考えれば複合レシピというのはそこまで効率が良いものではないのかもしれません。

ロ)空きドック数・資源定数について

 まず、大型建造には最終的な抽選の対象となるテーブルのもととなる、100隻の艦に1~100までの番号が振られた表が各テーブル毎に存在します。そして、傾向として、まるゆ以外のレア艦は若い番号に集中しています。この表から、空きドック数に応じて100番から順番に艦が削られていき、そして空きドック数に対応した数の艦が選ばれます。

空きドック数 削られる数 選ばれる数
0 0 97
1 0 99
2 4 95
3 8 91

 また、選ばれる艦というのは乱数で適当に選出されるわけでは無論なくて、あるルールに従って選ばれるのです。また、この選ばれる過程で資源定数が効いてきます。
以下は空きドック3の場合の選び方です。表中の数字が選ばれる回数です。

番号 a1 a2 a3 a4 ・・・ an
1 0 1 1 1 ・・・ 1
2 1 1 2 2 ・・・ 2
3 1 1 1 2 ・・・ 2
4 1 1 1 1 ・・・ 2
(略) 1 1 1 1 ・・・ 0~2
89 1 1 1 1 ・・・ 0
90 1 1 1 0 ・・・ 0
91 1 1 0 0 ・・・ 0
92 1 0 0 0 ・・・ 0

このanの下付き添字nが資源定数で、最終的に91*n隻の中から一つ選ばれると言うのが抽選の仕組みです。実際にはam(1≦m≦n)の中から一つセットを選んだ上で抽選してるのかもしれないけど確率だけ見れば2つの操作に違いはないです。
 これを見れば空き数0と1の逆転現象にも納得がいくのではないでしょうか。このように、折り返し(表中の赤文字の部分)が発生することとレア艦が若い番号に集中していることより、資源定数を増やした方が確率は上がるのです。
 続いて資源定数の計算方法に移ります。下式が各テーブル毎の計算式です。
・空母テーブル
資源定数=int((燃料投入量-3000)*0.003)+int((弾薬投入量-2000)*0.003)+int((鋼材投入量-4000)*0.004)+int((ボーキ投入量-5000)*0.005)+int((開発資材投入量-50)*0.1)
・武蔵Bisテーブル
資源定数=int((燃料投入量-3500)*0.003)+int((弾薬投入量-4500)*0.005)+int((鋼材投入量-5500)*0.004)+int((ボーキ投入量-2200)*0.002)+int((開発資材投入量-50)*0.1)
・大和しおいテーブル
資源定数=int((燃料投入量-2500)*0.002)+int((弾薬投入量-3000)*0.003)+int((鋼材投入量-4000)*0.003)+int((ボーキ投入量-1800)*0.002)+int((開発資材投入量5-50)*0.1)
・最低値テーブル
資源定数=int((燃料投入量-2000)*0.002)+int((弾薬投入量-2500)*0.003)+int((鋼材投入量-3000)*0.002)+int((ボーキ投入量-1500)*0.002)+int((開発資材投入量-50)*0.1)

 最低値テーブルの式にそれぞれの資源資材の最低値を代入するとすぐに分かりますが、資源定数の式が負になります。その場合は資源定数は0となり、テーブルの数は1となります。(つまり、上の表でa1まで出力されて、その中から選ばれるということ)

3)追記事項

・計算機のリンク等を載せました(2017/09/13)
・燃料弾薬の量についての注意(必ず4000/2000投入すること)(2017/09/13)

*1:三つ目の仮定が飲めなくても、最悪大鳳オンリー狙いとしてのシミュレートとしてはまだ価値が残るはずです。最悪何も飲めなくても少し愉快(?)な試みとして生暖かく見守ってくれれば、と。

*2:建造する前の段階で空いてるドック数が3>2>0>1の順に建造できる確率が高いので空き1で建造するのはやめましょう。

*3:≒1-1/e,eは自然対数の底、この時の値が消費量の期待値

*4:4000/2000/7000/5200/1も大差ない

*5:4000/2000/5750/5200/20も大差ない

*6:4000/2000/6250±250/5200/20も大差ない

*7:例としては空母テーブルにおけるボーキサイトがある。ボーキサイトは、空母テーブルを確定で引くのに5200必要で、資源定数への寄与はint((投入量-5000)*0.005)となり、空母テーブルではそれなりに効率的に資源定数を盛れる資源だが、武蔵Bis/大和しおいテーブルでは共に資源定数への寄与はint((投入量-テーブル毎の基準量)*0.002)となり、とても非効率的な上に、ボーキサイトは比較的集めにくい資源なので、空母テーブル以外を引いた時にかなり無駄の多い資源配分をしたことになってしまう。資源定数?となった人は次節参照のこと。