ガチャ

一部で話題のガチャガチャ東京メトロ立体路線図。欲しいんですが、高いんです。
1回300円で前半4種と後半5種をすべて揃えるには期待値19.75回の5925円。5秒で飽きるだろうものに出す金額ではないですね。
では、どうやったら安く揃えられるのでしょうか。
答えは人と協力することです。ダブったものを交換することで互いに補い合うのです。ああすばらしき助け合いの世界。

さて、複数人の協力はどれくらいお得なのでしょうか。ググっても出ないので計算しました。

その前に1人でガチャコンプを目指す場合の期待値ですが、これは種類数をNとして
N(1+1/2+...+1/N)
で求まります。
考え方としては、
・持っている種類を0→1にするには、何を引いてもいいので期待値は1回
・1→2にするには、前回の以外を引けばいいので期待値はN/(N-1)回
・n→n+1にするには、(N-n)/Nを引けばいいので期待値はN/(N-n)回
で、全ての期待値の合計です。

次に、2人で協力する場合を考えます。
1人の場合、「持っている種類」の状態は(N+1)個でしたが、今回「X種類は2個以上持っていて、Y種類は1個だけ持っている」を1状態とカウントするので、全部で (N+2)C(2) = (N+1)(N+2)/2 種類。
ある状態から1回ガチャって行ける次の状態は、「1個だけ持っているものの2個目を引く」「1個も持っていないものの1個目を引く」の2通りあるので、これを図にするとこんな感じ。

f:id:syaik:20180203134742p:plain
さらに、「今の状態から次の状態に行くために回す数の期待値」と、「次の状態が2つあるとき、どの確率でどちらが選ばれるか」を書き加えたものがこちら。

f:id:syaik:20180203134825p:plain


ここで、スタート地点からコンプリートまで行くルートをひとつ選び、通り道のガチャ回数期待値の合計に、通り道の倍率をすべてかけたものを、そのルートの期待値とします。
以下の図では、2つのルートについて期待値を出しました。

f:id:syaik:20180203134911p:plain
そして、すべてのルートの期待値を合計したものが全体の期待値、すなわち2セットコンプリートするまでのガチャ回数の期待値となります。

N=4だとルートは14通りありますが、これをまとめて計算するためには、ためには、、、、ためにはどうするんですかわかんないでした。
この辺で降参して、ここからは例のごとくコンピュータ様に丸投げします。
2セットコンプリートの期待値を計算したものがこちら

f:id:syaik:20180203135059p:plain
実際にガチャを10万回ほど回して確かめてみると、合っていることがわかります。
ルート毎の倍率を見ると、平均的に真ん中ちょい上のルートを通る感じになります。
つまり、1人でコンプするときの確率をPとして(P+N)/2 ちょい少な目というのが悪くない近似と言えましょうか。

3セット以降も10万回ほどブン回し、頭数で割ったグラフがこちら

f:id:syaik:20180203135351p:plain

 上から、1人でガチャる場合の期待値、2人でガチャる場合の1人あたりの期待値、~5人での期待値です。

ということで、助け合いの大切さが数学的に証明されたわけです。
みんなでガチャれば怖くない。協力して立体路線図を完成させましょう。
人が多ければ多いほど期待値は 300*9=2700円 に近づいて、
まぁ、3秒で飽きそうなものに出す金額じゃないですね。