エージェントモデル シミュレーション
エージェントモデル シミュレーション プログラミングの意義 様々なシミュレーション 複雑系とシミュレーション エージェントシミュレーションとは エージェントモデルの例 ABSを使った演習について
プログラミングの意義 プログラミング言語 技能教育としての意義は薄れた ものごとの手順や構造把握 試行錯誤、思考のための意義は大きい シミュレーションとしてのプログラム プログラミング言語 情報基礎では BASIC、LOGOが一般的 FORTRAN、COBOL、C、PASCAL、Object指向言語など
様々なシミュレーション 簡単な因果関係を示すシミュレータ ゲームとしてのシミュレータ 複雑な動きを解明するシミュレータ 比例関係を示すシミュレータ ゲームとしてのシミュレータ シムシティ(町づくり) Tower(ビル構築とエレベータ制御) 複雑な動きを解明するシミュレータ エージェントモデルシミュレータ
複雑系とシミュレーション
複雑系 要素還元主義 reductionism 複雑系の定義 Complex System 古典的科学、部分の総和=全体 解決できない課題(部分の総和≠全体) 総和以上の動きを系全体がしめす 要素還元的でない研究方法の必要性 複雑系の定義 Complex System 「システムを構成する要素の振る舞いの ルールが、全体の文脈によって動的に変化してしまうシステム」
複雑系のイメージ イメージとしては バラバラにすると本質が抜け落ちる システムの構成要素は 各自のルールに従って機能している 局所的(Local)な相互作用によって 全体の状態や振る舞いが決定される 全体的な振る舞いをもとに 個々の要素のルールや関係性が変化する
創発 emergence 物体レベル システム論での創発 低い階層から高い階層 へ移ったときに はじめて存在する性質 かめ 創発 分子レベル
創発 emergence 人工生命の創発 構成要素の局所的な 相互作用が全体的な 大域的秩序を生み、 構成要素にも影響を 及ぼす 大域的な秩序 創発 構成要素 局所的な相互作用
構成的手法 複雑系は解析的に解明できない 「構成的手法」 基本的モデルを構成、コンピュータ上に発生させ、全体の振る舞いを観察する方法 現実世界 観察対象 アナロジー 仮説モデル シミュレーション 結果
構成モデルによる研究 対象の観察 特徴の抽出 構成モデルの作成 シミュレーション 結果の評価 対象と構成モデルとの比較検討
シミュレーションの実際 群れのシミュレーション 鳥の群れは誰がコントロールしている? ボイド (Boids)鳥ロボットの群れ 簡単な3つのルール 衝突回避:近すぎる群れの仲間と離れ、衝突を回避する 速度調整:周りと速度を合わせる 求心力:群れの中心の方へ向かおうとする
構成要素とエージェント 構成要素 element エージェント Agent システムを構成する要素 身体を構成するのは→細胞 構成要素のうち主体性をもつもの 社会を構成する生物や人間はエージェント
マルチエージェントモデル シミュレータ 特定のルールを持ったエージェントを 多数作り、人工的な場で相互作用を 起こさせるシミュレータ エージェントに対してルールを与える
シミュレータ Swarm StarLOGO ABS アメリカ・サンタフェ研究所 Cをベース、開発者向け MIT / タフツ大 初心者向け日本語プログラム
ABSを使った演習 いくつかのモデルを実行してみる モデルのパラメータを変えてみる モデルのルールを書き換える 自分でモデルを作ってみる