平成22年2月14日
[流れ星]
第236回数学的な応募問題解答
<解答募集期間:1月24日〜2月14日
[確率は面積比(3)]
皆さん、場合の数が無数にある確率の問題を考えたことがありますか。
ここで、問題です。
床一面に等間隔な平行線群がひかれています。いま、1本の針を任意に床上に落とすとき、
針が平行線の1つと交わる確率を求めよ。ただし、平行線の間隔を4、針の長さを2とする。
注:ビフォンの針という問題です。
ヒント:針の中点から一番近い平行線と交わる条件を考えてみる。
NO1「uchinyan」 01/24 14時19分受信
「uchinyan」 01/26 14時42分受信
「uchinyan」 01/26 21時52分受信
更新2/14
第236回数学的な応募問題
[確率は面積比(3)]
手間は同じなので,平行線の間隔を d,針の長さを
L,ただし,d > L > 0,として考えてしまいましょう。
針の中点から針に最も近い平行線へ下ろした垂線の長さを h,この垂線と針のなす角度をθとします。
すると,対称性から,0 <= h <= d/2,0 <= θ <=
π/2 を考えれば十分です。
そして,針が平行線と交わるのは,h <= L/2 * cosθ です。
そこで,(h,θ) 座標系で表してみると,d/2 > L/2 >= L/2 * cosθ より,
全体は (0,0),(π/2,0),(π/2,d/2),(0,d/2) を頂点とする長方形
針が平行線と交わるのは 0 <= θ <= π/2 及び 0 <= h <= L/2 * cosθ となる領域
になります。
ここで,すべての点 (h,θ) は等確率と考えられるので,求める確率は領域の面積に比例します。
そこで,
針が平行線の一つと交わる確率 = ∫[θ=0,π/2]{L/2 * cosθ}dθ/(π/2 *
d/2) = 2L/πd
になります。
この問題では,d = 4,L = 2 なので,1/π =
0.3183... ですね。
(考察1)
0 < d <= L の場合は,d/2 = L/2 *
cosθ となる場合があるので,cosα = d/L
とすると,
全体は (0,0),(π/2,0),(π/2,d/2),(0,d/2) を頂点とする長方形
針が平行線と交わるのは
((0 <= θ <= α) 及び (0 <= h <= d/2)) 又は ((α <= θ <=
π/2) 及び (0 <= h <= L/2 * cosθ)
となる領域
になります。そこで,
針が平行線の一つと交わる確率
= (α * d/2
+ ∫[θ=α,π/2]{L/2 * cosθ}dθ)/(π/2 *
d/2)
= 2(αd +
L(1 - sinα))/πd
= 2L/πd + 1
- 2/πd * ((π/2 - α)d + L
* sinα)
= 2L/πd + 1
- 2/πd * (d * arcsin(d/L) + sqrt(L^2 -
d^2))
となるようです。
(考察2)
明らかだと思いますが,対称性を考慮せずに,単に,
針の中点が平行線の間又は線上にあり,中点と固定された一方の平行線との距離を h,
その平行線と針又はその延長のなす角度をθとした場合でも考えておきましょう。
この場合は,0 <= h <= d,0
<= θ <=
π を考えることになります。
そして,針が平行線と交わるのは,h <= L/2 * sinθ 又は d <= h + L/2 * sinθ です。
そこで,(h,θ) 座標系で表してみると,d/2 > L/2 >= L/2 *
sinθ より,
全体は (0,0),(π,0),(π,d),(0,d) を頂点とする長方形
針が平行線と交わるのは
0 <= θ <= π 及び ((0 <= h <= L/2 * sinθ) 又は (d/2 < d - L/2 * sinθ <= h <= d)
となる領域
になります。
ここで,すべての点 (h,θ) は等確率と考えられるので,求める確率は領域の面積に比例します。
そこで,
針が平行線の一つと交わる確率
= (∫[θ=0,π]{L/2
* sinθ}dθ + ∫[θ=0,π]{d -
(d - L/2 * sinθ)}dθ)/(π * d)
= (2 * ∫[θ=0,π]{L/2
* sinθ}dθ)/(πd)
= 2L/πd
になります。当然ですが,同じ結果を得ます。
(考察3)
計算結果からして,実際に針を落とす実験をして,近似的にπを求める手法として使えます。
本当は実際にやってみる方がいいのですが,ここでは,プログラムでシミュレートしてみましょう。
ただ,プログラムで三角関数を使うと,内部的に弧度法でπを使っている可能性が高いので,
πを使ってπを計算するというナンセンスなプログラムになってしまいます。
そこで,針と平行線のなす角度θを,平行線とそれに垂直な方向の傾きで表現する,
という手法をとってみました。
この場合,針の中点と一方の端点の位置の座標を,
まず,0 〜 d/2 の範囲で乱数を発生させて中点の位置 h を決め,
次に,中点を (0,0) として,0 〜 L/2 の範囲で乱数を発生させて端点の x 座標を決め,
y = sqrt((L/2)^2 - x^2) で端点の y 座標を決める,
とすればいいのですが,このままでは,傾き = 角度方向,の発生確率が一様になりません。
x = L/2 * cosθ より dx/dθ = -
L/2 * sinθ = -
L/2 * y/L = - y/2 なので,
θ 〜 θ + dθ の分布に対して x 〜 x
+ dx の分布は 1:(2/y) の比になります。
つまり,2/y の重みがつきます。
そこで,これを補正するために 2/y の重みをつけて事象をカウントしてみました。
その結果の十進ベーシックでのプログラムと,シミュレーション結果が次のとおりです。
10,000,000 = 1000 万回の試行を 10 回行い,平均を取っています。
RANDOMIZE
LET m = 10
LET n = 10000000
LET d = 4
LET L = 2
LET s = 0
FOR k = 1 TO m
LET c = 0
LET w = 0
FOR i = 1 TO n
LET h = RND * d/2
LET x = RND * L/2
LET y = SQR((L/2)^2 -x^2)
IF y >= h THEN
LET c = c + 2/y
END IF
LET w = w + 2/y
REM IF MOD (i,1000) = 0 THEN
REM PRINT i; 2 * L/d *
w/c
REM END IF
NEXT i
LET t = 2 * L/d * w/c
LET s = s + t
PRINT t
NEXT k
PRINT "平均"; s/m
END
3.14118583801628
3.14678237919597
3.14101464940287
3.14096585980993
3.14088210257434
3.14106006048444
3.14197668355961
3.14102708383091
3.13884511593518
3.14007985274632
平均 3.14138196255558
これを見ると,実際のπの値 3.14159... に,ほぼ近い値が得られています。
なお,重みは,結果には,分母,分子の両方に現れるので,実は,1/y で評価しても十分ですね。
(感想)
これは有名な問題ですね。知っていました。
プログラムのシミュレーションで,角度方向に一様な乱数をどう発生させ,三角関数を使わずに行うか,
結構苦労しました。でも,まぁ,なんとかできたようです。
もっとも,乱数の発生にπを使っていたらダメですが...(^^;
<お詫び:上の解答は2月14日夜7時に更新しました。
これ以前は、私の不手際で01/26 14時42分受信
を載せてしまいました。大変迷惑をおかけしましたことを深くお詫び申し上げます。>
No2「スモークマン」 01/28 19時53分受信
「スモークマン」 01/30 00時01分受信更新2/14
回答
針は、半径1の円を回転する確率は均等。
そのとき、平行線に垂直な距離を考える。
明らかに...2*sinθ・・・0≦θ≦π/2
2*sinθ の平均値は...
∫[0~π/2] 2sinθ dθ=[-2cosθ]・・・[0~π/2]
=0+2
から...平均値は...2/(π/2)=4/π となり、
長さ2の針が幅4の平行線と交わる確率は...
平行線の幅の4が分母で、針の長さ 2sinθの平均値 2/(π/2)=4/π が分子だから
(4/π)/4=1/π
♪
たしか...ビュフォンの針の確率のシミュレーションでπの値を求める話の記憶ある
ので... こんな感じでよさそうかな...^^
No3「kashiwagi」
01/28 20時45分受信 更新2/14
236回
平行線の間隔を2H、針の長さを2Lとする。題意よりL<Hである。
今、針を落とした時、針の中点Mから最も近い平行線までの距離をXとし、平行線と直交する直線と針の角度をθとする。
即ち、右のような関係となる。
因って、
0≦X≦H ・・・・・@
0≦θ≦π/2 ・・・・・A
これら@およびAよりXとθの
存在範囲は黄色の部分、πH/2
ところで針が交わるには図より
X≦L・cosθ ・・・・B
つまり、その存在範囲は
Xをdθで積分したもので
ある。
その面積をSとすると、
となる。
因って、求める確率は L/(πH/2)となる。ここで、H=2、L=1を代入し、1/πとなる。
No4「再出発」 02/07 14時02分受信 更新2/14
第236回の答案を送ります。
ヒントにある「針の中点から・・・」とはちょっとだけ違います。
[解答]
図のように針が平行線となす角をφとするとき平行線L1、L2・・・が針と交わるのは
線分ACのうち線分BCを通るとき。
つまり、長さで4のうち|2sinφ|となり、
「針を任意に落とす」ので平行線は線分AC上に一様に存在するから
偏角φのときの平行線と交わる確率は
BC/AC = |2sinφ|/4
であり、対称性を考えると
0≦φ≦π/2
で考えるだけで十分なので、その範囲での面積比を計算します。
図の緑の部分は
2∫[0,π/2]sinθdθ = 2
全体の部分は
4×π/2 = 2π
よって求める確率は
2 / 2π = 1 / π ・・・(答)
<コメント:再出発>
通常は針を動かすのだろうと思いますが、この答案では平行線を動かしてみました。
その方が説明しやすかったから、だけの理由ですが。
皆さん、答えがわかったら、一部でも構いませんから、解答とペンネームを添えて、
メールで送ってください。待っています。