ピクミンブルームの花札イベントで、12種類のデコガチャの各種統計値(コンプまでの期待値など)を調べてみました。
なお、チケットなどは考慮していません。
お察しのとおり、運が悪いととことん沼ります。チケット使用やコンプあきらめが肝心です。
苗育成の基本知識
- 歩く前に花植えをし、最大30%の歩数ボーナスを維持する。花びらに余裕があれば、隊列を9匹にして花植え終了をせずに放置も可能(1時間あたり120枚消費)
- スペシャルスロットを使えば7000歩で育成可能。そこに苗を入れたい場合、手前2枠は適当な苗で埋めておくこと
- 50000歩を超えると苗が育たない?
- 全部徹底すれば1日9苗育成も”理論上”可能
コンプまでの各種統計値について
この項では、去年の花札を1種類も持っていない場合の統計値を書きます。
去年の花札イベントで何種類か持っている場合は、最後の項を参照してください。
基本統計
●コンプまでの苗取得回数について
平均: 37.23852813852814 回
中央値: 35 回
最頻値: 30 回
分散: 188.11810779408182
標準偏差: 13.715615472667707
累計x回目までの苗でコンプできる累積確率y
苗取得回数xと、その時のゲット種類数y
青線は平均、橙線は上位5%、緑線は下位5%
その他細かい統計
すでに何種類か持っている場合
後の項に示すプログラムを書き換え、Pythonで実行すれば、入力した条件のときの「苗取得回数xと、その時のゲット種類数y」のグラフと同じ種類のものが出力されます。
つかいかた
Coupon = 12 #デコ種類数
have = 0 #すでに持っているデコ数
lim = 90 #苗取得回数の上限値
luck_range = [0.05, 0.95] #上位10%~90%の運の場合のデコゲット種類数
を適宜変更します。特に、have = 0
には、持っているデコ種類数を入れます。
グラフ描画の際は#目盛り幅(step)は適宜変更
の部分も変えてください。
プログラム
import numpy as np
import matplotlib.pyplot as plt
import math
Coupon = 12 #デコ種類数
have = 0 #すでに持っているデコ数
lim = 90 #苗取得回数の上限値
A=[0]*(Coupon+1)
for i in range(0,Coupon+1):
A[i] = [0]*(Coupon+1)
for i in range(0,Coupon+1):
for j in range(0,Coupon+1):
if i==j:
A[j][i] = i/Coupon
elif i==j-1:
A[j][i] = (Coupon-i)/Coupon
x = [i for i in range(Coupon+1)]
y = [0]*(Coupon+1)
ave = [0]*(lim+1)
xx = [i for i in range(lim+1)]
PerU = [0]*(lim+1)
PerD = [0]*(lim+1)
luck_range = [0.05, 0.95] #上位10%~90%の運の場合のデコゲット種類数
for jj in range(0,lim+1):
B = np.linalg.matrix_power(A, jj)
for ii in range(0,Coupon+1):
if ii >= have:
y[ii] = B[ii][have]
ave[jj] = sum([i*j for (i,j) in zip(x,y)])
if sum(y[0:ii]) <= 1-luck_range[0] and sum(y[0:ii+1]) > 1-luck_range[0]:
PerU[jj] = ii
if sum(y[0:ii]) <= 1-luck_range[1] and sum(y[0:ii+1]) > 1-luck_range[1]:
PerD[jj] = ii
plt.plot(xx, ave, label= "average")
plt.plot(xx, PerU, label= 'top {} %'.format(100*luck_range[0]))
plt.plot(xx, PerD, label= 'bottom {} %'.format(100-100*luck_range[1]))
plt.xticks(np.arange(0, lim+1, step=10)) #x軸の範囲や目盛り幅。目盛り幅(step)は適宜変更
plt.yticks(np.arange(0, Coupon+1, step=2)) #y軸の範囲や目盛り幅。目盛り幅(step)は適宜変更
plt.grid(linestyle="--")
plt.legend()
plt.show()
print()
print()
print("()内 ","Bottom", round(100-100*luck_range[1],4),"% ~", "Top", 100*luck_range[0], "%")
print()
for i in range(0,lim+1):
print(i, "回平均:", round(ave[i],4), " (", PerD[i], "~", PerU[i],")")
他の統計値を求めるための参考記事
限られた苗入手回数でのゲット個数を求めたい(コンプを考えない人に推奨)
ピクミンブルーム 花札デコの苗26個で平均何種類の絵柄が手に入るか?【推移行列のn乗】
コンプしたい人向け、コンプまでに何回か?
ピクミンブルーム 24種の花札デコをそろえるのに必要な回数【平均、中央値、最頻値、上位x%点】
本記事の参考:
ピクミンブルーム 苗取得回数とデコゲット種類数の確率的関係グラフ
コメント