『人工社会構築指南』


 今更、このウェブサイトで紹介する必要もないでしょう。山影研究室の共同作業の成果であり、「山影進とその仲間たち」が作った本です。その中で一番素人の山影(私)がartisoc(旧名JAVA-KK-MAS)を学んでいった過程を反映して、だれでも独習可能なように作られています。単なるチュートリアルとかマニュアルではなく、思想(考え方)についても日頃から思っていることを書いてみました。しかし、そもそも論から始めるのではなく、間口が広くて入りやすい入り口を設け、だんだんと複雑化、高度化、抽象化させることに努めました。
 本書は読む本ではなく、マルチエージェント・シミュレーションに慣れるための本です。本書を使うことによって、マルチエージェント・シミュレーションを少しでも身近なツールとして実感してもらえたら嬉しい限りです。この技法がなるべく社会科学分野でも受け入れられるように、これからも具体的な研究事例の紹介活動を続けていきたいと思っています。その意味で、「人工社会の可能性」というシリーズの第1作としました。今後の続刊を期待していてください。
 個人的にも、オブジェクト指向プログラミングを勉強することなく、マルチエージェント・シミュレーションを簡単に行うことができて、ホントに楽しいです。本書の中のモデルも、実際に私が作ってみたものがいくつもあります。そのうちに、マルチエージェント・シミュレーションで遊ぶ私と国際関係論を勉強しているらしい山影さんとの顔合わせが実現するかも知れない。



◆ 短評 ◆

 

 シミュレーション初学者である私が本書を入手し、ページを繰りながらコンピュータの前でせっせと練習問題を解いて、一応最後までたどり着いたのがつい3ヶ月ほど前のことである。その私が本書についての短評を書くことになった。と言うわけで、ここでは初学者の視点から自分の体験談に引き付けて述べてみたいと思う。
 おそらくシミュレーションの勉強を始めることに二の足を踏ませるのは(私に二の足を踏ませたのは)、@プログラミングを始めとして文系にとって厄介な技能を要求され修得に多大な労力を要する、Aその割に本当に社会科学において有用なツールなのか疑わしい、という二つの懸念だろう。平たく言えば、@難しそう、Aうさんくさい、ということになる。
 だが本書に登場するartisocというシミュレータはプログラミング言語の知識を全く必要とせずにモデルが作れてしまう。その上で自由度は非常に高く、本書の説明に従って学習を進めていけば様々なタイプのモデルを作るための技法を一通り学べるようになっている。日本語環境なのも嬉しい。決して敷居は高くないというのが実感である。
 それにも関わらず、マルチエージェント・シミュレーションは強力なツールである。何しろ例えば「なぜ民主主義国家間では戦争が生じないのか?」「勢力均衡なのかバンドワゴンなのか?」「ネイションはいかにして形成されるのか?」といったおなじみの(かつ魅力的な)問題を自分のコンピュータの中にある人工社会で検証してみることができるのである。マルチエージェント・シミュレーションによる研究成果は様々なところで目にすることができるが、差し当たりこのHPからダウンロードできるワーキング・ペーパーを見ていただければと思う。

 最後に非常に初学者っぽい感想を述べてみると、自分が手塩にかけて作った人工社会でエージェント達が動いてくれる絵を見るのは格別の喜びである(もはや「遊び」の感覚だが)。楽しみながら技法を修得できる、というのが本書の最大の特徴なのではないだろうか。多くの方にこの楽しさを味わってほしいと思う。


  東京大学大学院総合文化研究科   博士課程
                 湯川拓(東南アジア政治)



◆ 目次 ◆


 第0部 人工社会をもっと身近に
 0、人工社会を作ろう
 1、なぜ人工社会を作るのか
 2、マルチエージェント・シミュレータartisocの登場


 第1部 モデル作りの基本を身につける
 3、シミュレーションの準備をする 
 4、エージェントを動かす
 5、エージェントに判断させる
 6、エージェントに周囲の環境を調べさせる
 7、モデルの設定値をモデルの外部から操作する
 8、シミュレーションの過程をいろいろ出力したり、管理したりする
 9、格子型空間の構造を活用する
 10、第1部の終了を記念して:シェリングの「文居モデル」を作る


 第2部 人工社会の発想と技法になれる
 11、状況に応じた行動の選択肢を増やす
 12、エージェントを識別して複雑な関係にする
 13、周囲のエージェントから影響を受ける 
 14、特定のエージェントから影響を受ける
 15、他のエージェントに働きかける
 16、エージェントへの究極の働きかけ
 17、非対称的な相互作用を複雑化する
 18、空間を「場」として利用する
 19、同期問題に注意する
 20、第2部の終了を記念して:コンウェイの「ライフゲーム」を作る


 第3部 本格的な人工社会を目指す
 21、エージェントを空間上で複雑に動かす
 22、属性を文字列で表す
 23、属性を複雑に操作する:アクセルロッドの文化変容モデル(簡
    略版)を作る
 24、エージェントを複雑な条件で選別する
 25、エージェントを識別して複雑な関係にする
 26、繰り返しの多いルールをすっきりと:レイノルズのボイドモデル
    (2次元版)を作る
 27、様々な技法を組み合わせる:ランダム・ネットワークを生成する
 28、多様な空間構造を利用する
 29、過去を参照する:アクセルロッドのゲーム戦略選手権モデル(簡略
    版)を作る
 30、エージェントに学習・適応させる:ゲーム戦略選手権を発展させる


 第4部 研究・実務のツールにする
 31、実行順序を制御する
 32、モデルのミスをチェックする
 33、画像をマップに表示する
 34、空間変数を活用する
 35、実験のための道具を活用する
 36、ログ機能とファイル入出力関数を活用する
 37、シミュレーションを疑ってみる
 38、人工社会の対象を方法を俯瞰する


付録 読書案内:高みをめざして



山影進『人工社会構築指南』(書籍工房早山)

2007116日更新


トップページ
研究室情報論文・著書