コイントスで確率1/3の事象を作る話だったはずの何か
任意の枚数のコインを使って,確率1/3の事象を作り出すにはどうすれば良いか考えていたけど思いつかなかったので悲しい.
2013-07-01 00:08:01@Cryolite "[裏裏]以外が出るまで2枚投げを繰り返したときに[表表]が出る"とかってダメなのですか(問題をうまく認識できていない)
2013-07-01 00:16:57@Cryolite 2枚?コインを振って、裏裏になる確率。ただし、表表の時はふりなおす?等比級数ちゃんとといて確かめてないけど、三分の一になるきがする
2013-07-01 00:28:13う,ぐ,ぎょ……4つのうちの1つを棄却してサンプル取れば良いだけじゃないか……どうしてこんなことも思いつけなかったのか……(問題に対する解法が分からなくて悲しかったのに,解法が分かったのに悲しみが増した事例)
2013-07-01 00:41:34しかし,棄却してうまくいくの,直観的には当たり前だけど,なんでこれ当たり前のように正しいんだ気持ち悪い…….(https://t.co/Gq3ZBqzvQv と似たような気持ち悪さ)
2013-07-01 00:47:31さっきの議論で,任意の枚数のコインを使って0以上1以下の任意の有理数確率を持つ事象は設計できることが分かったけれど,こうなると当然0以上1以下の任意の実数確率を持つ事象が設計できるのかどうかが気になって夜も眠れず,人生も棒に振る.
2013-07-01 01:04:17@Cryolite 二進数展開してコインの01の列が目的の値以下になるのが確定するまで投げれば同じことなので、結局割り切れないと1/3と同様に無限回の試行が必要なんじゃないかな
2013-07-01 01:09:27あー……うーん……さっきの1/3のも無限回の試行が要るのか…….「任意の枚数のコインを使って確率Pの事象を設計する」ということの意味をちゃんと定義しないとダメですね……うーん……うーん…….
2013-07-01 01:14:36@Cryolite 無限試行で出来そうです。[0,1]数直線上に真となる確率Pを配置して、 1,コインが表なら数直線の前半分、裏なら後ろ半分を残す 2,残した部分にPが含まれていれば、残した部分で1を繰り返す これにより、最後に破棄したのが前半分なら真、後ろ部分なら偽です。
2013-07-01 01:20:46うーん……「A か B か C かを選ぶ」というくじ引きゲームがあったので,無作為に選ぶべく手元に同様に確からしい事象を生成できるモノが無いか探したら財布しかなかったのでさっきのようなことを考えていただけなのに,どうして,夜も眠れず人生までも棒に振る事態に陥ってしまうのか…….
2013-07-01 01:21:520以上1以下の任意の有理数確率を持つ事象は高々有限回(almost surely)のコイントスだけで済むようにできる……うーむ……?
2013-07-01 01:31:14@Cryolite それをちゃんと定式化するには、Markov time τが存在して、τ<∞ a.s. でほにゃららみたいな感じにするしかないと思われる
2013-07-01 01:37:30.@Cryolite 2項分布に従うだけで有限会ではδ関数みたいにとがらない + 有理数は稠密だから任意の範囲に必ず値があるのでダメでは?
2013-07-01 01:53:13人間を Leo Breiman の "Probability" で殴り続ければ,0か1かという,デジタル思考人間の甘えた根性を叩き直し,本来の,情緒豊かで人間らしいアナログ思考が形成される.
2013-07-01 09:08:16任意枚数のコインから 1/n の確率の事象を作り出す問題って、ランダムなビット列を出力する (P)RNG から0以上n未満の整数であるような一様乱数を取り出す問題と同じなので、自分の好きな言語の乱数生成ライブラリを読めば解法が書いてあるはず。
2013-07-01 09:35:32Python だとその部分は random.py の _randbelow() なんですが http://t.co/elLBmBUrUK 普通に ceil(ln(n)) ビットの乱数を生成して要求された値域の外だったら棄却してループするような実装になってますね。
2013-07-01 09:37:16