読者です 読者をやめる 読者になる 読者になる

街角の雑踏

好きなことを好きな角度から考えるばしょ

【艦これ】輸送ゲージ海域の攻略効率化について(2)モデル説明

艦これの輸送ゲージ海域をなるべく簡単に攻略するための新しいアプローチ。
数理計画問題として捉えて色々考えてみました。

1.導入

艦これ運営から2月10日に冬イベントが開始されるとの発表があり、あわててこの問題に取り組んでいましたが、なんとかイベントまでに間に合いました……。

前回の記事では、「艦これの輸送ゲージってもうちょいラクに攻略できるんじゃないの?」と、その思いつきをつらつらと書いてみたわけですが、今回は実際にどのように攻略方法を決定するかを示していきます。

machikado.hatenablog.jp

前回の記事をご覧になった方で、察しの良い方はお気づきだと思いますが、今回考えている艦これの話、数理計画問題として解けるんじゃないかと思ったんですよね。

数理計画問題ってなんだ?って方のためにネット上の説明ページから引用すると、

一定のルール(決めごと)の範囲内においてできるだけ良いやり方を,数理モデルと計算機の力を借りて導く手法.
数理計画法 - 数理計画用語集

ということになります。まぁ簡単に言うと、「ある物事をなるべく単純に考えて、数学を使ってどうにかしよう」ってことですね。(超ざっくり!)
この問題は、物事を単純に考える段階と、それをどうにかする(コンピューターに計算してもらう)段階の大きく2つに分かれています。今回取り上げた艦これの話は、「単純に考える」ことさえできれば問題が解決するはずです。

では、「単純に考える」とは一体どういうことなのか?
それは、先に引用した文中に「数理モデル」という言葉に示されているように、物事のしくみ(今回の場合は艦これの輸送ゲージシステム)を数式で表すことになります。
これができれば、輸送ゲージシステムが導入されている海域をスムーズにクリアでき、不必要なイライラから解放されるわけです。

数式で表すとはどういうことなのか、例を挙げますと、
Aくんは時速4kmで歩いています。6km歩くには何時間歩けばよいですか。
\begin{eqnarray*}
4 x & = & 6 \\ x & = & 1.5
\end{eqnarray*}

↑こんな感じです。

さて、問題は輸送ゲージシステムをうまく数式に表せられるか。ということなのですが、
結論から申し上げますと、うまくできませんでした(笑)
ここ数日考えていたのですが、どうもうまく数式にまとめられませんでした。やはり手法を確立しないまま、見切り発車で記事を書くのは良くないですね。次回からは、きちんと話の終わりが見えてから記事に起こしたいと思います。

なので、今回は輸送ゲージを攻略する上で、ドラム缶運用の「目安の付け方」を紹介する。ということに留まること、
ここで紹介する運用方法を行えば、必ず最短ルートで攻略が行えるという保障はできない(けど、ある程度うまい方法は見つかる)ことを踏まえた上で以下の記事をご覧いただければと思います。

2.数式にする

この章は数式が出てくるので苦手な方は飛ばして次の記事にどうぞ。
とはいえ、前章でネタバレしたように、うまくできなかったのでそれほど難しくはありません。ナップサック問題という典型問題に準じた形に簡略化して考えました。

参考:ナップサック問題 - Wikipedia

そして、妥協して数式に表したものがこちらです。*1

{ \displaystyle
\min \sum_{k=0}^{N-1} x_i y_i \tag{1}
 }

{ \displaystyle
\mbox{s.t.} \quad \sum_{i=0}^{d} x_i = N-1 \tag{2}
}

{
y_i = \lbrack ai \rbrack + B \quad (i=0,1,2, \ldots ,d) \tag{3}
}

{\displaystyle
\sum_{k=0}^{N-1} x_i y_i \ge P - B \tag{4}
}

これらの数式について説明していきます。
今回探しているのは、ドラム缶をなるべく運ばずに海域を周回(輸送ゲージを削る)方法です。
本来は前回の記事に書いたように、使用する編成と、その編成でボス戦A勝利できる最大ドラム缶搭載量が分かれば、どのようにドラム缶運用を行えばよいか決定できる予定だったのですが、
前述したように、できなかった(笑)ので、使用する編成と、~~最大ドラム缶搭載量、周回回数*2が分かれば、~~、というように考えます。*3

例えば、{N}回の周回で終わらせたいときになるべくラクに終わらせるには、同じ周回回数でもドラム缶はあまり装備しないほうが良いでしょう。ドラム缶を装備するとそのぶん戦闘力の低下に繋がるからです。
加えて、最終形態のボスには1度対戦するだけで済ませたい、その最終形態対戦時はドラム缶を持たない全力出撃状態で挑みたい。そのようなことが行える運用方法を考えました。

そこでドラム缶を何個持たせれば良いかということを考えていくのですが、周回{N}回目のラスダン時はドラム缶0個で確定です。つまり、それまでに行われる{N-1}回分のドラム缶をそれぞれ何個持たせるのか分かれば良いのです。この章では以後、そのとき(通常形態時)の運用についてのみ考えていきます。

{N-1}回の周回のうち、ドラム缶を{i}個持たせ、それを繰り返す回数(周回回数)を{x_i}とします。
但し、ドラム缶を持たせつつボス戦A勝利するといっても、その持たせられるドラム缶数には上限があるでしょう。この上限を{d}とします。*4
このときに成り立つ式が(2)式です。

次に(3)式について。 1回の周回での減少TP(輸送量)について艦これWikiでは以下のように記されています。

(A勝利ドラム缶0の場合の基本値は編成により変動(攻略情報参照)、(第1艦隊積載の)ドラム缶の効果は1つにつき3.5*13、大発動艇の効果は1つにつき5.5?、小数点以下は切り捨て。S勝利だと1.44倍?、小数点以下は艦娘・ドラム缶・大発の合計ごとに切り捨て説が有力) S勝利でゲージ破壊できる状態になったときにボスマスが最終形態に変化する。
突入!海上輸送作戦 - 艦隊これくしょん -艦これ- 攻略 Wiki*

これを踏まえて、ドラム缶0個のときの減少TP(編成による基本値)を{B}、ドラム缶1個あたりのTP減少効果を{a}、ドラム缶{i}個持たせたときの減少TPを{y_i}とすると、(3)式になります。*5

そして、海域攻略に必要なTPを{P}とすると、周回{N-1}回目までには、少なくともTPを{P-B}稼ぐ必要があるので(4)式が立てられます。

以上の条件のなかで、周回回数を保ちながらもドラム缶数を減らしたいので(1)式に示すように、{\sum_{k=0}^{N-1} x_i y_i}の最小値を探せば、自ずとどういう運用を行えばよいか分かります。

いままでに置いた変数をまとめるとこのようになります。
{x_i} :{i}個ドラム缶を持たせて周回する回数
{y_i} :{i}個ドラム缶を持たせて周回したときの減少TP
{d} :最大ドラム缶搭載量
{N} :周回回数
{P} :海域攻略に必要なTP
{a} :ドラム缶1個あたりのTP減少効果
{B} :編成による減少TP基本値

では、どのように探せば良いのか。これは既に探し方が見つかっていますのでそれを利用させてもらいましょう。

少し記事が長くなりましたので2つに分けます。

続き

machikado.hatenablog.jp

*1:文字を揃えして数字付き数列にしようとしましたが、はてなの仕様がうまく掴めず途中で心が折れました……。

*2:前回の記事では「出撃回数」と説明していましたが、実際のプレイでは道中撤退もあり混同するので、以後このように表記します。

*3:このように設定を変えたことで問題がすごく簡単になりました。

*4:この値は出撃を繰り返すことで経験則的に周回が安定して行える数字として導き出されます。実際には、多くの艦これ攻略サイトで編成見本とそのときのドラム缶数が示されていますので、攻略時はそれらを参考に上限dを決めれば良いのです。つまり、この攻略方法はある程度情報が出揃ったあとに、その情報を活かして効率良く攻略することを目的としています。

*5:大発動艇の効果やS勝利時のTPボーナスは今回無視しました。これは今後の課題になります。運要素が絡んだS勝利ボーナスも考慮すると問題が途端に難しくなるので。