• 検索結果がありません。

計算科学☆演習 II プチテスト

N/A
N/A
Protected

Academic year: 2021

シェア "計算科学☆演習 II プチテスト"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)

計算科学☆演習 II プチテスト

樋口さぶろお

1

配布

: 2014-05-16 Fri

更新

: Time-stamp: ”2014-05-22 Thu 13:20 JST hig”

プチテスト参加案内

1.

指定された用紙に解答しよう

.

2.

過程も答えよう. 最終的な答えが正しいことがわかるような過程を記そう.

3.

問題文に現れない記号を使うときは

,

定義を記そう

.

1

以下は

,

確率変数

X

のサンプルである

.

2,0,2,2,2,2

1.

標本平均値を求めよう

. 2.

標本不偏分散を求めよう.

3.

標本標準偏差を求めよう

.

2

以下は

,

確率変数

X

のサンプルである

.

2,0,2,2,2,2

1.

標本期待値

X3

を求めよう

.

2.

条件

eX 1

が成立する確率を推定しよう.

3

確率変数

R

R =2

を確率

2

5

R = +2

を確率

3

5

で とる

.

1.

母平均値

E(R)

を求めよう

. 2.

母分散

V(R)

を求めよう.

3.

母標準偏差

σR

を求めよう

.

1Copyright c2014 Saburo HIGUCHI. All rights reserved.

, http://hig3.net(講義のページもここからたどれます),

へや

:1

号館

5

502

1

(2)

4

確率変数

R

は,

R =2

を確率

2

5

R = +2

を確率

3

5

で とる

.

1.

母期待値

E(R3−R)

を求めよう

.

2.

条件

R3+R2+ 1 <0

が満たされる確率を求めよう.

5

ランダムウォークの時刻

t

の座標

X(t)

の次の数列を考える.

X(t+ 1) =X(t) +R(t+ 1), X(0) = 0.

ただし,

R(t+ 1)

は独立で同じ分布に従う確率変数で,

R(t+ 1) =2

を確率

1

3

R(t+ 1) = +4

を確率

2

3

の値をとる

.

このとき

E(R(t+ 1)) = +2,V(R(t+ 1)) = 8

である

. 1.

時刻

T = 100

における座標

X(T)

の母平均値を求めよう

. 2.

時刻

T = 100

における座標

X(T)

の母標準偏差を求めよう.

3.

時刻

T = 2

における

(X(T))2

の母期待値を求めよう

.

6

過程不要

標本抽出と推定について

,

正しい文の番号をすべて答えよう

. 1.

母平均値は, 標本平均値の推定値である.

2.

標本平均値は

,

一般に

,

標本抽出のたびに変化する

3.

標本

(

不偏

)

分散は

,

母分散の推定値であり

,

両者は必ずしも等しいわけではない

4.

標本平均値は, 一般に, 母平均値に等しい

5.

母分布が与えられたとき

,

標本のサイズ

(

サンプルサイズ

)

は定まっている

7

次の

2

つのプログラムは

,

サイコロを振ったときに目の数

R

R2 3

が成立する確 率を確率シミュレーションで推定するプログラムを書こうとして, 微妙に間違ったもの である

.

シードを適当に選んで与えたとき

.

2

(3)

2.

誤プログラム

2

はどのような動作をするか

確率…で

(

または

,

必ず

),

(

に近い値

)

を出力する

,

などのように答えよう

.

ソースコード

1:

誤プログラム

1

1 # i n c l u d e < s t d i o . h >

2 # i n c l u d e < s t d l i b . h >

3

4 int g e t r a n d o m ();

5

6 int m a i n (){

7 int n ;

8 int n m a x = 6 0 0 0 0 ;

9 int s e e d ;

10 int r ;

11 int c o u n t =0;

12

13 s c a n f ( " % d " ,& s e e d );

14 for ( n =0; n < n m a x ; n + + ) {

15 s r a n d ( s e e d );/

位 置 違 う

/

16 r = g e t r a n d o m ();

17 if ( r * r < = 3 ) {

18 c o u n t ++;

19 }

20 p r i n t f ;/

c o u n t

÷

n m a x

出 力

/

21 }

22 r e t u r n 0;

23 }

24 int g e t r a n d o m ();

25 / r a n d ( )

を 使 っ て

1 , . . , 6

1 / 6

で 返 す

/

26 r e t u r n

そ れ な り の 定 義

;

27 }

ソースコード

2:

誤プログラム

2

1 # i n c l u d e < s t d i o . h >

2 # i n c l u d e < s t d l i b . h >

3

4 int g e t r a n d o m ();

5

6 int m a i n (){

7 int n ;

8 int n m a x = 6 0 0 0 0 ;

9 int s e e d ;

10 int r ;

11 int c o u n t =0;

12

13 s c a n f ( " % d " ,& s e e d );

14 s r a n d ( s e e d ); /

位 置 違 う

/

15 for ( n =0; n < n m a x ; n + + ) {

16 / r=g e t r a n d o m ( ) ; /

17 if ( g e t r a n d o m ()* g e t r a n d o m () <=3){

18 c o u n t ++;

19 }

20 p r i n t f ;/

c o u n t

÷

n m a x

出 力

/

21 }

22 r e t u r n 0;

23 }

24 int g e t r a n d o m ();

25 / r a n d ( )

を 使 っ て

1 , . . , 6

1 / 6

で 返 す

/

26 r e t u r n

そ れ な り の 定 義

;

27 }

8

過程不要

次の数列で定まるランダムウォークの座標

X(t)

を考える.

R(t+ 1)

は独立同分布に 従う確率変数である

.

X(t+ 1) =X(t) +R(t+ 1), X(0) = 5

X(T)

のサイズ

N

のサンプルを出力するプログラムを書きたい. ここで, seed の設定 は省いて書いている

.

次の文を入れるべき空欄を

, a – g

から選ぼう

.

1. x=5;

2. x+=getrandom();

3. printf("%d\n",x);

4. t=0;t<tmax;t++

5. n=0;n<nmax;n++

3

(4)

1 d o u b l e g e t r a n d o m ();

2

3 int m a i n (){

4 int n m a x =

そ れ な り

; /

サ ン プ ル サ イ ズ

N/

5 int n ;

6 int t m a x =

そ れ な り

; /

最 終 時 刻

T/

7 int t ; /

時刻

/

8 int x ; /

ランダムウォーカーの座標

/

9

10 a

11 for ( b ){

12 c

13 for ( d ){

14 e

15 }

16 f

17 }

18 g

19 r e t u r n 0;

20 }

21

22 d o u b l e g e t r a n d o m (){

23 r e t u r n

そ れ な り の 定 義

; /

確率変数

R/

24 }

9

過程不要

確率変数

X

. X ×eX > 2

を満たす確率をサンプルサイズ

nmax

の標本を抽出し て, 推定された確率を出力するプログラムを完成させよう. 空欄 の中には, 0 行,1 行, ま たは複数行のコードを書くこと

.

double getrandom()

X

を返す

(

ランダムウォークではない

!)

なお, seed の設定は省略しており, 空欄に書かなくてよい.

25 d o u b l e g e t r a n d o m ();

26

27 int m a i n (){

28 int n m a x =

そ れ な り

; /

サ ン プ ル サ イ ズ

/

29 int n ;

30 1 /

必 要 な ら 追 加 の 変 数 宣 言 も こ こ で

. /

31 for ( n =0; n < n m a x ; n + + ) {

32 2

33 }

34 3 /

推定された確率の出力はここでやって

/

35 r e t u r n 0;

36 }

37

38 d o u b l e g e t r a n d o m (){

39 r e t u r n

何 か そ れ な り の 定 義

;

40 }

4

(5)

計算科学☆演習 II プチテスト略解

樋口さぶろお

2

配布

: 2014-05-16 Fri

更新

: Time-stamp: ”2014-05-22 Thu 13:20 JST hig”

これは, 一部の過程のみ記した略解です. プチテストで, 受講者はすべての過程を記す 必要があります

.

返却答案で記法

×

N:NG

ワード

/

アイデア

×ぷ

:

過程なし

×か:考え方の誤り

×き

:

記号の誤り

×け

:

計算ミス

1

1. X = 16(2 + 0 + 2 + 2 + 2 + 2) = 1.

2. s2X = 611((21)2+ (01)2+ (21)2+ (21)2+ (21)2 + (21)2) = 145. 3. sX =

14 5.

配点

1,2,3:

5

,

15

.

分散の分母が

5

である誤りは

3

.

2

1. X3 = 16((2)3+ 03+ 03+ 23+ 23+ 23+ 23) = 4.

2. 1条件(X) = 16(1 + 1 + 0 + 0 + 0 + 0) = 13.

配点

1,2:各5

点, 計

10

点.

3

1. E(R) = 25 2. V(R) = 9625. 3. σR= 456.

配点

1,2,3:

5

,

15

.

2Copyright c 2014 Saburo HIGUCHI. All rights reserved.

, http://hig3.net(講義のページもここからたどれます),

へや

:1

号館

5

502.

(6)

4

1. E(R3−R) = E(R3)E(R) = 85 25 = 65 2. 25 ·1 + 35 ·0 = 25.

配点

1,2:各5

点, 計

10

点.

5

1. 100·2 = 200.

2.

100·8 = 20 2.

3. (13)2 ·(22)2+ 2· 1323 ·(2 + 4)2+ (23)2·(4 + 4)2 = 32.

配点

1,2,3:

5

,

15

.

講評

1

で, 母平均値って言ってるのに,

X(T) = · · ·

って計算してる答案がけっこうあ りました

. E

の意味わかってる〜

?

2

,

母標準偏差って言ってるのに

V(E(T))

求めて終わってる答案がけっこうありま した. 過去問題そんなのりだった〜?

3

, 2E(X(1)2)

求めてる答案がけっこうありました

.

素直に計算しようよ〜 独立同分 布の

R

によるランダムウォークの母平均値と母分散だけは特別にいい性質あるんだよ

. 3

, (E(X(2)))2

求めてる答案がけっこうありました

.

素直に計算しようよ〜 もし確 率

1/2

ずつで

R=±1

だったら

,E(X(2)) = 0

だけど

E(X(2))2 >0

だからそんなの成り 立たないじゃん

.

6

2,3

配点

1

点, 計

5

点.

7

正しくプログラムを書けば

,r= 1

のときだけ成立するので

, 1

個目の

0

または

1/60000

からだんだん増加していって,

nmax

個目には

1/6 = 0.167

に近い値が出力される.

1. for

ループの中で乱数が毎回

seed

によってリセットされるので

,

入力した

seed

に応

じて最初に

1,2,3, . . . ,6

のうち

1

つが選ばれ

,

毎回必ずその

r

が使われる

.

これが

r= 1

だったときに限って条件は成立するので,

確率

5/6

0,0,0, . . . ,0

確率

1/6

1/60000,2/60000,· · · ,60000/60000 = 1

が出力される

. 6

(7)

(1,1),(1,2),(1,3),(2,1),(3,1)

のときに限って条件は成立するので

, 5/36 = 0.139

に近い値が出力される

.

したがって

, 1

個目の

0

または

1/60000

からだんだん増加 していって,

nmax

個目には

0.139

に近い値が表示される.

配点

5

,

10

.

出力される値と確率に触れず

,

誤りであることのみを説明して いるものは

4

点.

講評 授業でよくやっていたプログラムでは

, printf

n

に関する

loop

の外において

,

このプログラムでいう

nmax

回目の出力

,

すなわち確率の推定値だけを出力していたので した. 出力のその部分についてだけ述べるなら, 次のような解答になります. これも正解 にしています

.

1. for

ループの中で乱数が毎回

seed

によってリセットされるので

,

入力した

seed

に応

じて最初に

1,2,3, . . . ,6

のうち

1

つが選ばれ, 毎回必ずその

r

が使われる. これが

r= 1

だったときに限って条件は成立するので

,

確率

5/6

0.0,

確率

1/6

1.0

が 出力される

.

2.

サンプルのデータ

1

つあたり

, getrandom()

2

回呼ばれる

.

返り値が

(r1, r2) = (1,1),(1,2),(1,3),(2,1),(3,1)

のときに限って条件は成立するので

, 5/36 = 0.139

に近い値が出力される

.

8

1. c 2. e 3. f 4. d 5. b

配点

1

,

5

.

9

1. double x; int count=0;

2. x=getrandom();

if(x*exp(-x)>2){ count++;}

3. printf("%f\n",(double)count/nmax);

配点

5

,

15

. getrandom()

double

を返す場合は

,

返り値を

double

の変数 に記憶しなきゃいけないけど

,

そういうケースはまだやってなかったので

,

この点の誤り は減点してません.

7

参照

関連したドキュメント

明治33年8月,小学校令が改正され,それま で,国語科関係では,読書,作文,習字の三教

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.

子どもの学習従事時間を Fig.1 に示した。BL 期には学習への注意喚起が 2 回あり,強 化子があっても学習従事時間が 30

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

父親が入会されることも多くなっています。月に 1 回の頻度で、交流会を SEED テラスに

当初申請時において計画されている(又は基準年度より後の年度において既に実施さ

ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.