2010年5月27日木曜日

Rで一次元セルオートマトン



渋滞学の西成氏を理学特別講義に呼んだとき、彼の扱ったセルオートマトンの話の学生さんの受けが非常によかったので、1年生むけの演習を担当するときに「セルオートマトン」を取り上げています。Wikipediaでざっと眺めてから、今年はWolframの論文Cellular Automata as Simple Self-Organizing Systems (1982)を読んでいるのですが、さすがに1次元セルオートマトンでも黒板やノートでその時間変化を追うのは結構つらい。といって、いきなりCでプログラムを書かせるわけにもいかないし、また書かせたとしても、それをどこで実行するのかという問題もある。大学に来ないとできない、ではなく、自分のパソコンで簡単に実行できるのが望ましい。(この演習なるものが、学生さんが自分で実験、研究をし、それをプレゼンするというのが目標なので。そうじゃないなら、論文読んで「ハイおしまい」で楽なのですが。)

そこで、Rで一次元セルオートマトンのプログラムを作成してみました。いろいろ他のサイトで情報を探したのですが、研究レベルのものしか見つからなかったので。まだ、RやRでの関数の作成に不慣れなのですが、なんとかルール90でシェルピンスキーギャスケットの描画には成功。あとは、学生さんたちが自分でルールをいろいろいじれるように改良しないと。(ちなみに、今回作成したファイルは次のInitial_1.Rrule_90.RT_step_90.Rの3つ。)

3年生むけの数値計算演習もRでやるので、そのいい勉強にもなりました。(というレベルで教えるほうも教えるほうですが。)

0 件のコメント: