参加型ナゾトキサイト『クイズ大陸』で、脳トレをどうぞ!
FAQ
RSS
@quiz_tairikuさんをフォロー
ホーム
新着問題
クイズ一覧
メッセ
wiki
ツイート
シェア
最適な棒切れの長さ
難易度:
Bonn
2006/07/12 14:56
3次元空間が、一定幅aの格子で仕切られているものとし、
仕切られた立方体の空間を「格子ボックス」と呼ぶものとします。
いま、この格子空間に、長さxの棒切れを無作為に置くとき、
棒切れの端が、それぞれ隣合う格子ボックスのなかにある確率が最も高くなるような
棒切れの長さxをもとめよ。
解答は返信中にあるかも。答えがわかっり、誰かに解いて欲しいときは右上の
から教えてね
回答募集は終了しました。
▲
△
▽
▼
No.2
t.
2006/08/05 01:30
ビュフォンの針みたいな感じかな…
む、むずい
▲
△
▽
▼
No.3
ふう
2006/08/06 11:37
僕もずっと考えていました。
高校生ですし空間なんてろくに扱えないんですが、僕なりの考えでは
x=a
だと思います、多分。
まだまだ要熟考…
▲
△
▽
▼
No.4
tamara
2006/08/17 01:55
a√3かな。
確か、ビュッフォンの針って積分計算で確率を出すやつですよね…
▲
△
▽
▼
No.5
Bonn
2006/08/22 19:16
出題者です。
みなさんご回答ありがとうございます。
ん~、やっぱり難しいですか。
実は当初私が考えていた命題はもう少し複雑でして、隣合う格子ボックスに入るかどうかを調べる点は、棒切れの端点だけでなく、棒切れに等間隔dでマークされた端点を含む4点なのです。
「ビュッフォンの針」の拡張でいけるかなぁ?
▲
△
▽
▼
No.6
Another World
2006/08/29 13:47
a√3 - a でしょうか。
感覚的に 1 以上になると思っていましたが、そうではないようですね。
▲
△
▽
▼
No.7
Bonn
2006/08/30 09:28
Another Worldさん、回答ありがとうございます。
ビュッフォンの針の問題はご存知でしょうか。
ビュッフォンの針の問題では、
針の長さlが平行線の間隔aよりも短いとき
針が平行線と交わる確率は2*l/a/πとなります。
また、この問題を拡張して、
針の長さlが平行線の間隔aよりも長いときは、
2*(l+a*arccos(a/l)-sqr(l^2-a^2))/a/πとなります。ここでacosはcosの逆関数、sqrは()内の平方根を表します。
本問はこのようにまず場合を分けて確率を求める必要があるような気がします。
ビュッフォンの針の問題では、単純に平行線があるだけですが、本問は3次元格子です。
一次元格子での考え方(ビュッフォンの針と同じで、確率を面積比で捉えます)を二次元格子に拡張すると、確率は体積比で捉えることになります。
では、三次元格子(本問)ではどうなるかといえば、そのまま延長して、4次元体積比を捉えなければならないことになります。相当難しいです。
これが私の現在の考えですが、Another Worldさんの
お考えになった方法を具体的に教えていただけませんか。
よろしくお願いします。
▲
△
▽
▼
No.8
Another World
2006/08/30 10:17
シミュレーションを繰り返して確率を求めました。
ビュフォンの針や積分計算は、それが何なのかすら分かりません。
1.擬似空間にランダムで始点決定
2.始点から長さxの位置に、ランダムで終点決定
3.始点と終点の座標を、格子空間単位に変換
4.隣接判定
1~4を繰り返して近似値を求めています。
あとは、長さを変えながら各長さにおける確率を採取し、
最も大きい値を出したときの値から、答えを推測しています。
ちなみに、x=0.73aの時、 隣接する確率は50.6%ぐらいでした。
ビュフォンの針と積分計算については、これから調べてみます。
▲
△
▽
▼
No.9
Bonn
2006/08/31 09:55
たびたびのご意見感謝いたします。
「実験」してみるというのは、おそらくグッドアイデアではないかと私も思います。
Another Worldさんの実験方法をご紹介いただきましたが、大筋でその実験方法は正しいと思います。
ただし、問題は試行回数と隣接判定です。
説明には試行回数についての記述がありませんので、なんともいえませんが、どれだけの試行で有意な結果が得られるかが分からないと、その結果に対する正しい評価はできません。
次に、隣接判定ですが、問題文に正確に書かなかった私がいけないのですが、本問における「隣接」とは、「27近傍」つまり斜めの位置にある格子も隣接する、と判断するものとしてください。
試行回数については、おそらく、
始点と終点が十分に一様に分布しているといえるかどうかが肝になると思います。
ちょっと私も実験してみたいと思います。
▲
△
▽
▼
No.10
Another World
2006/08/31 12:18
「隣接」の解釈が違ってましたね。
上下左右前後の 6 ブロックのみと考えていました。
なので、とりあえず再試行。
長さ 0.01 刻みで 300 万回ずつやり直しました。
ですが、この程度の試行回数では、
隣接確率96.6%前後(1.121 ~ 1.145)から絞りきれず。
さらに精度を上げるとなると、もう一工夫必要になりそうです。
(今のやり方では、試行回数を 10 倍しても精度はそれほど上がらない。)
また、別方向で数式の方も考え中。
調べてみたところ、積分計算はいまいち理解できず。
とりあえず、理解しやすいビュフォンの針の発展で考え中です。
といっても、二次元で考え方を固めてから、三次元以上に挑戦するので、時間がかかりますね。
▲
△
▽
▼
No.11
Bonn
2006/08/31 19:21
Another Worldさん、す、すばやいレスですね。
300万回とは、すごいですね。数万回程度を想定していました。
さて、私の方も実験してみました(といっても表計算ソフトで、ですが)。
こちらは、表計算ソフトの限界で、35000回程度の試行しかできていませんが、おおよそ格子幅の1.1~1.35倍程度がもっとも確率が高くなるという結果を得ました。試行回数を鑑みれば大体一致と考えられる値ですね。(よかった)
さて、そちらはスーパーなプログラムがあるようなので、お願いしたいことがあります。
試行をもっと条件を絞り込んで高密度に行うことはできませんか。
たとえば、まず、
長さについては、おおよその範囲が分かりましたので、その範囲のみを集中的に試行する。
また、終点の位置については、始点位置を基準とした対象性から、終点は始点より各軸正方向にのみ存在するということにすれば、試行回数は8分の1になるはずです。いまは確率の最大値のみを知ればよいのでそれで問題ないはずです。
解析解のほうは、もうご存知かもしれませんが、
http://www.h6.dion.ne.jp/~hsbook_a/ch_15.pdf
のビュッフォンの針の項や
http://www.junko-k.com/jyoho/simulation/flash-buffon.htm
が分かりやすいかと思います。
▲
△
▽
▼
No.12
Another World
2006/09/04 23:09
何気に多忙になっている今日この頃
そんな大したコーディングでもないという事と、
ミスがある可能性もあるという事で、ソースを晒します。
=====
For x = 1.1 To 1.3 Step 0.02
lngCount = 0
For i = 1 To lngTotal
'-- 始点決定
px1 = Rnd: py1 = Rnd: pz1 = Rnd
'-- 終点決定
px2 = px1 + (Rnd * x)
pxd = px2 - px1
py2 = py1 + (Rnd * Sqr((x ^ 2) - (pxd ^ 2)))
pyd = py2 - py1
l = Sqr((pxd ^ 2) + (pyd ^ 2))
pz2 = IIf(x - l = 0, pz1, pz1 + Sqr((x ^ 2) - (l ^ 2)))
'-- 座標変換
px2 = Int(px2): py2 = Int(py2): pz2 = Int(pz2)
If (px2 Or py2 Or pz2 = 1) Then
lngCount = lngCount + 1
End If
Next i
'-- 結果出力
Debug.Print x & " : " & Format$(lngCount / lngTotal, "00.0000%")
Next x
=====
変数については、座標関連とxは倍精度浮動小数点です。
寝る前に動かしてサンプルをとるという方法もありますが、
その前に少しずつ範囲を狭める作業があるので、また後日。
もし、可能であれば、どなたかお願いします。
▲
△
▽
▼
No.13
ぺんぎん
2006/09/22 16:15
このクイズのヒント
ヒント知らないよ
このクイズの参加者(5人)
t.
□
ふう
□
tamara
□
Another World
□
□
□
□
ぺんぎん
□
ジャンル・キーワード
算数・数学クイズ
算数・数学クイズ
携帯用ページ
携帯電話のQRコード読み取り機能でこのページを見られます。
広告
お買い物は下記のリンクからどうぞ
楽天市場はこちらから
Amazonはこちらから
広告
広告
クイズ大陸関連書籍