スライド 1: cs-7. 乱数,シミュレーション
スライド 2
スライド 3: アウトライン
スライド 4: 7-1 Microsoft 365 と Excel
スライド 5: Microsoft 365 の主な機能
スライド 6: Microsoft 365 の種類
スライド 7: Microsoft 365 オンライン版で Excel を起動
スライド 8: Microsoft 365 オンライン版で Excel を起動
スライド 9: Microsoft 365 オンライン版で Excel を起動
スライド 10: Microsoft 365 オンライン版で Excel を起動
スライド 11: Microsoft 365 アプリ版のインストールと Excel の起動
スライド 12: Microsoft 365 アプリ版のインストールと Excel の起動
スライド 13: Microsoft 365 アプリ版のインストールと Excel の起動
スライド 14: Microsoft 365 アプリ版のインストールと Excel の起動
スライド 15: Microsoft 365 アプリ版のインストールと Excel の起動
スライド 16: 7-2 乱数
スライド 17: 乱数
スライド 18: 乱数の用途
スライド 19: コンピュータの乱数を活用するために知っておいた方がよいこと ①乱数の分布のバリエーション
スライド 20: コンピュータの乱数を活用するために知っておいた方がよいこと ②シード
スライド 21: まとめ
スライド 22: 7-3 Excel の乱数の機能
スライド 23: Excel の乱数の機能
スライド 24: Excel の一様分布の乱数
スライド 25: Excel で特定の範囲の一様分布の乱数
スライド 26: 演習
スライド 27
スライド 28
スライド 29
スライド 30
スライド 31: 7-4 乱数とシミュレーション
スライド 32: 乱数とシミュレーション①
スライド 33: 乱数とシミュレーション②
スライド 34: 7-5 円周率を求める
スライド 35: モンテカルロシミュレーションによる円周率の算出
スライド 36
スライド 37
スライド 38
スライド 39: 演習
スライド 40
スライド 41: Excel での散布図の作成手順
スライド 42: Excel での散布図の種類の選択
スライド 43
スライド 44
スライド 45
スライド 46
スライド 47: Excel で条件に合致するセルを数える
スライド 48
スライド 49
スライド 50: 7-6 到着間隔を分析する
スライド 51: 待ち行列
スライド 52: ランダムな到着
スライド 53: 等間隔の到着
スライド 54: ランダムな到着
スライド 55
スライド 56: 演習
スライド 57
スライド 58
スライド 59
スライド 60
スライド 61
スライド 62
スライド 63
スライド 64
スライド 65: 全体まとめ
スライド 66
cs
-7.
乱数,シミュレーション
(コンピューターサイエンス)
URL:
https://
www
.kkaneko.jp/
cc/cs/index.htm
l
1
金子邦彦
①
乱数
の基本概念とその重要性
②
一様分布
と
正規分布
の
2
種類の乱数とその
用途
③
Excel
を用いた乱数の生成
方法と
分布の可
視化
④
モンテカルロ法
と
待ち行列
を例として、
乱
数のシミュレーションへの応用
を示す
2
アウトライン
1.
Microsoft 365
と
Excel
2.
乱数
3.
Excel
の乱数の機能
4.
乱数とシミュレーション
5.
円周率を求める
6.
到着間隔を分析する
3
7-1 Microsoft 365
と
Exc
el
4
Microsoft
365
の主な機能
•
パソコンで
レポートを作成
したり,
発表
したり,
データをまとめ
たりで便利
5
ワード
(
文書作成
)
エクセル
(
表計算
)
パワーポイント
(
プレゼン
)
ワンノート
(
電子ノート
)
アウトルック
(
電子メール
)
Microsoft
365
の種類
2種類
ある.この授業では,
どちらを使用しても問題
ない
6
•
Microsoft 36
5
の
オンライン版
WEB
ブラウザ
で使う.
https://portal.office.com
各自の
ID
と
パスワード
でサインインが必要.
•
Microsoft 36
5
の
アプリ版
前もってインストールが必要
.
インストールでは,大量の通信が行われる.
(時間がかかる.通信費用にも注意)
Microsoft
365
オンライン版で
Excel
を起動
【
要点
】
W
eb
ブラウザ
で,次のページを開き,各自の
ID
と
パスワード
でサインイン
https://portal.office.com
7
Microsoft
36
5
オンライン版で
Excel
を起動
①
W
eb
ブラウザ
で,次のページを開く
https://portal.office.com
②
電子メールアドレス
を入れる.「
次へ
」をクリック.
(例)
p1234567@fukuyama
-u.ac.jp
8
Microsoft
36
5
オンライン版で
Excel
を起動
③
パスワード
を入れ,「
サインイン
」を
クリック
パスワードは,各自が設定したもの
④
Excel
を使いたいときは,
メニュー
で
Excel
を選ぶ
9
さまざまなメニュー
Microsoft
36
5
オンライン版で
Excel
を起動
⑤
Excel
のブックの種類
を選ぶ
この授業では「新しい空白のブック」を使う
⑥
Excel
の画面が開く
10
Microsoft
36
5
アプリ版のインストールと
Excel
の起動
【要点】
インストール
は,
Microsoft 365
アプリ版を使える
ようにするための作業(最初に行う).
そのとき,次のページを開き,各自の
ID
と
パスワード
でサ
インイン
https://portal.office.com
インストール
が終わったら,
スタートメニュー
等で
Ex
cel
を
起動
11
Microsoft
36
5
アプリ版のインストールと
Excel
の起動
①
W
eb
ブラウザ
で,次のページを開く
https://portal.office.com
②
電子メールアドレス
を入れる.「
次へ
」をクリック.
(例)
p1234567@fukuyama
-u.ac.jp
12
Microsoft
36
5
アプリ版のインストールと
Excel
の起動
③
パスワード
を入れ,「
サインイン
」を
クリック
パスワードは,各自が設定したもの
④
画面で「
Office
のインストール
」をクリック.メニューで
「
Microsoft 365
のアプリ
」を選ぶ
13
Microsoft
36
5
アプリ版のインストールと
Excel
の起動
⑤
画面の指示
に従い,インストールを行う
インストールでは,大量の通信が行われる.
(時間がかかる.通信費用にも注意)
14
次のような指示がでる
1.保存する
2.フォルダーを開く
3.実行し,その後も,画面の指示に従う
Microsoft
36
5
アプリ版のインストールと
Excel
の起動
⑥
Excel
を使うときは,スタートメニューなどで
Excel
を選ぶ
⑦
Excel
のブックの種類
を選ぶ
この授業では「新しい空白のブック」を使う
⑧
Excel
の画面が開く
15
7-
2
乱数
16
17
•
乱数
は,
ランダムな数
であり,
予
測不可能
•
コンピュータ
は,基本的に,
予測
可能な処理
しか行えないため,乱
数相当のものを生成するためには
特別なアルゴリズム
が使用される
乱数
乱数の用途
•
ゲーム開発
アイテムの配置,敵の行動をランダムに
•
シミュレーション
乱数を用いたシミュレーション(ランダムな数の
利
用により,現実に近い現象を再現)
18
コンピュータの乱数を活用するために
知っておい
た方がよいこと
①乱数の分布のバリエーション
•
一様分布
:等確率で分布
(例)さいころは1,2,3,4,5,6で等確
率
(用途の例)偏りのない抽
出(当選者の抽選など),
偏りのないイベント発生
•
正規分布
:平均を中心に集中,平均を離れると確
率が減るという性質を持つ
(用途の例)自然現象の分析,品質管理,計測デ
ー
タの分析
19
コンピュータの乱数を活用するために
知っておい
た方がよいこと
②シード
•
コンピュータは,
シードと呼ばれる初期値を基に
乱数を生成
.
•
シードを固定すると,同じ乱数が発生する.
•
コンピュータ内蔵の時計などを利用して,
シード
を変えることは簡単にできる
20
まとめ
•
乱数
は
予測不可能
である。
•
ゲーム開発
では
乱数
を使ってアイテム
の配置や敵の
行
動をランダムにする。
•
シミュレーション
では
乱数
を利用し、現実に
近い現象
を再現する。
•
一様分布
は
等確率で分布
し、偏りのない抽出やイベ
ン
ト発生に使用される。
•
正規分布
は
平均を中心に集中
し、
離れるほど確率が
減
少
する性質を持つ。
•
コンピュータはシードと呼ばれ
る初期値から
乱数を生
成
し、シードを固定すると同じ
乱数が発生す
る。
(シードを変えることで乱数の
結果を変える
ことがで
きる。)
21
7-3 Excel
の乱数の機能
22
Excel
の乱数の機能
•
一様分布の乱数
「
=RAND()
」
範囲は0から1
•
正規分布の乱数
「
=NORM.INV(RAND(),
mean, s
tde
v)
」
平均が0で,標準偏差が1
23
Excel
の一様分布の乱数
「
=RAND()
」
範囲は0から1
24
Ex
cel
で、式「
=RAND()
」を
コピー&貼り付け
Excel
で特定の範囲の一様分布の乱数
「
=RAND()*(b-a)+a
」
範囲は
a
から
b
25
元の乱数は
0
か
ら
1
の範囲とす
る
0
1
0
2
2
倍すると,範
囲は
0
から
2
-1
1
2
倍して,
1
引く
と,範囲は
-
1
から
1
演習
【
トピックス
】
•
一様分布の乱数
•
範囲は
ー1
から
1
26
27
①
Exc
el
を起動する.起動したら「
空白の
ブック
」を選ぶ
オンライン版の場合
アプリ版の場合
②
-1
以上
1
未満
の乱数の式
「
=RAND()
*
2 - 1
」をセル
A1
に書く
28
③
セル
A1
の式を,
A2
から
A100
に「
コピー&貼り付け
」する.
右クリックメニューが便利
29
実行のたびに、違う値になる
(乱数なので、ランダムな値)
・表示が「
###
」のようになっている
のが気になる場合には,
列の幅を広げる
・あとで使うので,
Excel
は
終了しないで,そのままにしておく
いままでのまとめ
セル
A1
から
A100
-1
以上
1
未満
の乱数の式
=RAND()
* 2 - 1
30
7-
4
乱数とシミュレーション
31
32
•
ランダム性を含む現象のシミュ
レーション
交通流,天候,金融,物理現象など,
ランダム性を持つ現象を
デジタル上
で再現
→
現象の理解,意思決定のサポー
ト
乱数とシミュレーション①
33
•
モンテカルロシミュレーション
乱数を利用して
ランダムな試行を繰
り返し
,統計的な
結果を得る
→
不確実性を考慮した意思決定,
近似解の算出
乱数とシミュレーション②
7-
5
円周率を求める
34
モンテカルロシミュレーションによる
円周率
の算出
モンテカルロシミュレーション
による円周率
の算出は、
一様分布の乱数
を使用
①
ランダムに点
を生成
②①で打った点が
円の内部に入るかど
うか
を判定
③
円内に入った点の数
を
全体の点の数
で割る
④③から,円の面積を算出
⑤④から,円周率を算出
乱数
を使って,
ランダムに点を生成
し、円周率を求
めて
いく。得られる結果は
近似的な値
であ
り、
乱数の数
を増
やす
ことでより正確な結果に近づける
ことができる。
35
36
縦2,横2の四角形
面積は4
37
半径1の円
面積=円周率
38
正方形の中でランダム
に点を生成
→
内側に点が入る確率は
円周率/4
演習
【
トピックス
】
•
モンテカルロシミュレーショ
ン
•
円周率の算出
39
①
セル
A1
の式を,
B1
から
B100
にも「
コピー&貼り付け
」する.
右クリックメニューが便利
40
実行のたびに、違う値になる
(乱数なので、ランダムな値)
Excel
での散布図の作成手順
41
①
グラフ化したい部分を
範囲選択
元データ
②
リボンで「
挿入
」→
散布図
散布図が得られる
アプリ版の
Ex
cel
オンライン版の
Ex
cel
Excel
での
散布図の種類の選択
42
挿入
散布図を展開
一番左上の散布図
をクリック
アプリ版の
Ex
cel
オンライン版の
Ex
cel
挿入
散布図を展開
一番左の散布図を
クリック
②
セル
A1
から
B100
までの
エリア
を,マウスでド
ラッグして(範囲選択),散布図を作成
43
マウスでドラッグ(範囲選択)
乱数の散布図が
得られる
44
縦の長さ2
,横の長さ2の
正方形の中
に,
青い
点
は
10
0個
③
中心
(0, 0)
で半径1の円の式
「
=(A1
*
A1
+ B1
*
B1 ) < 1
」をセル
C1
に
45
点が「半径
1
の円の中にあるか」を調べている
100個の点全てを調べ,
円の中の点の数が
60
なら,円の面積は
60 * 4
/ 100
縦の長さ2,横の長さ2の
正方形
④
セル
C1
の式を,
C2
から
C100
に「
コピー&貼り付け
」
右クリックメニューが便利
青い点が,
円の内側
にあれば
TRUE
46
Ex
cel
で条件に合致するセルを数える
47
=COUNTIF(
C1:C100
,
TRUE
)
セルの範囲
C1:C100
の中で,
値が
TRUE
になっているものを
数える
⑤
セル
C101
に
「
=COUNTIF(C1:C100, TRUE)
」を書いて,
TRUE
の数
を数える
48
⑥
セル
C102
「
=C101 * 4 / 100
」をセル
C102
に書いて,
結果を確認する
→
円周率が求まる
※
円の面積
=
円周率
×
(半径)
2
ただし,今回は,半径=1
49
7-
6
到着間隔を分析する
50
51
•
待ち行列
は、複数の要素が順番待
ちするもの
•
待ち行列
は、現実世界での様々な
現象の
シミュレーション
に利用可
能
交通システム、通信ネットワーク、
製造ライン、カスタマーサービス
(レジの並びなど)の分析,改善
待ち行列
ランダムな到着
•
ランダムな到着
は,
予測不可能な時間間隔で到着
すること
•
店舗の待ち行列では,ふつう,
ランダムな到着
で
ある
•
現実世界の
様々なシミュレーションに役立つ
考え
方
•
ランダムな到着
を考慮した
シミュレーショ
ン
によ
り,
現実のシステムの挙動をリアルに再現
でき,
システムの改善や最適化に役立つ
52
等間隔の到着
◆
客が1時間(
60分
)の間に、
12人
来そう!
というとき
53
5分
5分ごとに1人ずつ来る
→
現実にはあり得ません
5分
5分
ランダムな到着
54
客は60分の間に、
ランダムに到着
◆
客が1時間(
60分
)の間に、
12人
来そう!
というとき
シミュレーション
による,
仮説の検証
の例
例えば,
スーパーのレジなどの待ち行列.
意外と,
私の寸前
に,
別の人が並ぶ
ことがある.
私の運が悪いのか?
→
No
このことをシミュレーションで確認
55
演習
【トピックス】
•
待ち行列
•
ランダムな到着
•
ランダムな到着での到着間隔
を分析
56
①
新しく
Excel
の
空白のブック
を作る
②
0
以上
60
未満
の乱数の式
「
=TRUNC(
RAND()
* 60
)
」をセル
A1
に書く
57
③
客が
12人来る
という状況をシミュレーションしたい
A1
の式を
A2
から
A
12
に「
コピー&貼り付け
」
右クリックメニューが便利
実行のたびに違う値になる
(乱数なので、
ランダム
な値)
58
④
A
列にあるもの(式)
について,
式の結果の「値」だけ
を.
B
列に「
コピー&貼り付け
」
①まず,
A1
から
A12
を
ドラッグして,範囲選択
②右クリック
メニュー
で
「コピー」
③値だけを張り付け
セル
B1
を
右クリック
して,「貼り付け
のオプション」の「
値
」
59
Excel
のバージョンに
よっ
ては,違う場合がある
⑤
B
列の値を並べ替えたい
①まず,
B1
から
B12
を
範囲選択
60
続く
オンライン版
Excel
での並べ替え
①まず,
B1
から
B12
を
範囲選択
②
リボンで「
データ
」
→
「
昇順で並べ替え
」
61
「
並べ替えのみ
」を選ぶ
アプリ
版での並べ替え
①まず,
B1
から
B
12
を
範囲選択
62
②
リボンで「
データ
」
→
「
並べ替え
」
もし,警告表示が出たら
「
並べ替え
」をクリック
「
最優先されるキー
」を
「
列
B
」に設定して「
OK
」
63
⑥
B
列
が,左のようになることを
確認
⑦
次に,
セル
C2
に次の式を入れる
=
B2
-
B1
これは,
到着間隔
を求める式
⑧
C2
の式を,
C
3
から
C
12
に
「コピー&貼り付け」
右クリックメニューが便利
64
⑨
C
列
を
確認
60分の間に
12人
平均で5分間隔
間隔はばらばら
0,1,2分のような小さな値も,
かなり多い
全体まとめ
1.
乱数
は
予測不可能な数
。
2.
乱数
は
ゲーム開発
や
シミュレーション
に活用。
ゲームではアイテムの配置や敵の行動をランダム
にするために使用。
3.
一様分布
は
等確率で分布
し、
偏りのない
抽出やイ
ベント発生に利用。
4.
モンテカルロシミュレーション
では
乱数
を使って
ランダムな試行を繰り返し
、不確実性を考慮した
意思決定や
近似解の算出
に活用。
5.
待ち行列
では、
ランダムな到着
が
現実世界
のシ
ミュレーションに役立つ考え方
。ランダムな到着
を考慮したシミュレーションにより、現実のシス
テムの挙動をリアルに再現。
65
①
乱数
の理解。
学ぶことの満足感
。
情報工学の
奥深さ
を実感。
②
シミュレーションへの乱数活用
を知り、
問題
解決力を向上
③
Excel
を用いた乱数の生成、分析
の演習。
実
践的スキル
の向上
④
身近な問題を解決
する「待ち行列シミュレー
ション」など、
情報工学の有用性の実感
、
視
野の拡大
66