2010年10月22日金曜日

シミュレーションの講義

10月18日~22日にかけてドクター向けのシミュレーションの講義があるので
参加してみないかとお誘いを受けたので,ぜひぜひにと参加してきました.
いわゆる集中講義で,1日3コマ×5日の計15コマ.しかも講義は朝9時からお昼まであり,
午後はhomeworkのための時間に設定されています.

いつもはトラムに乗って20分くらいのキャンパスへ通っているのですが,
この講義は中心街にあるポー通りにある別にキャンパスで行われました.
(Porta di Poのすぐ近くで,自宅から歩いて20分のところです)

一度も行ったことがない場所だったので不安があったものの,
大学のキャンパスだから迷うことはないだろうと思っていたら,ものの見事にやられました.



まず看板が驚くほど小さくてまったく目立たない.扉も通りにある普通のもので,
まさかこんなところがキャンパスの入口だなんて思いもよりませんでした.
幸いにも通り過ぎた後に知り合いの院生さんと会ったのでわかりましたが,
そこで会っていなければ永遠に探し続けていたことでしょう.

しかもこの扉,インターフォンを押して中から開けてもらわないと開きません.
建物の中に入っても同じような扉がもうひとつあり,
そこでは秘密の番号を押すと開くという関門でした(謎).

経済学部は建物の4階の1フロアを貸し切っているようで,
ここはどうやら院生とポスドクの居室になっているようです.
院生さんはこんな街中で研究していたんですね.
小さな部屋に数名がはいっている居室は日本のそれとあまり変わりないものでした.

講義は英語で行われ,参加者は10名程度.例によって国籍もさまざまです.
エージェントベースシミュレーションにおけるモデリングについて
「NetLogo」「Python」を使って実践するという内容です.
NetLogoは3年前に参加したESSAでも大人気の言語で,
プログラミングに慣れていない社会科学系の人たちにとっては非常に扱いやすい言語です.
Pythonもいまや産業界の開発の場で広く使われている言語であり,
統計解析で用いられるソフトウェア「R」との連携も楽に行えるそうです.

導入で社会シミュレーションにおけるモデリングについて
古典から最新の重要と思われる論文について解説があり,その意義や効果についてお勉強.
1日目の半分くらいで座学が終わり,そこからはひたすらコードとの戦いが始まりました.

NetLogoは私も講義で扱ったことがあるのでそれほど苦ではありませんでしたが,
Pythonを扱うのは初めて.NetLogoとPythonを使ってまったく同じものを作り,
それを比較しながらモデリングを勉強していくのですが,3日目くらいから内容がかなりハードに.

homeworkも最初は楽々こなせていたのが,最後のほうは半日かけてグッタリという有様.
シミュレーションの講義を短期集中にするのはちょっとキツイかも...
Javaをやっていたのでオブジェクト指向についてはそれなりに理解しているつもりでしたが,
改めてPythonを通じてオブジェクト指向を基礎から学んでみると,
わかったようになっていたところがいくつかありました.

文法も含めてかなり短期間で詰め込んだので,
帰国してからも自分で勉強し直さないとまた忘れてしまいそうです.
これを期にPythonをモノにして,研究で使ってみよっと.

この1週間,朝からみっちり大変でした.土日にガッツリ休んだことは言うまでもありません.