平成11年5月24日

  [流れ星]

    第16回数学的な応募問題

 <解答募集期間:5月24日〜6月5日>

    [ダーツの期待値]

 

  太郎さんは、先日のゴールデンウイークに、岐阜県大垣市長松にある

電気店パナシーズンの大売り出しに行って来ました。ここで、問題です。

  1. この電気店では、図1のような丸い的でダーツ競技を行っていました。

  中心がOで、半径10の円板が的でして、同心円上に、半径9,8,7,…、2,1

  の円が書いてありました。得点は小さい円環(一番小さいのは円)から順に、10点、

  9点、8点、…、最後は1点でした。この得点分だけ、参加者に賞品がもらえます。

   円板内の点をまったくでたらめに1回選んだときの得点の期待値を求めてください。

    

    


 


  太郎さんは童心にかえって、ダーツ競技を楽しんでいましたが、この電気店にとって、

  賞品の数をどれだけ用意しておいたか、気になってしかたがありません。

 

    皆さんも、考えてください。 


 


   皆さん、答えがわかったら、その答えになる考え方とペンネームを添えて、

  メールで送ってください。待っています。

         

 

   <YokoyaMac>さんからの解答5月24日受信


 ダーツの問題の答えを送ります.

 answer : 3.85

 解法 :

%%%texで書きます.%%%

\begin{document}

k点獲得する確率は,

\[

\frac{(11-k)^2\pi -(10-k)^2\pi }{10^2\pi} = \frac{2k+1}{100}

\]

であるから,求める期待値は,

\[

\sum_{k=1}^{10}k\times \frac{2k+1}{100} = \frac{385}{100} = 3.85

\]

\end{document}

%%%以上です.%%%

 

 <数楽者>さんからの解答5月25日受信


 

第16回数学的な応募問題

 

解答 3.85点

 

解法 一番小さい円の面積を1とする。

最高点を n とする。

得点が n−k+1 である確率は (2k−1)/n^2 である。

(k=1,2,・・・,n)

得点と確率の積和をとれば、得点の期待値が

(n+1)(2n+1)/6n

と求まる。n=10 を代入すれば、3.85になる。

 

 

<浜田 明巳>さんからの解答6月1日受信


第16回数学的な応募問題(ダーツの期待値)解答

 QBASICのプログラムoubo.qbを作成し求めました.内容は次の通りです.

 的を原点中心,半径10の円とします.乱数を使って円内の点(x,y)を求め,原点からの距離dを計算します.0≦d≦1のとき10点,1<d≦2のとき9点,2<d≦3のとき8点,………,9<d≦10のとき1点とします.この試行を1000000(max)回繰り返し,期待値を求めます.

 このプログラムにより,答は,

  3847429/1000000=0.3847429

つまり,0.385となります.

 これは半径n(nは自然数)のときの期待値

  Σ(k=1〜n){n−(k−1)}{πk^2−π(k−1)^2}/(πn^2)

 =(n+1)(2n+1)/(6n)(=Σ(k=1〜n)k^2/n^2)

にn=10を代入した結果の0.385と一致します.

 ちなみに,各点の出た回数は次の通りです.

   1点 189760回

   2点 170482回

   3点 150907回

   4点 129494回

   5点 109687回

   6点  89991回

   7点  69753回

   8点  49890回

   9点  30124回

  10点   9912回

 計算時間は,私のノートパソコンで7時間かかりました.

              浜田 明巳

 

'oubo.qb

SCREEN 12: CLS : RANDOMIZE TIMER

yoko = 640: tate = 400: xcenter = yoko * .5: ycenter = tate * .5: hankei = 10

kakudai = tate / (hankei * 2) * .8: iro0 = 7

max = 1000000!: kaisuu = 0: goukei = 0

DIM ten(hankei): FOR j = 1 TO hankei: ten(j) = 0: NEXT

DEF fnx (x) = xcenter + kakudai * x: DEF fny (y) = ycenter - kakudai * y

FOR j = 1 TO hankei: CIRCLE (fnx(0), fny(0)), kakudai * j, iro0: NEXT

WHILE kaisuu < max AND INKEY$ = "": kaisuu = kaisuu + 1

DO

x = (RND * 2 - 1) * hankei: y = (RND * 2 - 1) * hankei

d = SQR(x * x + y * y)

LOOP WHILE d > hankei

IF d = 0 THEN ten = 10 ELSE ten = 11 + INT(-d)

goukei = goukei + ten: ten(ten) = ten(ten) + 1

PSET (fnx(x), fny(y)), ten

LOCATE 1, 1: PRINT USING "###ten"; ten

PRINT USING "########/#######=###.######"; goukei; kaisuu; goukei / kaisuu

PRINT

FOR j = 1 TO hankei: COLOR j: PRINT USING "###ten:#######kai"; j; ten(j)

NEXT: COLOR iro0

WEND: WHILE INKEY$ <> "": WEND: END

 

PS.添付ファイルはVISUAL BASICで作っており,よけいなことをはぶき,

100000回の施行で終わりますので,1,2分で終わるはずです. 

 

<コメント:水の流れ> VISUAL BASICをホームページに載せる技量をまだ、

身についていませんので、しばらく、お待ちください。

    <自宅>  mizuryu@aqua.ocn.ne.jp

 

 

 最初のページへもどる