自律分散協調システム プロトコルと分散アルゴリズム 慶應義塾大学環境情報学部 徳田英幸 © H.Tokuda 2007.

Slides:



Advertisements
Similar presentations
多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
Advertisements

P2P 技術を応用した 分散システムの排他制御機構の試作 九州工業大学 情報科学センター 山之上 卓.
ロボット制御のソフトウェ ア: シミュレータ試作 情報理工学部 情報知能学科 H 207051 中谷聡太郎.
三木 光範 (同志社大学工学部) 廣安 知之 (同志社大学工学部) 花田 良子 (同志社大学工学部学部 生) 水田 伯典 (同志社大学大学院) ジョブショップスケジューリング問 題への 分散遺伝的アルゴリズムの適用 Distributed Genetic Algorithm for Job-shop.
遺伝的アルゴリズムにおける ランドスケープによる問題のクラス分類
グローバルコンピューティング環境における遺伝的アルゴリズムの検討
Chapter11-4(前半) 加藤健.
1.基礎概念 1.1 ディペンダブルなシステムとは Dependability Fault Avoidance
遺伝的アルゴリズム  新川 大貴.
遺伝的アルゴリズム概説 An Outline of Parallel Distributed Genetic Algorithms
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
エージェントモデル シミュレーション.
オペレーティングシステムJ/K 2004年10月7日
神奈川大学大学院工学研究科 電気電子情報工学専攻
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
社会心理学のStudy -集団を媒介とする適応- (仮)
自律分散協調システム プロトコルと分散アルゴリズム 慶應義塾大学環境情報学部 徳田英幸 © H.Tokuda 2007.
創発システムに向けて 慶應義塾大学環境情報学部 徳田英幸.
先端論文紹介ゼミ Role-based Context-specific Multiagent Q-learning
モバイルエージェントの応用 概要 モーバイルエージェントの応用分野 AgentSpaceシステム エージェント移動 応用:ソフトウェアの配信
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
3.2 合意問題 agreement problems
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
協調機械システム論 (04.11, 04,本郷) 協調機械システム論 東京大学 人工物工学研究センター 淺間 一.
自律分散協調システム.
「システム構成要素」 (C)Copyright,Toshiomi KOBAYASHI,
TinyOS 浅川 和久 2017/4/7 TinyOS.
CSP記述によるモデル設計と ツールによる検証
エージェントについて 上杉裕也.
集団的意思決定支援法の実験環境に関する研究
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装
協調機械システム論 ( ,本郷) 協調機械システム論 東京大学 人工物工学研究センター 淺間 一.
MPIを用いた並列処理 ~GAによるTSPの解法~
正規分布における ベーテ近似の解析解と数値解 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
5 テスト技術 5.1 テストとは LISのテスト 故障診断 fault diagnosis 故障解析 fault analysis
12/14 全体ミーティング 米澤研究室卒論生 山崎孝裕
卒論進捗発表(1) 10/ 山崎孝裕.
遺伝的アルゴリズムを用いた 構造物の最適形状探索の プログラムの作成
Introduction to Soft Computing (第11回目)
私の立場 OSカーネルを手がけるエンジニア 大阪市立大学 創造都市研究科の学生
早わかりアントコロニー最適化 (Ant Colony Optimization)
高汐 一紀 慶應義塾大学 新しい空間の創出:uPlatea 新しい道具の創出: u-Photo 思考する家具・部材: u-Texture
端末およびサービス透過的な 情報閲覧支援システムの構築
ロボットの協調動作の研究: マップ作成とマップ情報を利用した行動計画
Data Clustering: A Review
Genetic Algorithm-based Partial Least Squares GAPLS Genetic Algorithm-based Support Vector Regression GASVR 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
UMLの概要とオブジェクト指向の基本概念
自律分散協調システム論 慶應義塾大学環境情報学部    徳田英幸 中村 修.
若手研究者・学生向けに,最新技術をわかりやすく紹介する講演会 確率的情報処理としての移動体通信技術
Prof. Noriyoshi Yamauchi
Introduction to Soft Computing
Data Clustering: A Review
遺伝アルゴリズムによる NQueen解法 ~問題特性に着目した突然変異方法の改善~
遺伝的アルゴリズム (GA) を活用した スペクトルの波長選択および時系列 データにおけるプロセス変数かつその時間 遅れ (ダイナミクス) の選択 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
ガウス分布における ベーテ近似の理論解析 東京工業大学総合理工学研究科 知能システム科学専攻 渡辺研究室    西山 悠, 渡辺澄夫.
ディペンダブル組込みシステムのためのコンテキスト分析手法
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
Amicus: A Group Abstraction for Mobile Group Communications
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
ソフトウェア工学 知能情報学部 新田直也.
3 分散システムのフォールトトレランス 分散システム Distributed Systems
慶應義塾大学 政策・メディア研究科 修士課程 2年 間 博人
デッドロック問題 lock-r2 lock-r1 (blocked)   lock-r2 (blocked) lock-r1  
P2P & JXTA Memo For Beginners
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Presentation transcript:

自律分散協調システム プロトコルと分散アルゴリズム 慶應義塾大学環境情報学部 徳田英幸 © H.Tokuda 2007

Mobile Ad hoc Networks ~ 事例1 ~

無線アドホックネットワーク アドホックネットワークとは? ネットワーク・インフラが存在しない トポロジが人や物の動きと共に動的に変化する peer-to-peerでの通信スタイル トポロジが人や物の動きと共に動的に変化する ノードの移動、無線電波品質の変化 Weak Connectivity 常時接続の保証ではない © H.Tokuda 2007

アドホックネットワーク:応用例 パーソナルエリアネットワーク 軍隊の (Military) 環境 一般市民の (Civilian) 環境 携帯電話、ラップトップ、時計 軍隊の (Military) 環境 兵士、戦車、戦闘機 一般市民の (Civilian) 環境 タクシーネットワーク、ミーティングルーム、スポーツスタジアム、ボート 緊急時の操作 地震、洪水、竜巻 捜索と救出、警察や消防士 © H.Tokuda 2007

Wireless Sensor Networks ~ 事例2 ~

センサネットワーク利用分野 (出展: ユビキタスセンサネットワーク技術に関する調査研究会) © H.Tokuda 2007

日米欧におけるセンサネットワーク (出展: 野村総合研究所&ユビキタスセンサネットワーク技術に関する調査研究会) © H.Tokuda 2007

Sensor Network Models Sink-node Model P2P Model Habitat sensing Seismic monitoring Structuring instrumentation Soil conditioning P2P Model Smart Kindergarten Smart Objects, Smart Toys Smart Surroundings Lovegety Navigety Sink Node Smart Nodes © H.Tokuda 2007

Traditional Sensor Networks © H.Tokuda 2007

P2p models: Lovegety & Navigety The Original p2p goods: Lovegety Navigety © H.Tokuda 2007

What is a Smart Sensor? P2P model Smart Sensor = Comp.+Comm.+Sensor+Actuator Why? Extending traditional sensor networks for Ubicomp applications P2P model No base stations Effective use of Context-information Ambient technology Smart Lamp © H.Tokuda 2007

A Group Tour Keeper Smart Sensor with LED lights + button 12 13 © H.Tokuda 2007

U. of Karlsruhe: Smart-Its Detection, processing and communication of sensor data in sticker-size to be embedded into everyday objects Generic Platform © H.Tokuda 2007

分散アルゴリズム

分散アルゴリズム Distributed Mutual Exclusion Election Algorithm Distributed Deadlock Clock Synchronization Byzantine consensus problem 。。。 © H.Tokuda 2007

Logical Clock L. Lamport (1978) 分散システムでの事象(event)の順序関係 happens-before: a -> b If a and b are events in the same process and a occurs before b then a->b is true. If a is "send-event" of a message in Pi and b is "receive-event" of the message in Pj, then a->b is true. For any two events in different processes, x->y is not true and y->x is not true: x and y are concurrent events © H.Tokuda 2007

Lamport's Logical Clock Ci : Logical Clock (局所論理時計) 規則1:受信事象以外の事象eがPiで起こった場合、その直後にCiに1を加える.事象eは、更新された時刻Ciに生起したとする. 規則2: Piがメッセージを送信するときには、時刻印ts=Ciをメッセージに付加して送信する. Piが時刻印tsを持つメッセージを受信したときには、Ciをmax{Ci, ts}+1まで進める.この受信事象は更新された時刻Ciに生起したとする. © H.Tokuda 2007

Lamport's Algorithm 基本的なアイデア ? ? Pi Pj Pk req-i req-j reply reply © H.Tokuda 2007

Ricart-Agrawala's Algorithm 1)資源を使用したいプロセスPiはreq(TSi, Pi)を他のすべてのプロセスに送信する. 2)プロセスPiからreqメッセージを受信したプロセスはPjは以下のように行動する. Pjが今資源を要請していないならば、Pjの現時点での局所時刻印を持つreplyメッセージをPiに返す. もし要請中であれば、(TSi、Pi)をPjのreqの(TSj、Pj)と比較する. if (TSi, Pi) < (TSj, Pj)then replyメッセージをPiに返す. else req(TSi, Pi)へのreplyをPjが資源を使用し終わるまで保留する. © H.Tokuda 2007

Ricart-Agrawala's Algorithm (cont.) 3)他のすべてのプロセスから自分のreqメッセージに対するreplyメッセージを受信したときに限り、Piは、資源の使用を許可される. 4)Piが資源を解放したときは、replyを保留しているすべてのreqメッセージ(を送信したプロセス)に対して、replyメッセージを返す. © H.Tokuda 2007

直感的な例 Pi Pj Pk req reply reply reply reply © H.Tokuda 2007

分散アルゴリズム ~分散デッドロック問題~

デッドロック システムを構成しているすべてのプロセスが起きるはずのない事象を待ち続ける状態 WFG: Wait-For-Graph p1 Brec(p2,...) Brec(p3,...) Brec(p1,...) p2 p3 WFG: Wait-For-Graph © H.Tokuda 2007

デッドロックの起きる必要条件(Coffman, 1971) 相互排除(Mutual Exclusion) 同時に資源を2つ以上のプロセスが使用できない. 保持&待ち(Hold and wait) すくなくとも1つの資源を持っていて、かつ他の資源待ちになれる. 横取り不可(No preemption) 使用されている資源を横取りできない. 循環待ち(Circular Wait) WFG上でサイクルが生じている. © H.Tokuda 2007

デッドロックに対する対処 デッドロックの予防と回避 デッドロックの検出と回復 Deadlock Prevention: WFGにサイクルが生じないように規制する. Deadlock Avoidance:将来サイクルが生じるかどうかを確認しながら資源への要求を管理する. デッドロックの検出と回復 Deadlock Detection:デッドロックが起きた時点で、検出する Deadlock recovery (Roll Back):犠牲となるプロセスの実行を中止して、ある時点からの実行を再開する. © H.Tokuda 2007

デッドロックの回復 どのようにしてプロセスの状態をroll backするか? 回復の方法 Backward recovery Forward recovery © H.Tokuda 2007

分散デッドロック システムを構成しているすべてのプロセスが起きるはずのない事象を待ち続ける状態 p1 Brec(p2,...) © H.Tokuda 2007

WFG(Wait-for-Gragh) p1 Brec(p2,...) Brec(p3,...) Brec(p1,...) p2 p3 Host-B Host-A © H.Tokuda 2007

分散アルゴリズム ディペンダビリティ 耐故障アルゴリズム

ディペンダブルシステム 高信頼性(Dependability)とは、以下の要件を満たす 可用性(Availability) システムを利用したいときに高い確率で利用可能 信頼性(Reliability) システムは、ある一定期間、正常に稼動可能 安全性(Safety) 障害時でも、システムに重大な問題が生じない 保守性(Maintainability) 故障したシステムを容易に回復可能 © H.Tokuda 2007

Dependability@cmu Prof. Dan Siewiorek C.mmp => Cm* => C.vmp Issues in Testing and Reliability in Computer Systems 新しい概念? Fault Tolerant Computing Systems Mission Critical Systems Dependable Computing Systems © H.Tokuda 2007

耐障害性(フォールトトレラント性) フォールトトレラント性 障害(fault)の種類 システムの一部に障害が発生しても、システム全体のサービスを提供を続けられる性質 障害(fault)の種類 過渡障害(transient fault) 一度だけ発生し、消滅する障害 ノイズによるビット損失など 間欠障害(intermittent fault) 一時的な障害が繰り返される障害 コネクタの接続不良など 永久障害(permanent fault) 修復されるまで存在し続ける障害 ディスククラッシュなど © H.Tokuda 2007

Dependabilityの議論 Dependability と IT assurance 運用・管理・保守している人、組織、社会制度 情報システム系 Reliability, Availability, Safety Confidentiality, Integrity, Maintenability ガバナンス系 運用・管理・保守している人、組織、社会制度 何がディペンドしているのか? 人(命)、モノ、金 National Security . . . IT system Gov. © H.Tokuda 2007

障害の遮蔽 システムに冗長性を持たせることで障害を隠蔽 情報的冗長性 時間的冗長性 物理的冗長性 CRCチェック、エラー訂正符号など 動作のやり直しによる冗長性 トランザクション処理など 物理的冗長性 余分なデバイスやプロセスを持たせる冗長性 RAIDなど © H.Tokuda 2007

耐故障アルゴリズム 停止故障 仮定 t-回復力 (t-resilient) ビザンティン故障 故障したプロセスは永遠に停止する. 通信は、可能であるが、プロセスの挙動が保証されない t-回復力 (t-resilient) あるアルゴリズムが高々t個のプロセスの故障にも耐えるアルゴリズム. ビザンティン故障 故障したプロセスの動作に一切の仮定をおかない. 故障プロセスは、任意の動作しうる! © H.Tokuda 2007

ビザンティン合意問題 正常なプロセスが同じ初期値を持っている場合、それらのプロセスは、ある値で合意形成することができる。 e.g. 3 processes -- 可能かどうか? P1 値={0, 1} 合意の値は? 故障プロセス P2 P3 © H.Tokuda 2007

ビザンティン合意問題:3 Processes 1 1 1 1 P3 P2 P3 P2 P3 P2 値={0, 1} 合意の値は? © H.Tokuda 2007

ビザンティン合意問題 Lamportの解(1982) 障害プロセスがm個のとき、正常プロセスが2m+1個以上、全体で3m+1個以上のとき、正常プロセス同士で合意に至ることが可能 (例)m=1, n=4>=3m+1なのでOK p1:(1,2,*,4)、p2:(1,2,*,4)、p4:(1,2,*,4) P1 P2 P4 P3 1 © H.Tokuda 2007

分散アルゴリズムの実践 ~頭の体操から創発システムへ~

(I) 分散ソート問題 1からNまでの整数の分散ソート 問題 初期値 N = 100 Processes: P1- P10 P1からP10までの各プロセスにランダムに選ばれた10個の数が初期の値として与えられた時、どのようにしてソートすることができるか? 各プロセスは、どのような条件で、ソートが終了したことを判定できるか? © H.Tokuda 2007

(II) ロボット整列問題 ある部屋内において、与えられた半径dの円周上にほぼ等間隔で整列するプログラムを作成せよ。 仮定 ロボットが共有座標系を持つ 同期的な動作をする (c.f. life game) © H.Tokuda 2007

ロボット整列問題 一群のロボットを自律的に円に整列される Algorithm 1: Big brother方式 各位置を明示 Algorithm 2:先生ロボット+生徒ロボット 先生ロボットが計算し、指示する Algorithm 3:先生ロボットを選出 先生ロボットを動的に選出 Algorithm 4: 同一ロボット 自律的に整列 © H.Tokuda 2007

hxt-課題:Robotroom.java どのように協調するのか? 実行例… © H.Tokuda 2007

世代の概念: Life game (1) Life game Life gameのルール J. H. ConwayのLife Game 盤面上にいくつかの石(生命体)を置く.(初期集団) 盤面のある場所が空いていて、しかもその場所と隣り合うちょうど3個の場所に生命体が存在するならば、次の世代にはその空いた場所に新しい生命体が誕生する. また、すでに存在する生命体については、隣り合う場所に住む生命体が1個以下、または4個以上になると、過疎または過密のため、次の世代には、死んでしまう. © H.Tokuda 2007

世代の概念: Life game (2) 世代の概念 * * * … © H.Tokuda 2007

(III) Wave programの課題 配布されたwave2.cプログラムを改良して、  競技場で起こるwave 現象をsimulateできるようにする。   <初期状態><次世代生成部分> *ソースコード *出力結果 *考察   これをもとに、創発を起こす上でもっとも重要な要因について議論せよ。 © H.Tokuda 2007

hxt-課題:wave2.c どのように協調するのか? 実行例… © H.Tokuda 2007

創発システムについて 複数の要素が有機的に関係し合って、相互作用を通して全体としてまとまった機能を発現している要素の集まり 弱い創発システム 相互作用が変わればシステムの機能も変わる! 弱い創発システム ミクロな要素の動きが集まって全体にわたるマクロなパターンが創発するシステム 強い創発システム 環境変化に適応できる創発するシステム © H.Tokuda 2007

共通する性質は? 自分と同じ能力の要素が沢山存在する 沢山の要素が広い空間に分散している すべての要素が共通の方法で(自分の近くの要素とだけ)情報の交換をする すべての要素が同時並列的にうごく すべての要素が同じ状況になるように動く(同じ評価関数をもっている) © H.Tokuda 2007

分散アルゴリズム ~分散デッドロック問題~

分散デッドロック システムを構成しているすべてのプロセスが起きるはずのない事象を待ち続ける状態 p1 Brec(p2,...) © H.Tokuda 2007

WFG(Wait-for-Gragh) p1 Brec(p2,...) Brec(p3,...) Brec(p1,...) p2 p3 Host-B Host-A © H.Tokuda 2007

創発システムに向けて 慶應義塾大学環境情報学部 徳田英幸

情報システムにおける自律分散協調論 自律分散協調システムのねらい 自律分散協調コンピューティング 自己組織性 創発のメカニズム アドホックネットワークプロトコル ソフトウェアエージェント 自律ロボット p2pアプリケーション © H.Tokuda 2007

自律性について 社会システム 自律分散協調モデル ガバナンスモデル 教育、交通、安全システム 創発とは? ロボット自動整列問題 電子政府モデル 地方自治体モデル 教育、交通、安全システム スマート交差点問題 自律分散協調モデル 創発とは? Waveは、どう起るか? ロボット自動整列問題 ロボットよ、コンパスを持って協調せよ! 掃除ロボット問題 どのようなアルゴリズムが良いか? © H.Tokuda 2007

協調性について 協調メカニズム 協調プロトコル 自然なプロトコル 人工的なプロトコル どのような協調パターンがあるのか? どのように記述するのか? なぜ協調するのか? 自然なプロトコル 生物システム 人工的なプロトコル Client-Server Ethernet’s MAC Layer 競売プロトコル 回覧板プロトコル その他多種多様なプロトコル。。。 © H.Tokuda 2007

創発のかたち 上位層でのかたち 水の対流 サッカー場のウェーブ 自律型ロボットの整列問題 グループ、群、コミュニティ © H.Tokuda 2007

ロボット整列問題 ある部屋内において、与えられた半径dの円周上にほぼ等間隔で整列するプログラムを作成せよ。 仮定 ロボットが共有座標系を持つ 同期的な動作をする (c.f. life game) © H.Tokuda 2007

ロボット整列問題 一群のロボットを自律的に円に整列される Algorithm 1: Big brother方式 各位置を明示 Algorithm 2:先生ロボット+生徒ロボット 先生ロボットが計算し、支持 Algorithm 3:先生ロボットを選出 先生ロボットを動的に選出 Algorithm 4: 同一ロボット 自律的に整列 © H.Tokuda 2007

課題:Robotroom.java どのように協調するのか? 実行例… © H.Tokuda 2007

Wave programの作成 配布されたwave2.cプログラムを改良して、  競技場で起こるwave 現象をsimulateできるようにする。   <初期状態><次世代生成部分> *ソースコード *出力結果 *考察   これをもとに、創発を起こす上でもっとも重要な要因について議論せよ。 © H.Tokuda 2007

演習:wave2.c どのように協調するのか? 実行例… © H.Tokuda 2007

創発システムについて 複数の要素が有機的に関係し合って、相互作用を通して全体としてまとまった機能を発現している要素の集まり 弱い創発システム 相互作用が変わればシステムの機能も変わる! 弱い創発システム ミクロな要素の動きが集まって全体にわたるマクロなパターンが創発するシステム 強い創発システム 環境変化に適応できる創発するシステム © H.Tokuda 2007

共通する性質は? 自分と同じ能力の要素が沢山存在する 沢山の要素が広い空間に分散している すべての要素が共通の方法で(自分の近くの要素とだけ)情報の交換をする すべての要素が並列的にうごく すべての要素が同じ状況になるように動く(同じ評価関数をもっている) © H.Tokuda 2007

創発のギャップ 人間 vs. 自律型ロボット 多様な個 同期性 個の密度 全体の規模 実空間上の行動 vs. ネットワーク上の行動 個の非プログラム性 個の学習・動的適応性 多様な個 多様な価値観 情動的な行動 同期性 個の密度 population density 全体の規模 Scalability 実空間上の行動 vs. ネットワーク上の行動 © H.Tokuda 2007

自律分散協調コンピューティング 分散アルゴリズム 複雑な問題に対する新しいアプローチ 協調作業支援システム 相互排除問題、デッドロック問題、etc 複雑な問題に対する新しいアプローチ エージェントシステム 遺伝的アルゴリズム(GA) 協調作業支援システム CSCWシステム グループウェア コミュニティウェア © H.Tokuda 2007

マルチエージェントシステム

マルチエージェント システム特定の目的をもって行動するエージェントが、他のエージェントと協調的に行動するための性質、条件やエージェントが複数存在するときに生じる現象、効果などについて研究することを目的としている。 特定の問題を部分問題に分割して解決していくことを主たる目的としていない。 © 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分野での知的エージェント 問題解決の質や性能の向上 コンピュータ・ヒューマンインタラクションの高度化 システムモデリングと設計支援 AI分野での知的エージェント エージェント指向プログラミング IT分野でのソフトウェアエージェント © H.Tokuda 2007

問題解決のパラダイム

自律分散コンピューティング 分散アルゴリズム 複雑な問題に対する新しいアプローチ CSCWシステム 遺伝的アルゴリズム(GA) ニューラルコンピューティング 分散エージェント/マルチエージェント CSCWシステム © 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

問題空間と解空間の概念 © H.Tokuda 2007

世代の概念 Life game Life gameのルール J. H. Conwayの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度ずつ訪問する. 巡回コストを最小にする経路を見つける. © H.Tokuda 2007

GSによるTSPの解法 © H.Tokuda 2007