2011年度 †
第01回(05/10) 席替えシミュレーション †
室蘭栄高校から6人の高校生を迎えました.
緊張をほぐすためSVBL棟3階ラウンジにて,概要の説明・自己紹介を行いました.
場所をX203に移し,マルチエージェントシミュレーションについて説明し,
席替えシミュレーションの予想をしてもらいました.
artisocでシミュレーションを実行した結果と比較し,意見を述べてもらいました.
パラメータを変えるとエージェントの振る舞いがどう変化するのか観察し,
エージェントを増やすと現実問題にはどのように応用できるか考えてくることを次回の宿題としました.
- 第02回予定:席替えシミュレーションの続き,病気の感染シミュレーション.
第02回(06/07) 病気の感染シミュレーション †
V307にて,第02回のSSHを行いました.
まず,前回の内容の復習と宿題を確認しました.
次に,病気の感染シミュレーションを実施しました.
(1) 必要なエージェントと行動ルールを高校生に考える.
(○印は今回のシミュレーションで用いたエージェントと行動ルール)
- エージェント
- 健康者エージェント ○
- 感染者エージェント ○
- 免疫保持者エージェント ○
- 抗体エージェント etc.
- 行動ルール
- 健康者エージェントは,感染者エージェントによって感染させられる.○
- 感染者エージェントは,任意の日数が経つと健康者,もしくは免疫保持者エージェントとなる. ○
- 免疫保持者エージェントは,二度と感染しない.○
- エージェントは移動する.しかし,感染者エージェントは動きが遅くなる.
- 健康者エージェントは抗体を持っていて,なくなると感染する.
- 健康者エージェントは,周囲に感染者エージェントが半分以上いると感染する.
- 健康者エージェントは感染者エージェントから遠ざかろうとする. etc.
(2) 人口密度を変化させると,感染拡大の様子がどう変化するかを観察する.
(免疫獲得率100%にてシミュレーション)
- 高校生の意見
- 人口密度が高くなると,感染が拡がり易い
- 同じ人口密度でも,エージェントの配置によって感染の拡がり方が違う etc.
(3) 感染距離を変化させて,感染拡大の様子がどう変化するかを観察する.
(空気感染を距離10,接触感染を距離6としてパラメータを設定した.免疫獲得率は100%)
- 高校生の意見
- 距離10のときは感染者の数が急激に増える.
- 距離6のときはなだらかに感染者数が推移する.
- 距離10のとき,距離6に比べて感染が8倍ほど拡大した. etc.
(4) 感染率を変化させて,感染拡大の様子がどう変化するかを観察する.
時間の都合上,割愛しました.次回実施予定.
(5) 実際のインフルエンザの感染に近くなるようにパラメータを変化させる.
自由にパラメータを設定し,現実問題への応用方法を模索してもらいました.
次回,発表してもらいます.
- 第03回予定:病気の感染シミュレーションの続き,
Boidモデル
第03回(06/14) 病気の感染シミュレーション †
V307にて,第03回のSSHを行いました.
まず,生徒のみなさんの名札が座っていると見にくいという問題があったため
各自A4の紙1枚を使って自由にネームプレートを作成してもらいました.
前回の内容を思い出してもらうために,2チームに分かれてクイズを実施しました.
Q1:使用したエージェントは何でしたか?
A1.感染者エージェント,健康者エージェント,免疫保持者(死亡者)エージェント
Q2:エージェントの行動ルールは何でしたか?
A2:例)一定の確率で健康者から感染者へ変わる,一定の確率で感染者から健康者or免疫保持者へ変わる
Q3:左下エリアの人口が200人のとき,150人のときではどちらが感染が拡大し易いですか?
A3:200人のとき.
Q4:グラフを見て,どちらが空気感染(感染距離10)でしょうか?
A4:B
クイズでおさらいをしたあと,前回実施できなかった内容を実施しました.
(4)感染率を変化させて感染拡大の様子がどう変化するかを観察する.
- 高校生の意見
- 感染率30%の場合,グラフは感染者・感染者・免疫者の線が1点で交わる
- 感染率30%以下の場合,健康者のグラフが他の2つの交点の上を通る
- 感染率10%の場合:感染者のグラフは1つの山,20%の場合:2つ〜3つの山,
30%の場合:階段状の形になる etc.
(5)実際のインフルエンザの感染に近くなるようにパラメータを変化させる.
(実際のインフルエンザの感染として考えると,難しくなるため
自由にパラメータを変化して面白い結果を発表してもらいました.)
- 高校生の意見
- 感染率100%,免疫率0%,感染距離100,回復日数1日→ギザギザのグラフ
- 感染率100%,免疫率0%,感染距離5,回復日数1日→上下が感染者と健康者で分かれるグラフ
第04回(06/21) 牧羊犬モデル †
先週の病気の感染シミュレーションをおさらいしたあと,
牧羊犬モデルについて考えてみました.
(1)牧羊犬モデルで必要なエージェント,エージェントの行動ルールは?
- 高校生の意見
- 高校生の意見(◯がついているものは今回のシミュレーションで用いるもの)
- 必要なエージェント
- 行動ルール
- 犬は羊に接触すると一定確率で羊を捕まえる. ◯
- 歩く(走る)速さは,犬>羊.◯
- 羊は捕まると檻からでられない.◯
- 犬は羊を追いかける.
- 羊は犬から逃げる.
- 犬は羊を食べる. etc.
(2)牧羊犬を使う条件を以下のように定義し,結果を分析してみましょう.
条件 | 値段 | 匹数 | 羊を捕まえる確率 |
A | 30 | 1 | 90 |
B | 15 | 2 | 45 |
C | 10 | 3 | 30 |
D | 6 | 5 | 18 |
E | 5 | 6 | 15 |
F | 3 | 10 | 9 |
G | 2 | 15 | 6 |
H | 1 | 30 | 3 |
- 結果に対する高校生の意見
- 能力が高い犬が少数いるよりも,能力が低い犬がたくさんいるほうが早い
- 能力を分散させたほうが早い.etc.
(3)以下の条件の中で,少ない時間,かつ低予算で羊を捕まえてみましょう.
- 牧羊犬の購入予算:100万円
- 羊を捕まえる確率(能力)1%ごとに1万円かかる.(能力50%の犬→50万円)
1000秒(1000ステップ)以内に1000匹の羊を捕まえられた方の中で
最も少ない秒数で終わった方,最も低予算で済んだ方,1000秒に最も近かった方をチャンピオンとしました.
(4)今回の牧羊犬モデルを改良するために,必要だと思うエージェント・行動ルールを考えましょう.
- 高校生の意見
- 羊泥棒エージェント
- 牧場の大きさが変えられるようにする
- 犬同士が協力する
- 羊が群れる etc.
これらの意見を参考に改良したモデルを次回,高校生に体験してもらいます.
- 第05回予定:牧羊犬モデル改良版,Boidモデル,コーディング体験
第05回(07/12) 牧羊犬モデル改良版,Boidモデル,コーディング体験 †
(1)前回,高校生たちから集めた意見を元に,牧羊犬モデルを改良しました.
改良した点(行動ルール)は以下の通りです.
- 羊が牧草に集まる
- 犬は羊を追いかける
- 羊は犬から逃げる
- 犬にはスタミナがあり,疲れると動きが止まる
- 犬同士が協力する(犬同士が接近すると能力が上がる)
- 泥棒エージェントを追加し,羊を盗んでいく
(2)改良したプログラムで,前回と同様の条件で羊500匹を捕まえる時間をシミュレーションしました.
条件 | 値段 | 匹数 | 羊を捕まえる確率 | 羊500匹を捕まえる秒数(3回実行した平均) |
A | 30 | 1 | 90 | 677 |
B | 15 | 2 | 45 | 628 |
C | 10 | 3 | 30 | 434 |
D | 6 | 5 | 18 | 439 |
E | 5 | 6 | 15 | 404 |
F | 3 | 10 | 9 | 381 |
G | 2 | 15 | 6 | 339 |
H | 1 | 30 | 3 | 354 |
結果考察:犬が追いかけるというルールにより,各条件でのデータのバラつきが少なくなった.
(3)鳥の編隊飛行モデル(Boidモデル)で鳥エージェントの行動ルールを考えてみましょう.
- 高校生の意見
- 他の鳥と接触すると集まる
- 障害物に当たると避ける
- 大きな群れに小さな群れが取り込まれる
- 近くの鳥に近づく
- 大きな群れが1方向に動き,小さな群れを取り込んでいく
この鳥の編隊飛行モデルは,3つの簡単な行動ルールで実現されています.
それは,
- 分離(Separation):鳥エージェント同士ぶつからないように距離をとる
- 整列(Alignment):鳥エージェントが他の鳥エージェントと速度・方向を合わせる
- 結合(Cohesion):鳥エージェント同士の群れの外にいる鳥エージェントは群れの中心に方向を合わせる
単純なルールで人工生命をモデル化していることを高校生に体験してもらいました.
(4) コーディング体験 (1)
artisocを用いたマルチエージェントシミュレーション(MAS)のコーディング体験をしてもらいました.
まずはお手本のコードをそのまま写してもらい,エージェントを動かしてもらいました.
(5) コーディング体験 (2)
今度はランダムなスピードでエージェントが前に進むルールと
エージェントが進む方向をランダムにするルールを問題として設定し,
適切なコードを考えてもらい,実装しました.
(6) シミュレーションテーマの考察
昨年,AcaDemoSで発表を行なった例を紹介し,9月の学校祭で発表するシミュレーションのテーマを
考えてくることを宿題としました.
- 第06回予定:TAによるビブリオバトル(アイスブレイク),ブレインストーミングによるシミュレーションテーマの決定
第06回(07/19) シミュレーションテーマの決定 †
(1) ビブリオバトル
デモンストレーションとして,9月の学校祭でも実施するビブリオバトルを高校生に披露しました.
今回のバトラーは,TAの吉田,勝田,佐野(発表順)の3人です.
3人が紹介した本は以下の通りです.
- 吉田『ポケットモンスター The Animation』首藤剛志 小学館スーパークエスト文庫
- 勝田『9S(ナインエス)』葉山透 電撃文庫
- 佐野『とっても!ラッキーマン』ガモウひろし ジャンプコミックス
今回のチャンプ本は,TA勝田が紹介した『9S(ナインエス)』でした!
(2) ブレインストーミング
前回の宿題で考えてきたシミュレーションテーマを発表してもらい,ブレインストーミングを実施しました.
シミュレーションは男子チーム,女子チームに分かれて実施します.
それぞれのシミュレーションは以下のように決定しました.
- 男子チーム:漁獲量シミュレーション
- 魚の生態系をモデル化し,漁獲量によって生態系への影響があるかを調べる
- 女子チーム:省エネシミュレーション
- エアコンと扇風機を利用する頻度の違いが電気使用量にどう影響するかを調べる