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

樋口さぶろお

N/A
N/A
Protected

Academic year: 2021

シェア "樋口さぶろお"

Copied!
9
0
0

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

全文

(1)

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

樋口さぶろお

*1 配布

: 2011-06-03 Tue

更新

: Time-stamp: ”2011-06-03 Fri 09:47 JST hig”

プチテスト参加案内

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

2. 過程も答えよう . 最終的な答えが正しいことがわかるような過程を記そう . 3. 問題文に現れない記号を使うときは , 定義を記そう .

1

離散的確率変数 S

s = 1 を確率 P = 1/8 で 値 s = 2 を確率 P = 1/4 で 値 s = 3 を確率 P = 5/8

とる .

1. 平均 E(S) を求めよう . 2. 分散 V(S) を求めよう .

3. 期待値 E(sin(

12

Sπ)) を求めよう .

2

連続型確率変数 S は確率密度関数

p(s) = {

1

2

s (0 s < 2)

0 ( それ以外 )

を持つ

(2)

時間 t, 座標 x が整数値のみをとるようなランダムウォークを考える . 時刻 t = 0 に x = 0 を出発し , 各時刻 t に ,

確率

13

x から x + 1 に移動 確率

23

x から x 1 に移動

する .

1. 時刻 t = 5 に , x = 1 にいる確率を求めよう . 2. 時刻 t における座標 X

t

の平均 E(X

t

) を求めよう . 3. 時刻 t における座標 X

t

の分散 V(X

t

) を求めよう .

4

過程不要

時間 t, 座標 x が整数値のみをとるようなランダムウォークを考える . 時刻 t = 0 に x = 3 を出発し , 各時刻 t に ,

確率 1/7 で x から x + 1 に移動 確率 4/7 で移動しない

確率 2/7 で x から x 1 に移動

するものとする .

時刻 t にランダムウォーカーが座標 x にいる確率 P (x, t) (t に関する ) 漸化式と初期条

(3)

時間 t, 座標 x が整数値のみをとるようなランダムウォークを考える . 時刻 t にランダムウォーカーが座標 x にいる確率 P (x, t) が

漸化式 P (x, t + 1) =

25

P (x 2, t) +

35

P (x + 1, t)

初期条件 P (x, 0) =

 

 

1

3

(x = 1)

2

3

(x = +1) 0 ( それ以外 ) を満たす .

生成関数 Z(λ, t) =

+

x=−∞

e

λx

P (x, t) を考える .

1. 生成関数 Z (λ, t) の満たす漸化式と初期条件を求めよう . 2. 生成関数 Z (λ, t) の具体的な形を求めよう .

6

時間 t, 座標 x が整数値のみをとるようなランダムウォークを考える . 時刻 t にランダムウォーカーが座標 x にいる確率を P (x, t) とする . 生成関数 Z(λ, t) =

+

x=−∞

e

λx

P (x, t) が , Z(λ, t) = (

14

e

+

12

+

14

e

)

t

であるとき , 時刻 t における座標 X

t

の平均 E(X

t

) を求めよう .

(4)

過程不要

離散的確率変数 S

s = 1 を確率 P = 1/8 で , 値 s = 2 を確率 P = 1/4 で , 値 s = 3 を確率 P = 5/8

とる . シードを入力すると , この確率分布に従う乱数を 100 回出力するプログラムを次のよ うに書いた .

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 ( d o u b l e y );

5 d o u b l e u n i f o r m ();

6

7 int m a i n (){

8 int n , s e e d ;

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

10 s r a n d ( s e e d );

11 for ( n =0; n < 1 0 0 ; n + + ) {

12 p r i n t f ("% d ,% d \ n " , n , g e t r a n d o m ( u n i f o r m ( ) ) ) ;

13 }

14 r e t u r n 0;

15 } 16

17 int g e t r a n d o m ( d o u b l e y ){

18 /*

な い し ょ

* / 19 }

20

21 d o u b l e u n i f o r m (){

(5)

過程不要

連続型確率変数 S は確率密度関数

p(s) =

 

 

3 ( 1 s <

34

)

1

3

(

14

s < 1)

0 それ以外

を持つ . この確率密度関数に従う乱数を生成するための double getrandom(double y) C 言語で書こう . ここで , y としては [0,1) 一様乱数 (uniform() の出力 ) を与える .

ただし , getrandom の中で uniform,rand を使ってはいけない .

9

連続型確率変数 S は確率密度関数

p(s) = {

4 8s (0 s <

12

)

0 ( それ以外 )

を持つ . この確率密度関数に従う乱数を逆関数法で生成する . つまり , y が [0, 1) 一様乱数で

あるとき , g(y) (double getrandom(double y)) が p(s) に従うようにする . 関数 g(y)

定めよう .

(6)

次の 2 つのプログラムは , 最初にシードを入力すると , 乱数で 1, 2, 3 をそれぞれ確率 1/3 で選んで出力することを 100 回繰り返すプログラムを書こうとして眠さのあまり間違えた 2 つの例である . どちらもつまらない文法的な誤りはなく , コンパイル , 実行可能であり , 2 つの 間の差は 9–18 行だけである .

1. 誤プログラム 1 はどのような動作をするか 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 d o u b l e u n i f o r m ();

5

6 int m a i n (){

7 int i ;

8 int s e e d ;

9 d o u b l e y ;

10 int s ;

11

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

13 for ( i =0; i < 1 0 0 ; i + + ) { 14 s r a n d ( s e e d );

15 y = u n i f o r m ();

16 if ( y < 1 . 0 / 3 . 0 ) {

17 s =1;

18 } e l s e if ( y < 2 . 0 / 3 . 0 ) {

19 s =2;

ソースコード

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 d o u b l e u n i f o r m ();

5

6 int m a i n (){

7 int i ;

8 int s e e d ;

9 /* d o u b l e y ; */

10 int s ;

11

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

13 s r a n d ( s e e d );

14 for ( i =0; i < 1 0 0 ; i + + ) {

15 /* y = u n i f o r m (); */

16 if ( u n i f o r m ( ) < 1 . 0 / 3 . 0 ) {

17 s =1;

18 } e l s e if ( u n i f o r m ( ) < 2 . 0 / 3 . 0 ) {

19 s =2;

(7)

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

樋口さぶろお

*2 配布

: 2011-06-03 Tue

更新

: Time-stamp: ”2011-06-03 Fri 09:47 JST hig”

1

1. E(S) = 1 ·

18

+ 2 ·

14

+ 3 ·

58

=

52

.

2. E(S

2

) = 1

2

·

18

+ 2

2

·

14

+ 3

2

·

58

=

274

. V(S) = E(S

2

) (E(S))

2

=

12

. 3. E(sin(

12

Sπ)) = sin(

12

π) ·

18

+ sin(

22

π) ·

14

+ sin(

32

π) ·

58

=

12

.

2

1.

2 1

1

2

s ds =

34

. 2.

2 0

s ·

12

s ds =

43

.

3

1. 5 回中 , + 方向に 3 , 方向に 2 回移動すればよい . 2 項定理より ,

5

C

3

(

13

)

3

(

23

)

2

=

40 243

.

2. 1 回あたりの移動 S

t

の平均は E(S

t

) = (+1)

13

+ ( 1)

23

=

13

. よって , E(X

t

) = 0

13

t.

3. 1 回あたりの移動 S

t

の分散は V(S

t

) =

89

. よって , V(X

t

) =

89

t.

4

P (x, t + 1) =

1

P (x 1, t) +

4

P (x, t) +

2

P (x + 1, t)

(8)

1. 両辺に e

λx

をかけて和をとり

+∞

x=−∞

e

λx

P (x, t+1) =

25

e

+∞

x=−∞

e

λ(x−2)

P (x 2, t)+

35

e

−λ

+∞

x=−∞

e

λ(x+1)

P (x+1, t).

よって漸化式は

Z (λ, t + 1) = (

25

e

+

35

e

λ

)Z(λ, t)

また , 初期条件は , 定義から

Z (λ, 0) = · · · + 0 + e

λ(1) 13

+ e

λ·0

0 + e

λ(+1) 23

+ 0 + · · · =

13

e

λ

+

23

e

2. 等比数列なので

Z (λ, t) = (

25

e

+

35

e

λ

)

t

(

13

e

λ

+

23

e

)

6

E(X

t

) =

∂λ Z (λ, t) |

λ=0

=

14

t.

7

(9)

3

4

の確率で [ 1,

34

) で一様な乱数

14

の確率で [

14

, 1) で一様な乱数を出力する必要がある .

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

2 if ( y < 3 . 0 / 4 . 0 ) { 3 r e t u r n y / 3 . 0 - 1 . 0 ;

4 } e l s e {

5 r e t u r n 3 . 0 * ( y - 3 . 0 / 4 . 0 ) + 1 . 0 / 4 . 0 ;

6 }

7 }

9

累積分布関数は

F (a) =

a

−∞

p(s) ds =

 

 

0 (a < 0) 4(1 a

2

) (0 a <

12

) 1 (

12

a)

.

値域が 0 g(y) <

12

となるように F (g(y)) = y を解いて逆関数を求めると , g(y) = 1

1 y

2 .

10

1. for ループの中で乱数が毎回 seed によってリセットされるので , 入力した seed に応 じて最初に 1, 2, 3 のうち 1 つが選ばれ , 毎回必ずその数が , 100 回繰り返して出力さ れる .

2. if-else if の条件で呼ばれる uniform() は毎回異なる結果を返すので , 1 が確率

13

で , 2 が確率

23

×

23

=

49

で , 3 が確率 1

13

49

=

29

で出力される .

参照

関連したドキュメント

R., Existence theorem of periodic positive solutions for the Rayleigh equation of retarded type, Portugaliae Math.. R., Existence of periodic solutions for second order

した標準値を表示しておりますが、食材・調理状況より誤差が生じる場合が

ある周波数帯域を時間軸方向で複数に分割し,各時分割された周波数帯域をタイムスロット

ヒュームがこのような表現をとるのは当然の ことながら、「人間は理性によって感情を支配

 映画「Time Sick」は主人公の高校生ら が、子どものころに比べ、時間があっという間

・分速 13km で飛ぶ飛行機について、飛んだ時間を x 分、飛んだ道のりを ykm として、道のりを求め

スペイン中高年女性の平均時間は 8.4 時間(標準偏差 0.7)、イタリア中高年女性は 8.3 時間(標準偏差

(2,3 号機 O.P12,000)換気に要する時間は 1 号機 11 時間、 2,3 号機 13 時間である)。再 臨界時出力は保守的に最大値 414kW