2006年04月26日 13:30 [Edit]
コマネチ大学数学科第2講 + javascript hack
前回に引き続き、今回も良問であった。
問題:10分間のモデルショーに、カメラ小僧君は1分だけ撮影の機会が与えられました。でもお目当てのモデルも1分しか登場しません。カメラ小僧がお目当てのモデルを撮影できる確率は?
ここで、カメラ小僧は一回でもシャッターチャンスがあればOK。すなわち0.1秒でもチャンスがあれば成功と見なすわけ。
この問題、タイトルはモンテカルロ法でも、実はそれに頼らずエレガントに解く方法がきちんとあって、マス北野も解き方は正解だったのだけど、計算のところでミスってしまった。今回は女子東大生チームが雪辱を果たした。でも、コマネチ大学生もきちんとモンテカルロ法を実行したのだから何か賞をあげてほしい>薫先生。
30分ヤラセなしの番組としては適切な難易度でもモンテカルロ法の適用例としては、ちょっと易しすぎたかな。これくらいの難易度だと、もう少しモンテカルロ法のありがたみが感じられると思う。
今回もJavaScriptで解答シミュレーターを作ってみた。ただし、前回よりもプログラムの難易度は高い。きっかり30分かかってしまった。各自実行して確かめて頂きたい。腕に覚えのある方はソースを読み解いてほしい。
ところで、「コマネチ大学」でぐぐると、私のページの方が番組ページを抑えてトップに来る。いいのかフジテレビ!?
ちなみにY!Jの方は比較的けれん味のない検索結果。ただしここは「小飼弾」で検索しても本blogが出てこない。検索精度ではまだGoogleに一日の長があるように思う。
Dan the Auditor Thereof
|
追記[2006.04.24]:とりあえず、id:fakufakuさんがIEで動くようにして下さいました。ありがとうございます。ただし、[停止!]がまだきちんと動かないようです。
追記[2006.04.26]:とりあえず、id:fakufakuの解決策をそのまま適用したら、今度はfirefoxとsafariで止まらなくなりました。しかしこのヒントを元に、ボタンを<div>でくるんでそこの中身を全部innerHTMLで書き換えてしまうという方法を見つけました。IEをお使いの方、これで試してみてください。どうせinnerHTMLを書き換えるということで、見せ方も少し工夫してみました。
# でも泥臭杉!
この記事へのトラックバックURL
Dan the Internet Exploder
「小飼さんのプログラムのほうがアナタのプログラムよりも結果表示が美しいわ」と、妻がコメントしておりました(汗)
番組スタッフにもブログで取り上げていただいたことをメールしておきました。(タカさんとは、すでに共演なさっているんですよね?)
IE で「終了!」ボタンが効くようになりました。button の onclick 属性にイベントハンドラを割り振る方法の問題でした。$('button').onclick = run; あるいは = stop; と御変更ください。IE では setAttribute() でイベントハンドラをまともに割り振れないようです。
余談です。この件で自分の日記ブログに続きを書いたのですが、おなじ話題でトラックバックを二度打つのも変かと今回はコメントにしました。こういう場合はトラックバックとコメントとのどちらが良いと思われますか?
2度にわたる修正案、ありがとうございました。
TBですが、SPAM以外であればいくつでも受け付けますよ。私はTBの方が好きです。
Dan the Blogger of Yours