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