ピクミンブルーム 24種の花札デコをそろえるのに必要な回数【平均、中央値、最頻値、上位x%点】

クーポンコレクター問題のプログラムを新しく書き換えたのを公開するついでに、花札デコ(ピクミン4種類 × 花札絵柄6種類=24種類)のコンプ回数問題をシミュレーションしてみたので実験しました。

 

※なお、デコ図鑑コンプは絵柄にかかわらずピクミン4種類そろえればOKです。その場合のシミュレーション結果はピクミンブルーム デココンプ回数の分布表と偏りについて【クーポンコレクター問題】ですでに載せています。

※コンプはせずとも特定の絵柄だけがほしい、という場合は【ピクミンブルーム】デコピクミンコンプリートまでの苗取得回数計算プログラム【不均一な確率、複数デコゲット対応】のシミュレーションプログラムをご利用ください。

24種の花札コンプに必要な回数

回数ごとのグラフ

ぴったりx回目でコンプできる確率のグラフ
x回目以下でコンプできる確率の累積グラフ

各種統計値

  • 平均値、中央値、最頻値
  • 分散、標準偏差
  • 上位x%の運の持ち主がコンプにかかる回数

を下に記載します。

● 24 種類
平均: 90.62299626608416 回
中央値: 85 回
最頻値: 76 回

分散: 833.3520842023323
標準偏差: 28.86783823223229

※上位x%の運のときのコンプ回数
上位 1 %: 46 回
上位 5 %: 54 回
上位 10 %: 60 回
上位 25 %: 70 回
上位 50 %: 85 回
上位 75 %: 105 回
上位 90 %: 128 回
上位 95 %: 145 回
上位 99 %: 183 回

 

x回目までにコンプできる確率表

23 回目まで: 0.0 %
24 回目まで: 4.6519588999739835e-08 %
25 回目まで: 5.814948624967479e-07 %
26 回目まで: 3.832212670204263e-06 %
27 回目まで: 1.771742159169779e-05 %
28 回目まで: 6.452529096006408e-05 %
29 回目まで: 0.00019710734052138742 %
30 回目まで: 0.0005252128507971925 %
31 回目まで: 0.0012537069560420824 %
32 回目まで: 0.002732849154120366 %
33 回目まで: 0.0055188385317699986 %
34 回目まで: 0.010440850700528234 %
35 回目まで: 0.0186691899786394 %
36 回目まで: 0.03177825203125918 %
37 回目まで: 0.051797880000025005 %
38 回目まで: 0.08124738664163877 %
39 回目まで: 0.12314786259083231 %
40 回目まで: 0.1810101718535023 %
41 回目まで: 0.25879799609747917 %
42 回目まで: 0.3608671906332997 %
43 回目まで: 0.4918843648578529 %
44 回目まで: 0.6567288683579394 %
45 回目まで: 0.8603831859336407 %
46 回目まで: 1.1078171138381003 %
47 回目まで: 1.4038710445016171 %
48 回目まで: 1.7531432976471024 %
49 回目まで: 2.1598857880836193 %
50 回目まで: 2.6279115046840986 %
51 回目まで: 3.16051637588282 %
52 回目まで: 3.7604171876819565 %
53 回目まで: 4.429706358917693 %
54 回目まで: 5.1698236077138 %
55 回目まで: 5.9815438896534765 %
56 回目まで: 6.86498046573865 %
57 回目まで: 7.819601569100297 %
58 回目まで: 8.844258877621025 %
59 回目まで: 9.937225853139926 %
60 回目まで: 11.096243961059926 %
61 回目まで: 12.31857481951797 %
62 回目まで: 13.601056427062694 %
63 回目まで: 14.940161765069632 %
64 回目まで: 16.332058250510677 %
65 回目まで: 17.77266671276682 %
66 回目まで: 19.25771877370164 %
67 回目まで: 20.782811714172883 %
68 回目まで: 22.343460105621872 %
69 回目まで: 23.935143667318464 %
70 回目まで: 25.55335097488694 %
71 回目まで: 27.193618791928813 %
72 回目まで: 28.851566923065697 %
73 回目まで: 30.52292859361599 %
74 回目まで: 32.20357644913318 %
75 回目まで: 33.889544338389484 %
76 回目まで: 35.57704509762028 %
77 回目まで: 37.2624845936684 %
78 回目まで: 38.942472310872795 %
79 回目まで: 40.61382878291789 %
80 回目まで: 42.27359017811487 %
81 回目まで: 43.91901034633243 %
82 回目まで: 45.547560629504424 %
83 回目まで: 47.156927726636034 %
84 回目まで: 48.74500988967265 %
85 回目まで: 50.30991170949536 %
86 回目まで: 51.849937732520814 %
87 回目まで: 53.363585128631854 %
88 回目まで: 54.84953561103734 %
89 回目まで: 56.30664678863165 %
90 回目まで: 57.7339431118695 %
91 回目まで: 59.130606554375255 %
92 回目まで: 60.49596715467695 %
93 回目まで: 61.82949352573879 %
94 回目まで: 63.130783424454066 %
95 回目まで: 64.39955445899997 %
96 回目まで: 65.63563499896122 %
97 回目まで: 66.83895534138377 %
98 回目まで: 68.0095391753884 %
99 回目まで: 69.1474953786038 %
100 回目まで: 70.25301017040593 %
101 回目まで: 71.3263396397057 %
102 回目まで: 72.3678026587326 %
103 回目まで: 73.37777418884289 %
104 回目まで: 74.3566789797587 %
105 回目まで: 75.30498565974317 %
106 回目まで: 76.22320121096536 %
107 回目まで: 77.11186582163488 %
108 回目まで: 77.97154810432716 %
109 回目まで: 78.80284066821373 %
110 回目まで: 79.6063560316024 %
111 回目まで: 80.38272286022568 %
112 回目まで: 81.1325825160506 %
113 回目まで: 81.85658590096867 %
114 回目まで: 82.55539057953115 %
115 回目まで: 83.22965816488113 %
116 回目まで: 83.88005195217355 %
117 回目まで: 84.50723478403917 %
118 回目まで: 85.11186713301373 %
119 回目まで: 85.69460538630105 %
120 回目まで: 86.25610031874746 %
121 回目まで: 86.79699574046141 %
122 回目まで: 87.31792730610226 %
123 回目まで: 87.8195214734739 %
124 回目まで: 88.30239459968384 %
125 回目まで: 88.76715216375699 %
126 回目まで: 89.21438810521991 %
127 回目まで: 89.64468426878993 %
128 回目まで: 90.05860994590911 %
129 回目まで: 90.45672150445323 %
130 回目まで: 90.83956209851645 %
131 回目まで: 91.20766145072241 %
132 回目まで: 91.56153570003929 %
133 回目まで: 91.90168730858007 %
134 回目まで: 92.2286050213481 %
135 回目まで: 92.54276387334252 %
136 回目まで: 92.84462523886776 %
137 回目まで: 93.13463691829703 %
138 回目まで: 93.41323325792057 %
139 回目まで: 93.6808352988676 %
140 回目まで: 93.93785095142648 %
141 回目まで: 94.18467519140019 %
142 回目まで: 94.42169027542752 %
143 回目まで: 94.64926597247157 %
144 回目まで: 94.86775980893121 %
145 回目まで: 95.0775173250648 %
146 回目まで: 95.27887234063445 %
147 回目まで: 95.47214722787874 %
148 回目まで: 95.65765319010929 %
149 回目まで: 95.8356905443969 %
150 回目まで: 96.00654900697135 %
151 回目まで: 96.17050798010443 %
152 回目まで: 96.32783683937845 %
153 回目まで: 96.47879522036561 %
154 回目まで: 96.6236333038551 %
155 回目まで: 96.76259209886739 %
156 回目まで: 96.89590372278883 %
157 回目まで: 97.02379167804479 %
158 回目まで: 97.14647112480736 %
159 回目まで: 97.2641491493042 %
160 回目まで: 97.37702502735908 %
161 回目まで: 97.48529048285289 %
162 回目まで: 97.58912994084616 %
163 回目まで: 97.68872077515164 %
164 回目まで: 97.78423355018798 %
165 回目まで: 97.87583225698438 %
166 回目まで: 97.9636745432397 %
167 回目まで: 98.04791193737104 %
168 回目まで: 98.1286900665138 %
169 回目まで: 98.20614886845985 %
170 回目まで: 98.28042279754175 %
171 回目まで: 98.35164102449076 %
172 回目まで: 98.41992763031232 %
173 回目まで: 98.48540179423793 %
174 回目まで: 98.54817797582525 %
175 回目まで: 98.60836609128886 %
176 回目まで: 98.66607168415389 %
177 回目まで: 98.72139609033304 %
178 回目まで: 98.77443659773387 %
179 回目まで: 98.82528660050912 %
180 回目まで: 98.8740357480677 %
181 回目まで: 98.9207700889671 %
182 回目まで: 98.96557220981126 %
183 回目まで: 99.00852136927996 %
184 回目まで: 99.04969362741716 %
185 回目まで: 99.08916197030632 %
186 回目まで: 99.12699643026177 %
187 回目まで: 99.16326420166386 %
188 回目まで: 99.19802975256647 %
189 回目まで: 99.23135493220293 %
190 回目まで: 99.263299074517 %
191 回目まで: 99.29391909784184 %
192 回目まで: 99.32326960085051 %
193 回目まで: 99.35140295489731 %
194 回目まで: 99.37836939286896 %
195 回目まで: 99.40421709466119 %
196 回目まで: 99.42899226939426 %
197 回目まで: 99.45273923447873 %
198 回目まで: 99.47550049163955 %
199 回目まで: 99.49731680000457 %
200 回目まで: 99.5182272463605 %
201 回目まで: 99.53826931267665 %
202 回目まで: 99.55747894099429 %
203 回目まで: 99.5758905957764 %
204 回目まで: 99.59353732381018 %
205 回目まで: 99.61045081175166 %
206 回目まで: 99.62666144139936 %
207 回目まで: 99.64219834278106 %
208 回目まで: 99.65708944513494 %
209 回目まで: 99.67136152586458 %
210 回目まで: 99.68504025754342 %
211 回目まで: 99.69815025304297 %
212 回目まで: 99.71071510885605 %
213 回目まで: 99.72275744668401 %
214 回目まで: 99.73429895335435 %
215 回目まで: 99.74536041913335 %
216 回目まで: 99.75596177449549 %
217 回目まで: 99.76612212540972 %
218 回目まで: 99.77585978720025 %
219 回目まで: 99.78519231703741 %
220 回目まで: 99.7941365451126 %
221 回目まで: 99.80270860454858 %
222 回目まで: 99.8109239600953 %
223 回目まで: 99.81879743565892 %
224 回目まで: 99.8263432407107 %
225 回目まで: 99.8335749956195 %
226 回目まで: 99.8405057559515 %
227 回目まで: 99.84714803577765 %
228 回目まで: 99.853513830029 %
229 回目まで: 99.85961463593769 %
230 回目まで: 99.86546147360028 %
231 回目まで: 99.87106490569896 %
232 回目まで: 99.87643505641415 %
233 回目まで: 99.8815816295614 %
234 回目まで: 99.88651392598354 %
235 回目まで: 99.89124086022865 %
236 回目まで: 99.89577097654234 %
237 回目まで: 99.90011246420225 %
238 回目まで: 99.90427317222166 %
239 回目まで: 99.90826062344749 %
240 回目まで: 99.91208202807768 %

 

上の結果を出力するソースコード

言語はPythonです。

from sympy.functions.combinatorial.numbers import stirling
import matplotlib.pyplot as plt
import math
import numpy as np

k = CouponKind = 24 #クーポンの数
numTrial = 240 #入手回数の上限値

x = []
y = []
for n in range(1, numTrial+1):
    stir = stirling(n-1, k-1, kind = 2)
    prob = math.factorial(k) * stir / (k**n)
    x.append(n)
    y.append(prob)
plt.bar(x, y, label='k = {}'.format(k))
plt.xticks(np.arange(0, numTrial+1, step=30)) #stepは適宜変更
plt.grid(linestyle="--")
plt.legend()
plt.show()

z=[0]*numTrial
psum=0
yy=[0]+y
for i in range(0,numTrial):
    psum += y[i]
    z[i] = psum
plt.plot(x, z, label='k = {} cdf'.format(k),)
plt.xticks(np.arange(0, numTrial+1, step=30)) #stepは適宜変更
plt.yticks(np.arange(0, 1.1, step=0.1))
plt.grid(linestyle="--")
plt.legend()
plt.show()
print()

zz=[0]*numTrial
zzz=[0]*numTrial
for i in range(0,numTrial):
    zz[i]=float(z[i])
    zzz[i]=zz[i]-zz[i-1]

hk=0
for i in range(1,CouponKind+1):
    hk += 1/i
var=0
for j in range(1,CouponKind+1):
    var += (1-j/CouponKind)/((j/CouponKind)**2)
print("●",CouponKind,"種類")
print("平均:",CouponKind*hk,"回")
for i in range(0,numTrial):
    if 100*zz[i] >= 50:
        print("中央値:", zz.index(zz[i])+1,"回")
        break
print("最頻値:", zzz.index(max(zzz))+1,"回")
print()
print("分散:",var)
print("標準偏差:",math.sqrt(var))
print()

print("※上位x%の運のときのコンプ回数")
for j in [1,5,10,25,50,75,90,95,99]: #上位x%の運の持ち主がコンプにかかる回数
    for i in range(0,numTrial):
        if 100*zz[i] >= j:
            print("上位",j,"%:", zz.index(zz[i])+1,"回")
            break

print()
print()
for i in range(0,numTrial):
    zz[i]=float(z[i])
    print(i+1,"回目まで:", 100*zz[i],"%")

 

他の条件や値でのシミュレーションについて
  • k = CouponKind = 24 #クーポンの数
  • numTrial = 240 #入手回数の上限値
  • for j in [1,5,10,25,50,75,90,95,99]: #上位x%の運の持ち主がコンプにかかる回数

と、図の目盛りを表す #stepは適宜変更

の部分を適宜書き換えると、他の場合も同じ条件でシミュレーションできます。

 

なお、このシミュレーション結果は厳密な解析解に基づく理論値です。

 

平均値、中央値、最頻値は上位何%か?

まず、この分布では一般的にコンプ回数は 平均値 > 中央値 > 最頻値 となり、それぞれの運の良さはデコ数(クーポン数)が十分大きい場合

  • 平均値:上位57%
  • 中央値:上位50%
  • 最頻値:上位37%

くらいに収束します。デコ数(クーポン数)が少ないと平均はもう少し上、最頻値はもう少し下です。

詳しくはクーポンコレクター問題

 

参考:コンプしたい場合に必要なおかわりチケット等

確率50%で花札24枚コンプしたい場合、59枚のチャレンジおかわりチケットを使用し、2万歩+花植え1万枚を1日あたり約1.5回ずつのペースでやる必要あり

無論フレンドとの協力は必須に近いです。

 

それ以外の確率(上位x%の回数)の場合は、

  • 上位x%の回数から26を引いたチャレンジおかわりチケットが必要
  • 上位x%の回数から20を引いた数のウィークリー&花植えチャレンジを行い、報酬を受け取る

必要があります。

 

コメント

タイトルとURLをコピーしました