自律分散協調コンピューティング 慶應義塾大学環境情報学部 徳田英幸 © H.Tokuda 2007 ちょっと復習と。。。 前半部分のまとめ 自律分散協調システム 分散アルゴリズム アドホックネットワーク/センサネットワーク P2P型アプリケーション マルチエージェントシステム 発見的手法 情報システムにおける自律分散協調 自律分散協調システムのねらい 自己組織性 創発のメカニズム 自律分散協調コンピューティング アドホックネットワークプロトコル ソフトウェアエージェント 自律ロボット p2pアプリケーション © H.Tokuda 2007 自律性について 社会システム ガバナンスモデル 電子政府モデル 地方自治体モデル 教育、交通、安全システム スマート交差点問題 自律分散協調モデル 創発とは? Waveは、どう起るか? ロボット自動整列問題 ロボットよ、コンパスを持って協調せよ! 掃除ロボット問題 どのようなアルゴリズムが良いか? © H.Tokuda 2007 協調性について 協調メカニズム 協調プロトコル どのような協調パターンがあるのか? どのように記述するのか? なぜ協調するのか? 自然なプロトコル 生物システム 人工的なプロトコル Client-Server Ethernet’s MAC Layer 競売プロトコル 回覧板プロトコル その他多種多様なプロトコル。。。 © H.Tokuda 2007 自律分散コンピューティング 分散アルゴリズム 自律性 分散エージェント、マルチエージェント、自律ロボット 分散性 物理的な分散(コントロール+データ), p2pシステム フラットな構造 協調性 協調プロトコル 複雑な問題に対する新しいアプローチ 遺伝的アルゴリズム(GA) ニューラルコンピューティング © H.Tokuda 2007 P2P型システムとその応用 P2p型システム peer: 端末ノード peer-to-peer: 1対1の対等な協調作業形態 アプリケーション ファイル共有、交換、配信: Chord, Napster, Gnutella, Winny グループウェア: Grove 分散コンピューティング: SETI@home 分類 構造的p2pシステム Deterministic algorithms DHT (Distributed Hash Table)-based Systems CAN (Content Addressable Network) 非構造的p2pシステム Randomized algorithms Search by Flooding alg. E.g. MANET’s routing © H.Tokuda 2007 C/S型 vs. P2P型 © H.Tokuda 2007 通信トポロジによる分類 Client-Server Flat: 一つのサーバ、多くのクライアント。Webなど Hierarchical: 複数の階層状のサーバ。DNSなど Peer-to-Peer Pure: 中央サーバなし。Gnutellaなど Hybrid: 中央サーバあり。Napsterなど 中央サーバはメタ情報(他のpeerの位置など)の伝達、セ キュリティ目的(認証など)などを行う 10 P2P応用分野 マーケット アプリケーション テクノロジー プラットフォーム example markets/ financial biotech comm. industries Simulation Market Calculation example applications Genome Sequence Instant Messaging Protein Folding White Boards Etc. Etc. Etc. enterprise entertainment Process Mgmt Games Online Storage Rich media Sharing File Sharing Etc. Etc. horizontal Distributed computing technologies Collaboration & Communication platforms JXTA, .NET Services 11 Content sharing マルチエージェントシステム マルチエージェント システム特定の目的をもって行動するエー ジェントが、他のエージェントと協調的に行動 するための性質、条件やエージェントが複数 存在するときに生じる現象、効果などについて 研究することを目的としている。 特定の問題を部分問題に分割して解決してい くことを主たる目的としていない。 © H.Tokuda 2007 マルチエージェントに関わる研究分野 分散人工知能: 知的エージェントの協調的な 問題解決 分散協調ロボット:複数ロボットの協調作業 CSCW:人間を支援するプログラム間の協調 方法 人工生命:生命的存在の集団行動、生態系 仮想現実:仮想現実空間中に可視化された複 数エージェントおよび人間の相互作用 © H.Tokuda 2007 システムの捕らえ方 構成論的手法 Top-down, bottom-up手法 Client-server model 自己組織論的手法 自律的にシステムを構成 群知能、集団行動 アリの巣 都市のかたち 自律型ロボットシステム © H.Tokuda 2007 構成論的手法 協調方法を定義したアーキテクチャの構築 全体に対して個々のエージェントの役割が位置づ けられる。 コミュニケーションプロトコルの設計 マスタースレーブ的な協調、機能分割的な協調 位置的、機能的分散処理の重視 工学的な効率、システム動作解析可能性の重視 © H.Tokuda 2007 自己組織論的手法 協調的行動を発現するアーキテクチャの構築 全体は、個々のエージェントのインタラクションの結果として 創出される。 システムダイナミクスの研究 柔軟性、頑健性の重視 自律性に基づく協調 生物、社会現象の模倣 © H.Tokuda 2007 マルチロボットシステム 基本アイデア:複数ロボットの協調作業 背景:分散環境の整備、集中的システムの限界 特徴:柔軟性、頑健性、並列性、拡張性 応用:清掃、点検、運搬作業、Flexible Manufacturing, 宇宙ロボット、エンターテイメント © H.Tokuda 2007 自律性とは? 自律: 自分で自分の行為を規制すること 外部からの制御から脱して、自身の立てた規範に従って行 動すること 自立: 他の援助や支配を受けず自分の力で身を立てること 自律性をプログラムするとは? エージェントを作るとは? © H.Tokuda 2007 知的エージェントとは? 知的エージェントは、ある環境をセンサで知覚 し、ある環境にエフェクタを通して動作するも のである。 自律ロボットエージェント センサ:カメラ、赤外線センサ エフェクタ:手、足などを制御するモータ © H.Tokuda 2007 環境の多様性 アクセス可能 vs アクセス不能 決定的 vs 非決定的 静的 vs 動的 離散的 vs 連続的 © H.Tokuda 2007 知的エージェントとは?(2) 環境 センサ群 知覚動作 ? エージェント 動作 エフェクタ © H.Tokuda 2007 エージェント指向コンピューティング 新しい自律分散協調システム作りのパラダイムの1 つ 問題解決の質や性能の向上 コンピュータ・ヒューマンインタラクションの高度化 システムモデリングと設計支援 AI分野での知的エージェント エージェント指向プログラミング IT分野でのソフトウェアエージェント © H.Tokuda 2007 合理的な動作 どのような時に合理的な動作がとれるか? 次の4条件に依存している 成功の度合を定義する尺度がある エージェントが知覚したものすべてを利用できる (知覚列) エージェントが環境に関して知っている エージェントが動作できる 理想合理的エージェント 可能な知覚列のすべてに対して、理想合理的 エージェントは、知覚列とエージェント自信の 持つ組み込み知識にもとづいて、性能尺度を 最大にする動作を選択する。 性能尺度 エージェントがどのくらい成功したかとを評価する 基準 どんなエージェントにも適用できる一般的な基準 はない! エージェントプログラム エージェントプログラムの適切な設計は、知覚、 動作、ゴール、環境に依存する 入力の種類や意思決定の違いなどによって、 さまざまな設計手法がある。 エージェントプログラムのタイプ例 単純反射エージェント 知覚に対して反応するルールをすべて持っている 記憶をもつ反射エージェント 内部状態を持った反射エージェント ゴール主導エージェント ゴールを達成するための、探索とプランニングを行う 効用主導エージェント ゴールのみでなく、自分自身の効用関数(満足度)を 最大にしようとする 単純反射エージェント function SR_Agent(percept) state = interpret_input(percept) rule = rule_match(state, rules) action = rule_action(rule) returns action 記憶をもつ反射エージェント function SR_Agent(percept) state = update_state(state, percept) rule = rule_match(state, rules) action = rule_action(rule) state = update_state(state, action) returns action エージェントの基本アーキテクチャ 処理モジュール 問題解決機構 協調制御機構 動作制御機構 知識モジュール 問題解決知識・制御知識 協調知識 知識管理機構 コミュニケーションモジュール メッセージイベント機構 協調プロトコル 通信プロトコル 外部環境 他エージェント 他システム 人間 エージェントの性質 基本特性 自律性 社会性 反応性 自発性 (Autonomy) (Social Ability) (Reactivity) (Pro-activeness) その他 合理性 (Rationality) 適応性 (Adaptability) 誠実性 (Veracity) 移動性 (Mobility) 心的状態 (Mentality) 感性 (Emotionality) 。。。 自律分散協調システム 問題解決のパラダイム 自律分散コンピューティング 分散アルゴリズム 自律性 分散エージェント、マルチエージェント、自律ロボット 分散性 物理的な分散(コントロール+データ) フラットな構造 協調性 協調プロトコル 複雑な問題に対する新しいアプローチ 遺伝的アルゴリズム(GA) ニューラルコンピューティング © H.Tokuda 2007 問題解決手法のパラダイム 問題空間探索手法 問題空間と解空間 Goal & Subgoal 発見的手法 A B Generate & Test F H © H.Tokuda 2007 C G I J D E 問題解決手法のパラダイム 問題空間探索手法 問題空間と解空間 Goal & Subgoal A B 発見的手法 Depth first Breadth first H Best-first & eval fct. F GA Generate & Test © H.Tokuda 2007 C G I J D E 問題空間と解空間の概念 5 2 e.g., 8-puzzle 3 1 6 4 2 7 3 1 5 6 4 7 8 8 2 4 5 3 2 5 1 6 1 6 7 8 4 7 1 2 3 4 5 6 7 8 © H.Tokuda 2007 3 8 2 3 1 5 6 4 7 8 世代の概念 Life game J. H. ConwayのLife Game Life gameのルール 盤面上にいくつかの石(生命体)を置く.(初期集団) 盤面のある場所が空いていて、しかもその場所と隣り合う ちょうど3個の場所に生命体が存在するならば、次の世代 にはその空いた場所に新しい生命体が誕生する. また、すでに存在する生命体については、隣り合う場所に 住む生命体が1個以下、または4個以上になると、過疎ま たは過密のため、次の世代には、死んでしまう. © H.Tokuda 2007 世代の概念 (2) 世代の概念 * * * * * * * * © H.Tokuda 2007 * * * * * * . . . Life.cで世代計算 a[i, j]のマトリックスに生命体をセット b[i][j]に周囲の生命体の数 a[i][j]に次世代生命体をセット 。。。 /* calculate the next generation */ for (i = 0; i <= N + 1; i++) for (j = 0; j <= M + 1; j++) { if (b[i][j] != 2) a[i][j] = (b[i][j] == 3); b[i][j] = 0; } } © H.Tokuda 2007 遺伝的アルゴリズム(Genetic Algorithm: GA) 生物進化(選択淘汰・突然変異)の原理に着 想したアルゴリズム 基本的には,Generate-and-Test型のアルゴリ ズム Holland, "Adaptation in Natural and Artificial Systems" (1975) 1985 1st Conf. on Genetic Algorithm at CMU © H.Tokuda 2007 問題空間と解空間の概念 5 2 3 1 6 4 2 7 3 1 5 6 4 7 8 8 2 4 5 3 2 5 1 6 1 6 7 8 4 7 1 2 3 4 5 6 7 8 © H.Tokuda 2007 3 8 2 3 1 5 6 4 7 8 世代の概念 Life game J. H. ConwayのLife Game Life gameのルール 盤面上にいくつかの石(生命体)を置く.(初期集団) 盤面のある場所が空いていて、しかもその場所と隣り合うちょうど 3個の場所に生命体が存在するならば、次の世代にはその空い た場所に新しい生命体が誕生する. また、すでに存在する生命体については、隣り合う場所に住む生 命体が1個以下、または4個以上になると、過疎または過密のた め、次の世代には、死んでしまう. © H.Tokuda 2007 世代の概念 (2) 世代の概念 * * * * * * * * © H.Tokuda 2007 * * * * * * . . . 遺伝的アルゴリズム(Genetic Algorithm: GA) 生物における遺伝のメカニズムの応用 Generate-and-Test型のアルゴリズム 多点情報を利用した確率的な探索方法の一 つ 3つの遺伝的オペレータ 選択 (selection) 交叉 (crossover) 突然変異 (mutation) © H.Tokuda 2007 基本的な処理手順 Step 1: 初期集団の生成 Step 2: 終了条件が満たされるまでループ 適応度の評価 選択 交叉 突然変異 © H.Tokuda 2007 選択と交叉 . . . © H.Tokuda 2007 3つの遺伝的オペレータ 選択 集団における適応度の分布に従って、次世代に生存する個体群 を確率的に決定する。 交叉 二つの個体間で染色体を組み換えることによって新しい個体を生 成するもので、両親の優れた部分形成を子に継承させる。 突然変異 染色体上のある遺伝子を確率的に起き換え、新し い個体を作り出す。 © H.Tokuda 2007 TSP (Travelling Salesman Problem) 巡回セールスマン問題 すべての都市を1度ずつ訪問する. 巡回コストを最小にする経路を見つける. 2 1 10 3 8 9 5 4 7 © H.Tokuda 2007 6 GSによるTSPの解法 親1 [9 8 4 5 6 7 1 3 2 10] 親2 [8 7 1 2 3 10 9 5 4 6] 問題の文字列にコード化 文字列の集団populatio nを作る 文字列を評価する 子1 [9 8 4 2 3 10 1 6 5 7] 子1 [8 10 1 5 6 7 9 2 4 3] 表価値 = 1/ 巡回経路長 評価値に応じて淘汰を受ける 遺伝的操作により 新しいpopulatio nを生成する。 © H.Tokuda 2007 500都市問題の解 プリントアウト参照 © H.Tokuda 2007 CSCWシステム Computer Supported Cooperative Work Irene Greif, Paul Cashman (1984) グループワークの中で、コンピュータの役割に注目す る概念や基本姿勢に関する研究 コンピュータ支援(CS)という支援手段、協調作業(C W)という支援対象の2つの異なる視点を合わせもっ た概念 © H.Tokuda 2007 グループウェア Group ware: Peter and Trudy Johson-Lenz (1978) 共通の仕事や目的のために働く利用者のグループを 支援し、共有作業環境を提供するコンピュータシステ ム 個人作業環境と協調作業環境とのシームレスな結合 時間、空間、メディア間のシームレスな結合 © H.Tokuda 2007 グループウェアの分類 同期対面型:時間、場所、情報を共有(例:発 想支援システム) 同期分散型:時間、情報を共有(例:ビデオ会 議システム) 非同期対面型:場所、情報を共有(例:グルー プメモリ) 非同期分散型:情報を共有(例:ソフトウェア共 同開発システム) © H.Tokuda 2007 グループウェアの3つの側面 社会的側面 人間的側面 技術的側面 © H.Tokuda 2007 グループウェアの3つの側面(2) 技術的な側面:システムのデザイン、開発、運 用、評価 人間的な側面:個人の感情と感性、プライバ シーの保護、相互依存 社会的な側面:制度、慣習、社会的な関係へ の配慮 © H.Tokuda 2007 基盤技術 ネットワーク コミュニケーション支援 感性インタフェース 協調作業環境 © H.Tokuda 2007 前半部分のまとめ 慶應義塾大学環境情報学部 徳田英幸
© Copyright 2024 ExpyDoc