「季節のいろどり」を効率よく集める

f:id:komori_pyon:20200215104603j:plain

ゆゆゆい新イベントの周回方法を整数計画した話です。

概要

2月12日からゆゆゆいのバレンタインイベント「愛のカタチは未確定?」が始まりました。

今回のイベントから新たに「季節のいろどり」というアイテムが登場しました。「季節のいろどり」は3種類あり、交換所でアイテムと交換することができます。

「季節のいろどり」はステージをクリアすることで入手できます。 また、新登場のSSRやイベント限定SRなどをメイン勇者にすることで獲得量を増やすこともできます。

f:id:komori_pyon:20200215104633j:plain

「季節のいろどり」のドロップ比率はステージによって異なります。どのステージをどのパーティで何回周回すべきかぱっとはわからなかったので、線形計画法で最適解を求めることにしました。

問題設定

ネットの有志の方の情報[1]によると、各ステージのドロップ個数の期待値は以下の通りです。

ステージ名 スタミナ消費 スマイルブーケ(A) カップショコラ(B) チョコアソート(C)
1-4 22 80 80 340
1-B 24 0 0 500
2-4 25 80 340 80
2-B 27 0 500 0
3-4 28 340 80 80
3-B 30 500 0 0

実際にはドロップ個数には確率が絡みます。しかし、2値の中から等確率でドロップ個数が決まるので、期待値分が確定ドロップすると考えても大きな問題にはなりません。

以下ではアイテム名を書くのが面倒なので、先駆者様の表記に合わせてスマイルブーケ、カップショコラ、チョコアソートをそれぞれA、B、Cと表記します。

次に、パーティ編成です。私の場合、にぼっしーをBに振るかCに振るかで次の2通りの編成ができます。

A B C
パーティ1 +0.5 +0.5 +3.0
パーティ2 +0.5 +1.0 +0.0

ここに、+Xとはドロップ数が元の数値の(1+X)倍になっていることを表します。

上のステージ構造と合わせると、「季節のいろどり」を集めるための周回方法は次の9通りあります。

組み合わせ スタミナ消費 Aの期待値 Bの期待値 Cの期待値
x1 22 120 120 1360
x2 22 120 160 340
x3 25 120 510 320
x4 25 120 680 80
x5 28 510 120 320
x6 28 510 160 80
x7 24 0 0 2000
x8 27 0 1000 0
x9 30 750 0 0

# 6\times2=12通りから「パーティ1で1-Bを周回する」など明らかに非効率な周回方法を除いたものです

できるだけスタミナ消費を抑えつつA, B, Cを目標の個数集める方法は、整数計画問題に帰着できます。最新のソルバを用いれば、小規模な問題なら簡単に最適解を求めることができます。

\begin{align} \min \quad&\boldsymbol{c}^{\mathrm{T}}\boldsymbol{x} \\ \mathrm{s.t.} \ \ &A\boldsymbol{x} \geq 0 \\ & \boldsymbol{x}\geq 0 \end{align}

計算結果

整数計画問題の最適解の求解はNEOS/scipを用いました。下のようなファイル(CPLEX-LP形式)を投げると最適な周回方法が返ってきます。誰でも無料で計算することができます。

f:id:komori_pyon:20200215104659p:plain

可能なパーティ編成は人によって異なると思うので、各自自分の手持ちに合わせて計算し直すことをおすすめします。

ぼたもち回収

ぼたもち/ぼたもちプチ/ぼたもちハーフをすべて回収するには、(A, B, C) = (0, 90000, 14000)が必要です。

f:id:komori_pyon:20200215104714p:plain

最適解はx7=7, x8=90(他は0)です。 ひたすらにボスを周回するのが最適のようです。

ちなみに、スタミナ最大値が270と仮定した場合、獲得したぼたもちによる回復量は6375なので、回収に必要なスタミナ消費量2598と比べて大きく得をしています。時間に余裕があるなら全力で周回すべきです。

ぼたもち+栄うどん玉

ぼたもちに加えて、新アイテムの「栄うどん玉」も全部回収しようとしてみます。必要なアイテム数は(A, B, C)=(300000,135000,79000)です。

f:id:komori_pyon:20200215104726p:plain

最適解はx1=56, x5=3, x7=1, x8=128, x9=389です。Cはスタミナ消費の少ない1-4で回収し、足りないAとBはボスを周回する感じでしょうか。

消費スタミナ量は16436でした。スタミナ270の場合、イベントで回収したぼたもちに加えてぼたもちが37個必要です。

ぜんぶ

交換所にあるアイテム(輝石含む)をすべて回収するにはどれぐらい周回しなければならないのでしょうか。(A, B, C)=(2867400,1642400,752400)です。

f:id:komori_pyon:20200215104736p:plain

最適解はx1=553, x4=3, x5=2, x8=1574, x9=3733です。1周1分と仮定すると97時間で周回できます。

まとめ

基本的にはボスを周回すればいいと思いますが、カップアソート(C)を集める際はスタミナ消費が小さい1-4を周回するのが良さそうです。

参考

この記事では『結城友奈は勇者である 花結いのきらめき』の作品画像を比較研究目的のために引用しております。画像の著作権は(C)2017 Project 2Hにあります。