2014/06/11 コンピュータモデルで社会を観る 創発モデル 人工生命 システム創成学専攻鳥海不二夫 自己紹介的なもの 名前 鳥海不二夫 所属 東京大学大学院工学系研究科システム創成学専攻 専門 人工知能 情報工学 主な活動 異種協調型災害情報支援システム実現に向けた基盤技術の構築 人狼知能プロジェクト Twitter における炎上分析 一般化メタ規範ゲームの分析 2 今日のお話 社会シミュレーション エージェントベースシミュレーション モデリング フレーム問題 単純なルールが生む複雑な現象 ライフゲーム コンピュータシミュレーション 現象の理解 予測 検証のためのコンピュータを用いた模擬実験 実世界では困難な実験を実施する手段 現実 仮想現実 台風シミュレーション ( 地球シミュレータセンター ) http://www.jamstec.go.jp/esc/index.html 社会シミュレーション コンピュータによる人間社会の再現 どうすれば金融恐慌は防げるのか なぜ Twitter はこんなに流行ったのか 災害救助の最適な戦略は何か コンピュータの中の社会 = 人工社会 現実社会では再現不可能な事象シミュレーションによって確認 社会シミュレーションの概略 実社会社会のモデル エージェント人工社会シミュレーション 1
例えば, マーケティング どうすればより商品が売れるだろうか? わからなければ実験だ? ステマの効果を確認ステマを するためブログ書きますモデル化します 仮想的な商店 Class Exchange{ void trade(){ エージェント ベース シミュレーション 自立的な意思を持つエージェントによるモデル化 ボトムアップ的な社会現象の理解 なぜエージェント ベース シミュレーションか? シミュレーションによる社会 生活の変化のモデル 社会の挙動に普遍的な法則はない 物理 化学シミュレーションとは異なるアプローチ 個々のエージェントの動きが社会の動きとなって現れる エージェント ベース シミュレーション 行動主体をエージェントとして個々にモデル化し, 人や組織のインタラクションの連鎖を計算するシミュレーション 多数の人間から成る社会を自然に表現できる 行動主体の多様性 異質性の表現に対する適性がある エージェントベースシミュレーションによる社会のデザイン 社会現象株価流行 人間行動 データマイニング取引コミュニケーション 現象の再現 設計 デザインシミュレーション どのようにモデルを構築するのか? 物理シミュレーションには高い妥当性 物理的 数学的モデル モデルへの妥当性が非常に高い 行動原理心理状態 行動モデルのモデリング構築 社会シミュレーションにおけるモデル化 人の動きは数式で表せない どのようにモデルかするべきか? 行動が予測できない人々の例 2
二つの方策 出来るだけ複雑化する 出来るだけ単純化する 複雑化したモデル よりリアルな世界を構築する 出来ることなら人間一人一人をモデル化 その特徴や行動特性まで導入 どうすれば実現できるか? 映画 マトリックス 小説 ループ では実現 スーパーコンピュータならば可能? フレーム問題 フレーム問題 人工知能における一般的問題 問題が複雑になりすぎて演算しきれないこと 現実に起きうることは数が多すぎる すべてに対処することは不可能 R1 ロボットの奮闘 ロボット R1 に与えられた課題 部屋の中の台車に乗った予備バッテリーを持ってこいただし, バッテリーには爆弾が仕掛けられている 人工知能ロボットにおける R2D2 への道 Daniel Dennett, Cognitive Wheels : The Frame Problem of AI, The Philosophy of Artificial Intelligence, Margaret A. Boden, Oxford University Press, 1984, pp. 147 170. R1 ロボットの行動 R1 は単純なロボット 扉を開けて中に入って台車を外に出す R1 ロボットの行動 R1 は単純なロボット 扉を開けて中に入って台車を外に出す 爆発 3
ロボット R1D1 R1D1 の奮闘 Robot-Deducer 演繹処理可能型 AI ロボット 何をすると何が起きるか推定可能 ロボット R1D1 R1D1 の奮闘 Robot-Deducer 演繹処理可能型 AI ロボット 何をすると何が起きるか推定可能 台車を押す 振動する 爆発するか途中で転ばないか? 爆弾の? ドアを開ける 種類は 床の材質は 光具合から材質を推定 光源ほこりが舞う はどこに 爆発はしない ロボット R1D1 R1D1 の奮闘 Robot-Deducer 演繹処理可能型 AI ロボット 何をすると何が起きるか推定可能 考えることが多すぎて移動できず ロボット R2D1 R2D1 の奮闘 Robot2-Deducer 演繹処理可能型 AI ロボット改 関係ありそうなことをリストアップして推論 タイヤの材質 : 関係あり力学 : 関係あり材質の摩擦係数ニュートン力学 : 関係あ : 関係あり台車 : 関係ありり中略台車のタイヤ : 量子力学 : 関係あり 関係あり ロボット R2D1 R2D1 の奮闘 Robot2-Deducer 演繹処理可能型 AI ロボット改 関係ありそうなことをリストアップして推論 波動方程式まで解きだしてタイムオーバー R2D2 への道 ロボット R2D2 必要な分だけ推論をする賢いロボット 果たして何が必要なのか どこまで複雑にすれば良いのかは難しい問題 4
たとえば, 金融市場モデル どこまで人間を複雑にモデル化すべきか? 順張り 逆張り 単純 チャーティスト ファンダメンタリスト ヘッジファンド HFT トレードタイミング 今日の気分 複雑な戦略 複雑 単純化されたモデル 人が本質的に持つ性質を利用 合理的行動を取る Ex. 自分が損をする行動はしない 不合理な行動も取る 一定数は予想外の行動を行う人がいる 過去を学習する,etc 説得力の高いモデルを構築 社会心理学などを応用 単純なモデルから複雑な事象を創発させる 単純なルールからは単純な結果しかでないのでは? ルールは単純でも世界は複雑 ライフゲーム ジョン ホートン コンウェイが 1970 年に提案 ケンブリッジ大学の数学者 生物社会の象徴 生命の誕生, 進化, 淘汰のモデル NxN 個のセル世界 あるセルが 生きる か 死ぬ かを単純なルールで記述 生死のルール 誕生 死んでいるセルの周囲に3つの生きているセル 次の世代で誕生 維持 生きているセルの周囲に2~3の生きているセル 次の世代でも生存 死亡 上記以外 次の世代では死亡 5
プログラムはこれだけ int[][] world = getworld(); int[][] next = new int[width][height]; for (int i = 0; i< width; i++) for (int j = 0; j < height; j++) { int cnt = count(world, i, j); if (cnt == 3){ next[i][j] = 1; if(cnt == 2){ next[i][j] = world[i][j]; world = next; どこまで複雑になるか これだけの単純な世界がいかに複雑な世界を構築するのか? ライフゲームの世界 1* ライフゲームの世界 3* ライフゲームの世界 4* ライフゲームの世界 6 ライフゲームの世界 7 ライフゲームの世界 8* 単純なルールから複雑さが生じる創発 モデルの単純さだからといって事象が単純とは限らない わずか 3 つのルール 生命を感じさせる動き コンピュータを思わせる動き 社会シミュレーションも同様 単純な行動によって複雑な社会現象を表現可能 いかに単純なモデルを構築するか そこから説得力のある社会を構成するか 次回以降のお話 複雑な社会を単純なモデルで表現する方法 人間の心理状態をモデル化 単純なモデル化でどこまで社会は表現できるか 社会を表現してどうするか? 本質的な社会の理解 社会がどうあるべきか考える 6