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

月を眺める孤島

多分デレステとポケモンの話がメインのブログです

レッスン機能の新しい仕様について

f:id:shinemoon227:20170413210053p:plain


先日、デレステのアップデートによりレッスンの仕様が変更されました。今回変更された点は主に以下の2つです。


①アイドルとトレーナーを同時に選択できるようになる
②レッスンの獲得Exp、特技Lv上昇確率の計算方法が変更される


これまで、レッスンパートナー全ての数値を合算し、小数点以下の上昇率がある場合切り上げられていました。
具体的には、特技Lv1のアイドル \(A\) を特技Lv1のアイドル / トレーナー \(B\) 1枚でレッスンしたときの特技Lv上昇確率を \(f(A, B)\) とします(単位は%)。これ以降、キャンペーン限定チケットをCチケットと省略します。


f(A, B) SSR SR R
同タイプR 12 36 60
同タイプSR 36 60 96
異タイプR / ベテチケ 10 30 50
異タイプSR / マスチケ 30 50 80
Cトレチケ 5 25 40
Cべテチケ 25 40 70
Cマスチケ 250 500 500
STマスチケ 500 500 500


このとき、特技Lv \(l_A\) のアイドル \(A\) を特技Lv \(l_B\) のアイドル / トレーナー \(B\) 1枚でレッスンしたときの特技Lv上昇確率 \(g(A, B)\) は


\[
g(A, B) = \frac{l_B+1}{l_A+1}f(A, B)
\]


と表すことができます。ただし、トレーナーは \(l_B = 1\) として扱います。また、レッスンに用いるアイドルやトレーナーを複数に増やしたときの特技Lv上昇確率 \(h(A, B_1, B_2, ... , B_n)\) は


\[
h(A, B_1, B_2, ... , B_n) = {\rm min} \left( {\rm ceil} \left( \sum_{i=1}^{n} g(A, B_i) \right), 100 \right) (1≦n≦20)
\]


となります。ここで、 \({\rm min}(a, b)\) は \(a\) と \(b\) の内小さなほうを返す関数、 \({\rm ceil}(x)\) は \(x\) を切り上げる天井関数です。ただし、アイドルかトレーナーはどちらか1種類、合計20枚までしか使用できませんでした。
今回の仕様変更で、レッスンパートナー毎に小数点以下の上昇率がある場合は切り上げし、その後に合算されるようになりました。さらに、アイドルとトレーナーを混ぜてレッスンできるようになりました。


\[
g'(A, B) = {\rm ceil} \left( \frac{l_B+1}{l_A+1}f(A, B) \right)
\]

\[
h'(A, B_1, B_2, ... , B_n) = {\rm min} \left( \sum_{i=1}^{n} g'(A, B_i), 100 \right) (1≦n≦20)
\]


これらは非常に大きな仕様変更です。①に関しては、組み合わせの幅が広がり、所持しているアイドルやトレーナーが少なくても効率よくレッスンできるようになったのは明らかです。一方で②はいまいち何が嬉しいのか分かりにくいですが、小数点以下の処理が「切り捨て」でも「四捨五入」でもなく「切り上げ」だったこと、そして「1枚ごとに」処理が行われる、というのがポイントです。

具体例を見ていきます。以下に示すのは、同タイプR、ベテチケ(異タイプR)、Cベテチケを各特技Lvごとに1枚だけ使用したときの特技Lv上昇確率です。


同タイプR ベテチケ Cベテチケ
Lv1→Lv2 12.00 10.00 25.00
Lv2→Lv3 8.00 6.67 16.67
Lv3→Lv4 6.00 5.00 12.50
Lv4→Lv5 4.80 4.00 10.00
Lv5→Lv6 4.00 3.33 8.33
Lv6→Lv7 3.43 2.86 7.14
Lv7→Lv8 3.00 2.50 6.25
Lv8→Lv9 2.67 2.22 5.56
Lv9→Lv10 2.40 2.00 5.00


注目すべきは赤文字の部分です。 \(g(A, B)\) で \((l_b+1) / (l_a+1)\) 倍しているため、このように確率が整数にならないこともあります。
これらを全て切り上げ整数にすると、切り上げる前との差は次のようになります。差が0の箇所は省略してあります。


同タイプR ベテチケ Cベテチケ
Lv1→Lv2
Lv2→Lv3 0.33 0.33
Lv3→Lv4 0.50
Lv4→Lv5 0.20
Lv5→Lv6 0.67 0.67
Lv6→Lv7 0.57 0.14 0.86
Lv7→Lv8 0.50 0.75
Lv8→Lv9 0.33 0.78 0.44
Lv9→Lv10 0.60


最も大きいのはCベテチケでLv6からLv7に上げるときで、何と0.86%も差があることがわかります。元の関数で計算すると、1枚につき7.14%なのでCベテチケの使用枚数 \(n\) は

\[
\begin{eqnarray*}
7.14n &&\geq&& 100 \\
n &&\geq&& 100/7.14 \\
&&\simeq&& 14
\end{eqnarray*}
\]

で、14枚必要となることがわかります。一方、新しい関数で計算すると、1枚につき8%なのでCベテチケの使用枚数 \(n'\) は

\[
\begin{eqnarray*}
8n &&\geq&& 100 \\
n &&\geq&& 100/8 \\
&&=&& 12.5
\end{eqnarray*}
\]

となり、13枚で済むという結果になりました。このように、確率の切り上げによりアイドルやトレーナーの使用枚数を減らすことができるのです。
先ほどの例はCベテチケのみでしたが、13枚使うと4%もオーバーしてしまいます。もっと効率のよい組み合わせを考えることで、Lv1から10に上げきるまでには使用枚数を大きく減らせそうです。



以前このブログで紹介したアイドルやトレーナーの組み合わせの例は役に立たなくなったため、後日改めて組み合わせを考えてみたいと思います。








{
\displaystyle
\begin{equation}
\end{equation}
}