La.系ぶろぐ

個人的いろいろメモ。シャープペンのメモにちょっぴりゲ○ツの悪口が混じってるただのチラ裏。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

サンクトペテルブルクのパラドックス

ああ、三ヶ月も放置プレイw
と、なぜか最近サンクトペテルブルクのパラドックスにはまっていたのでちょっとメモ。

まあ、詳しい話はウィキペでも参照って事で。
あ、ニコニコの方がいいかも。

いわゆる倍々ゲームの期待値は?ってネタです。
まあ、これ、要するに期待値はゲームを続けるほど破産するから無限大だよね、って話で。
すっきりしない話ですが、でも胴元になったらすぐ破産するんじゃね?と思って試してみたんですよ。
Rubyで。
最近のコンピュータは、こういうのすぐ試せるからいいですよね。
昔なんて、8bitですぐ上限値、オーバーフローですし、BASICなんかでやったら一生終わらないし。
てかアセンブラでカリカリに最適化しても、Rubyにすら及ばないだろ、的な。
て考えると本当、今の学生はうらやましいです。数学ネタ的には。

で、やってみたんですが。1億プッシュでw
(あ、ちなみに賞金は2^n(即負けで1円リターン))
……終わらない。
じゃあ、1万。
……終わらない。
千円><
……
100円><
……
10円!!
あ、やっと終わった!でも平均64000回……
(胴元が破産するまでの賭けの回数(客の延べ人数)って意味です)

って感じで。結構破産しないんですよ。胴元。
じゃあ、これ、胴元的に……どの辺が最適な掛け金になるんでしょうかね……

で、色々数値を変えて試したんですが、まあ……1円は論外として、基本10未満は比較的すぐ負けるんです。
でも、12~3辺りからだんだんこう……揚力が増していって、
15オーバー、だいたい17~8になるとヤバイ感じです。
(計算力的に。この辺はRubyだと力不足で、C++でやっちゃいましたが)
グラフ書くと分かるんですが、だいたい14辺りで、短期的に±が釣り合う感じになってきます。
この辺、数式的に裏付け取りたかったんだけど……今回はお手上げ。
(どうも確率統計は苦手でねぇ……(苦笑))

なので、現実的に20も入れてもらえば、胴元って十分うまみが出てくるんですよね。
でも、考えてみれば……20のバックですら、5連勝しないと客にはうまみがないわけで、結構微妙というか……

さらに、繰り返し試してると分かるんですが、結局これって客に一人30連勝!とかって人が来ると即破産するわけです。
どんなに掛け金が高くても。(億ならともかく)
要するに、これ、胴元が賭博師と同じ立場になっちゃうんですね。
普通の賭博は、平均的に勝ち負けがある訳なので、短期的に連勝する客(100万$キッドみたいなw)がいても、
そのうち挽回できる筈なんですが、この賭博はやればやるほど期待値が上がる(胴元的には下がる)のでそうはいきません。
このパラドックスの本質はそこにあって、ウィキペにあるように、回数を決めて売ればいいジャン、といっても、
次売るときは前回の回数を上乗せして掛け金を決める必要がある、すなわち客から見て明らかに不条理な設定が必要になるわけです。

とは言っても、上に書いたように、もしたとえば掛け金が20とかでいいなら、「平均的に」胴元が破産するまでものすごく時間が掛かります。
(試してみたら……かなりばらつきがあるのでアレですが、だいたい150億回くらい黒字のまま賭けが成立してました)
もっとも、「平均」っていっても、ばらつきは正規分布とかじゃないので、運が悪いと即死になりますが。

なので、早い内に100万$キッドが出現したときのために、胴元が少し所持金を貯めて開始するといい感じになります。
たとえば……1万円くらい最初に所持金があれば、100$キッドは無理でも、数連勝くらいは回避できるので、平均値が
かなり上乗せできます。
(といいつつ、掛け金10のときに6万回→18万回ってレベルですが)

まあ、1億プッシュ!とかの話を見ていると、もっと低い金額で(現実的な賭けの回数では)もうけが出るので
なんか胴元おいしそうに感じるのですが、実際は低い掛け金では胴元の利益がなかなか上昇しないので、結構根気が
必要になっちゃうんですよね……
(掛け金20じゃ1万回やってやっと20万円……)
で、掛け金・賞金を100倍とかにする手もありますが、そうすると今度即死回避の所持金も100倍必要で、結構痛かったり。

とかなりバランスの悪い賭けなのですが、でも……ソシャゲのゲーム内ルーレットとかなら、賭けの回数とかいろんな意味で成立するんじゃないかな……って気がしてなかなか微妙な気分です。
(結果には責任もてませんがw)

てことで、何が言いたいかというと……繰り返しになりますが、Rubyサイコー!って事でw
いや、ホント。数学の授業でスクリプト使うと、少し楽しくなると思いますよ。(円周率も簡単に求まるし……)
もっとも、スクリプトを学ぶ必要が出てきますが……orz

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。