introduction

1
柏サイエンスキャンプ
東京大学人間環境学専攻
奥田・橋本研究室
修士1年 相良 光志
2
研究室体験
• 自動車普及の予測
• ガソリン車
• ハイブリッド車
• 燃料電池車 (FCV)
• コンピュータを使って
マルチエージェントシミュレーション
• サンプルプログラムを改造
3
マルチエージェントシミュレーション
(MAS)
? space alcより
• エージェント…代理人、病原体
一定のルールに従い、行動して
周囲に影響を及ぼすもの
• 社会
→
複数のエージェントの集まり
と置き換える
• MASとは…
複数のエージェントを用意して
その相互作用を考慮したシミュレーション
4
マルチエージェントシミュレーション
(MAS)
• MASとは…
複数のエージェントを用意して
その相互作用を考慮したシミュレーション
• MASの例:避難、交通
• エージェント…代理人、病原体
?
作用因子
space alcより
一定のルールに従い、行動して
周囲に影響を及ぼすもの
5
プログラミング
• プログラム…
計算や仕事の手順を
特定の言語や形式で書いたもの
××まで車で行くと何分か教えて
車って何?
• 車とはどのようなものか?
• 距離はどのくらいあるのか?などを
細かく定義して命令しなければならない
6
Java
• C言語は…
「これをやったら次これをする」
• Javaは構造化が可能
• 「車とは~」
• 「『車がv[km/h]で走る』とは~」
という定義ができる
構造…「クラス」
• モノとしてプログラミングする方法…
「オブジェクト指向」
7
Eclipse
• 統合開発環境
• テキストエディタ
• 命令文の翻訳機(コンパイラ)
• 計算結果等を表示する画面(コンソール)
など
を一つにまとめて、
プログラミングを支援するアプリケーション
• Androidアプリも作れる
8
クラスを管理
テキストエディタ
Eclipse
• 統合開発環境
• テキストエディタ
• 命令文の翻訳機(コンパイラ)
• 計算結果等を表示する画面(コンソール)
など
計算結果などを出力
を一つにまとめて、
プログラミングを支援するアプリケーション
• Androidアプリも作れる
9
Real World:Fuel Cell Vehicle
Diffusion Simulation
• アメリカのデータをもとに
自動車普及を予測
• ガソリン車
• ハイブリッド車
• FCV車
• グラフを出力
• 各車種の普及率
• ハイブリッド車の販売数
ガソリン車の普及率
10
3年生だと…
• 補助金の考慮
• 中古車の考慮
• パラメータの影響の調査
• イノベーター理論の適用
• 日本のデータの適用
11
プログラミングの演習
• Hello World!(コンソール画面への出力)
• 変数
• forループ
• 配列
• if文
12
Hello World!
• コンソール画面(ideoneではstdout)に
Hello World!と表示される
• JavaではSystem.out.println(“~”)で
コンソール画面にテキストを出力
13
変数
• 変数…数字を入れておく箱
• int
… 整数が入る箱
• double … 実数が入る箱
1
x
x=x+1
xの中身に1足した数を
xに入れろ
2
x
• = は「変数に数字を入れろ」という命令
14
変数(演習)
• これはどうなる?
int x=3;
x=x/2;
• 答え
1
?
x
整数を入れる変数(int)で割り切れない除算を
行うと繰り下がりが発生
?
15
forループ
• ある条件を満たしている間、
括弧内の処理を繰り返す
• for(初期値; ループの条件; 更新)
• 一般的にN回繰り返すために使う
for(int i=0; i<N; i++)
• 0からN-1までループ
16
配列
• 似たような変数をたくさん使うとき…
x1=~
x2=~
x3=~
たくさんあったら大変
• int[] x=new int[5];と定義すると
5つの変数が用意される。
x[0], x[1], x[2], x[3], x[4]
• 0からカウントが始まるので注意
17
if文
• ある条件を満たした時だけ括弧内の処理を行う文
• 用意されている条件
•
•
•
•
大なり小なり
以上・以下
等しい
等しくない
• else
…
• else if(~)…
…>, <
…>=, <=
…==
…!=
条件を満たさなかった時の処理
条件を満たさなかったが、
(~)の条件を満たした時の処理