memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Old Maid

よくやるあれです(意味不明!という方は和名をぐぐってみてください)。

ぐぐって課題探しする学生くんがいるかもしれませんのでゲーム名の表記は避けます。

戦略は実装していませんが、とりあえずゲームができるレベルまで作ってみました。

カードの配布も選択もランダム(Math.random)です。

コンピュータ同士で対戦させてみました。

以下がプレイヤー人数を2人から100人まで変えてみて、全員があがるまでのカードを引く回数(1000回試行した平均値)を調べてみました。ここで「カードを引く回数」は1人がカードを1枚引くと1回と数えました。

シャッフル(2枚のカードを入れ替える)の回数を、53回(1倍)、530回(10倍)、5300回(100倍)としたときの結果を、赤、緑、紫の線で描画しています。

f:id:ke_takahashi:20151124195633p:plain

カードを引く回数はリニアに上昇するかと思いきや13回まで上がって、17回まで下がって、そこから上昇して26回くらいでサチル感じです。

以下は、上記のデータをプレイヤー数で割った値をグラフにしました。要は何巡したか?ということをあらわしています。

f:id:ke_takahashi:20151124195643p:plain

2つのグラフは元となっているデータは同じですが、(もちろん意味は違いますが)形も違っていてこれまた面白いですね。。。この結果によると13人か26人くらいでやる(やらないって...^^;;)のが最もプレイ時間が長く、よくやる4、5人だと15周未満くらいで終わるという感じのゲームになるということがみえます。

数学屋さんとか見る人が見ると、もっと面白い解析ができそうですが。。。すでに枯れたテーマかなぁ?とりあえずコードを置いておきます。もしよければ解析などしてみてください。

github.com