龍谷大学>理工学部>数理情報学科>樋口>担当科目>2012年>計算科学☆演習II>09回め 目次 前回 次回 略解
計算科学☆演習 II
樋口さぶろお*1 配布: 2012-06-13 Wed更新: Time-stamp: ”2012-06-13 Wed 06:40 JST hig”
8 略解 : 逆関数法による乱数生成 8.1 略解 : 逆関数法
累積分布関数は
, 1 ≤ a ≤ 3
に対して, F (a) =
∫
a−∞
p(s) ds
=
∫
1−∞
p(s) ds +
∫
a 1p(s) ds
=0 −
121(a
2− 10a + 9).
F
の逆関数g(y)
を求める. F (g(y)) =y g
2− 10g + (9 + 12y) = 0
g = 5 ± √
16 − 12y.
F
の定義域は1 ≤ a < 3.
よって, g
の値域は1 ≤ g(y) < 3
なので,
符号は−
をとる. g(y) = 5 − 2 √
4 − 3y
1 ≤ g(y) < 3
よりg(y)
の定義域は0 ≤ y < 1 (
全体).
#include <math.h>
double getrandom(double y){
return 5.0-2.0*sqrt(4.0-3.0*y);
}
*1Copyright c⃝2011-2012Saburo HIGUCHI. All rights reserved.
, http://hig3.net(講義のページもここからたどれます), へや:1 号館5階502.
8.2 略解 : 連続的な値をとる確率変数
1.
∫
−2−4
p(s) ds =
∫
−3−4
0 ds +
∫
−2−3 1
5
ds =
15. 2.
E(S) =
∫
2−3
s p(s) ds = −
123.
V(S) =
∫
2−3
(s − ( −
12))
2p(s) ds =
25124.
E(e
S) =
∫
2−3
e
Sp(s) ds =
15(e
2− e
−3)
9 逆関数法による乱数生成 2
今週の目標
■講義
•
区分的に定義された確率密度関数p(s)
が与えられたとき,
それに従う疑似乱数を 生成するプログラムを書ける•
連続的疑似乱数を生成するdouble getrandom(double y)
が与えられたとき,
返 り値の従う確率密度関数を求められる9.1 quiz: 逆関数法
次の確率密度関数
p(s)
を考える.
p(s) = {
417
| s |
3( − 1 ≤ s < 2)
0 (
それ以外)
[0, 1)
一様乱数(double getuniform()
の返り値)
を引数として受け取り,
この確率密度関数に従う疑似乱数を返す関数
double getrandom(double y)
を書こう.
2
9.2 quiz: 逆関数法
次の確率密度関数
p(s)
を考える.
p(s) = {
417
| s |
3( − 1 ≤ s < 2)
0 (
それ以外)
1.
この確率密度関数に従う確率変数S
の平均E(S)
を求めよう.
2.
この確率密度関数に従う確率変数S
について,
期待値E(S
2)
を求めよう.
3.
この確率密度関数に従う確率変数S
について,
期待値E(f(S))
を求めよう.
ただし,
f(x) =
− 1 (x < 0) 0 (x = 0) +1 (x > 0)
9.3 quiz: 逆関数法の逆
次の関数を考える
.
double getrandom(double y){
double s;
s=y*y+2*y;
return s;
}
s=getrandom(getuniform())
で定義される確率変数S
の従う確率密度関数p(s)
を求めよ う.
ただし, double getuniform()
は[0,1)
一様乱数を返す.
3
講義のレポート R01 のお知らせ
平常点
10
ピーナツのうち(6–9
ピーナツ).
締切迫る. http://www.a.math.ryukoku.
ac.jp/~hig/course/compsci2_2012/report
演習の初夏のプチテストやります !
2012-06-15
金3.
春と同じのり(
個人戦). 30
ピーナツ.
出題計画(2012-06-08,13
に修正するかも)
•
連続値確率変数S
の,
区分的に定数な確率密度関数p(s)
が与えられたとき,
疑似乱数 を返す関数double getrandom(double y)
を書こう(cont1,cont2)
•
連続値確率変数S
の,
区分的に定数とは限らない確率密度関数p(s)
が与えられたと き,
疑似乱数を返す関数double getrandom(double y)
を書こう(cont3,sim2)
•
確率シミュレーションで確率を推定しよう(sim1,sim2)
目次 前回 次回 略解