共有知識に基づく実世界エージェントの協調機構
Mediation mechanism based on shared knowledge for real-world agents

武田 英明

岩田 浩司

鷹合 基行

沢田 篤史

西田豊明

Hideaki Takeda Koji Iwata Motoyuki Takaai Atsushi Sawada Toyoaki Nishida
奈良先端科学技術大学院大学 情報科学研究科

Graduate School of Information Science, Nara Institute of Science and Technology
Abstract: In this paper, we propose a framework for cooperation among heterogeneous real-world agents based on shared ontologies. Ontologies give a background of knowledge to shareamong agents, that is, systems of concepts are de ned which are used to communicate to eachother. We present three di erent ontologies, namely, ontologies for object, space, and action.
Based on these ontologies, we then show mediation mechanism to generate action sequences foragents from given tasks. We realized and veri ed our mediation mechanism by applying taskplanning for mobile robots and computer-controlled instruments. Our framework is appropriate
for cooperation among heterogeneous real-world agents because of (1) adaptiveness for environments and agents, (2) implicit representation of cooperation, and (3) integration of information
and real-world agents.

1 はじめにントロジーと呼ぶ。

近年のコンピュータ技術の急速な発展に伴い、より人工知能におけるオントロジーはこれまで主に情報高機能なコンピュータを搭載した機器が我々の生活のエージェントの問題に適用されてきており、それはエー中にはいってくるものと思われる。その際、そうしたジェントが操作する対象のオントロジーであった [2][3]。

機器が人間や他の機器とどう協調していくかが問題に

しかし、この対象のオントロジーだけでは実世界エーなる。本研究ではこの人間と機械の協調作業空間構築

ジェントのコミュニケーションの実現には不十分であのために自律的エージェントによる協調について考察る。実空間で複数のエージェントが共存するには、空する。ここでは協調をエージェント間のオントロジー間の概念を共有する必要がある。さらにお互いの行為共有ととそれに基づくタスクの仲介によって実現する。

を理解しなければ協調作業はできないので、行為の概2 実世界エージェントの協調のための知識念も共有する必要がある。

ここでは、協調作業空間を構成するロボットや計算機制御機器をエージェントとしてモデル化する。一つのタスクを複数のエージェントによって行なわせるためには、お互いの行為が理解できなかればならない。
このためにエージェント同士がコミュニケーションを行なうことが考えれる。複数のエージェントがお互いの行為を理解し合うには、単にコミュニケーションのプロトコルや言語が共通であるだけでは不十分で、概念の体系を共有する必要がある。この概念の体系をオ

2.1

対象に関する概念

共有すべき対象に関する概念は対象の分類 (taxonomy)と対象の属性の概念の 2 種類である。しかし、エージェントの物理的構造や情報処理能力の違いによって、理解できる対象は異なってくる。対象分類においては isa 関係を用いて対象を階層的に記述する。ここで抽象度の高い対象は多くのエージェントに共有されるが、より具体的な対象の理解はエージェントの能力に依存する。共通な対象の属性として、位置、色、重さなどがある。このうち位置としては現在位置とよくある場

連絡先: 奈良先端科学技術大学院大学 情報科学研究科, 〒 630-01 生駒市高山町 8916-5, 電話:07437-2-5262, fax:07437-2-5269,
E-mail:takeda@is.aist-nara.ac.jp, URL: http://ai-www.aist-nara.ac.jp/ takeda/図 2: 棚エージェントの外観
ジェントのオントロジーに共通するものがあるという
図 1: 移動型ロボット Kappa1a の外観
所 (デフォールト位置) がある。対象の属性も同様に異なる抽象度で記述する。
2.2

空間に関する概念

空間に関する概念も共有すべきものであるが、これ意味である。
実際には各エージェントのオントロジーはエージェント独自の表現であり、そこでの概念をを共通の表現の概念に関連づけていることで、オントロジーの共有を行なっている。

3

タスクの仲介もエージェントの能力によってその記述が異なってく

これらの概念を用いて与えられたタスクを複数のエーる。例えば、地図示された経路をもとに移動するエージェントの一連の行為として変換するタスクの仲介にジェントにとってはその経路が空間の記述であるし、ついて述べる。ここではタスクは行為記述として与え相対的な位置しか理解しないエージェントもありうる。

られるものとする。

ここでは、共有のための空間概念として以下の２つを用意した。

 前置詞表現：対象と前置詞で対象からの相対的位置を示す。ここでは、 at, on, in, in-front-of, behind, to-the-right-of, to-the-left-of の７つを用意した。例えばエージェント A の前ならば

1. 対象属性の補完 行為で表現されたタスクに含まれていない対象の属性を補完する。これは対象オントロジーに基づく。
2. エージェントの割当 各行為を実行可能なエージェントを探し、割り付ける。このためには各エージェ(in-front-of agent-a)

ントがどのような行為実行能力を持っているかをと表現する。

予め知っておく必要がある。このための知識がエー 行為表現：特定の行為が実現できる位置を、行為と対象の組合せで表現する。例えばエージェント

ジェント能力知識であり、対象・空間・行為のオントロジーの概念を用いて記述される。

1 とエージェント 2 が出合う場所を

3. 行為分解 行為を複数の別の行為に分解する。この(meetpoint agent-1,agent-2)

ための情報は行為のオントロジーにある行為間のと表現する。実際の位置は行為の主体のエージェ関係である。この際に分解された行為間には属性ントによって異なるが、行為の達成という意味での値の共有という形で制約がつけられる。

は十分である。
2.3

タスクの仲介のための処理は以下の４つである。

行為に関する概念

行為の概念は行為の名前と主体や起点や終点などの4. エージェント・オントロジーへの変換 1 から 3 の処理の結果として得られるエージェント毎の行為記述を各エージェントが理解する記述に変換する。

行為に関わる属性で定められる。また行為間の関係はエージェントの割当と行為分解は同時に行なわれる。

行為の分解関係として記述される。行為も同様にエーすなわち、ある行為が与えられた時、その行為を実行ジェントの能力によって理解可能な範囲が異なってくできるエージェントがあればエージェントの割当を行る。

なうし、なければその行為を分解して、また割当を試

2.4

共有概念と非共有概念

以上で見てきたように、ここでの概念の共有とは、それぞれのオントロジー（概念の体系）においてすべてが共有されるという意味ではなく、それぞれにエーみる。全ての行為に対するエージェントの割当が完了した時終了する。

Shared Representation

fetch(objectsolaris)(from̲place ?place-a)(to̲place (on operator1))(subject?agent-b)(from?place-c)(to?place-d)bringhandover

12

4

3

carry
mover̲handoverh̲handover(objectsolaris)(subject kappa1b)(objectsolaris)(objectsolaris)(from̲place (on kappa1b))(from (at kappa1b))(from̲place (on rack̲agt1))(from̲place (on rack̲agt1))(to̲place (on kappa1b))(to (in front of rack̲agt1)) (to̲place (on kappa1b))(to̲place (on kappa1b))(subejctkappa1b)(subjectkappa1b )(subjectrack̲agt1)(from(at kappa1b))(from(at kappa1b))(from (meetingpoint rack̲agt1 kappa1b))(in̲front̲of operator1))(to (meetingpoint rack̲agt1 kappa1b))(to (meetingpoint rack̲agt1 kappa1b)) (toTranslation

Translation

Translation

Translation

move (wait̲point w3)

move (wait̲point w2)

toridasi (cell̲no 3) (point̲no 20)

move (wait̲point w0)

Local Representation

図 3: 行為 fetch の仲介

4 実装と実験
これまで述べてきた方法を実際の実世界エージェン

また、同じく KQML のよる情報エージェントとしてイメージ処理エージェント、対象データベース・エー

トに適応した方法及び結果について述べる。

ジェント、ユーザインタフェース・エージェントを用

4.1

意した。

実世界エージェント

以下の４つの異なる実世界エージェントを用いた。
移動型ロボット (Kappa1a) 6 自由度の 2 本のアーム、て実装した。なお、対象オントロジーは対象データベー

2 自由度の複眼の CCD、超音波センサ、赤外線センサなどを持つ移動型ロボットである (図 1参照)。移動には地図に基づく方法とコマンドを用ス・エージェントが管理し、メディエータはこのエーいる方法がある。アームはマスター・スレーブあ

ここでは人間、ロボット、棚、机、椅子などが存在ジェントに問い合わせる。
4.3

例

るいはコマンドによって動かすことができる。まする部屋での動作について考察を行なった。

た無線 Ethernet につながった計算機を搭載して4.3.1

おり、全てのセンサ値およびコマンドに対するインタフェースを有している。
移動型ロボット (Kappa1b) アームを持たないことを除き Kappa1a に同じ。
棚エージェント 計算機からの指令で棚の任意の位置のものを取り出すあるいは収納することができる棚 (図 2参照)。
ドア・エージェント 計算機の指令で開閉するドア。
4.2

仲介の機能はメディエータというエージェントとしエージェント化

全ての実世界エージェントは KQML エージェントしてモデル化した。すなわち、エージェントは KQMLメッセージを送受する [1]。実際の実装には実世界エー

ジェントは KQML 処理サブエージェント、データベー
ス・サブエージェント、ハードウエア・サブエージェ
ントに分けて行なっている。これはエージェントの機能を搭載型計算機と他の計算機で分担するためである。

取り出しタスク

ユーザが棚にあるもの (Solaris のマニュアル) が欲しいといった場合を考える。まず、すなわち、((fetch (object Solaris))というタスクを与えられた時、メディエータは行為オントロジーを参照して、((fetch (object Solaris)(from_place ?place-a)(to_place (at operator1))(subject ?agent-b)(from ?place-c)(to ?place-d)))とし、さらにこのうち対象オントロジーを参照すること可能な属性値を埋める。次に行為 fetch を実現するエージェントがいるか調べ、いないので行為 fetch を行為 move と bring に分ける。このうち bring はされに分解され、最終的には r-handover、 h-hanover、carry に分けられる。このうち、 move、 r-handover、

3
AA
AA
AA AA
AA 4 AA
A2 A
AA
AAA
AA
AAA
A
AA
AAAA
AA
AA
A
AA
AAAA
AA
AA
A
AA
A
AA
AAAA
AAA
AA
AA
A
AA
AAAA
AAA
AA
AA
A
AA
AAAA
AAA
AA
AAAAA
AAA
AA
operator1

図 4: 行動 fetch のための動作 (1)

AA
AA AA
AA
AA AA
AAAA
AAA
AAA
AAA
A
AA
AAAA
AAA
AA
A
AA
AAAA
AA
AA
A
AAA
AAAAAAAAAAAAAAAAAAA
AAAAAAA
AAAA
1 AAA
AAAAAAAAA
AAAA
AAAAA
AAAA
AAAAA
AAAAAAA
AAAA
AAA

carry はエージェント Kappa1b に割当てられ、 hhandover は棚エージェントに割り付けられる。図 3にoperator1

Image,color

Location of the object
Image Processing Agent

図 5: 行動 fetch のための動作 (2)生成された行為列を示す。この結果行なわれたエージェ
ントの動作を摸式的に示したものが図 4である。図中

search(object solaris)(at̲place (on ?place-d))(subject ?agent-1)(from (at ?agent-1))(to(in̲front̲of ?place-d))の数字は図 3の行為の番号に対応する。
4.3.2

位置がわからない対象の取り出しタスク

タスクの記述が同様であるので、メディエータも同様に処理しようとするが、対象データベースエージェ
ントが現在位置を知らないため、 move と bring に分解しようとすると失敗する。このとき次の分解候補 searchfindmovemove(object solaris)(subject kappa1b)(subject kappa1b)(at̲place (on rack̲agt1))(from (at kappa1b))(from (at kappa1b))
blue)(viewpoint rack̲agt1)) (color(to(in̲front̲of rack̲agt1)) (to(subject kappa1b)と fetch を試す。行為 search はデフォルト位置（この場合棚）を用いて対象の現在位置を探し、対象データ

図 6: 行動 search の仲介

ベースを更新する。この場合、カメラを持ったエージェントが棚が見える位置に移動して (move)、その対象を認識する ( nd) ことで、発見する（図 6参照）。行為

nd では画像処理エージェントも利用する。全体として Kappa1b は図 5に示す行動をする。

5 まとめ
本研究では実世界エージェントが協調するためのに、3 種類のオントロジーの提案とそれに基づくタスクの仲介方法について述べた。本研究での方法は、次の面で利点があると思われる。
環境やエージェントへの適応性 共有オントロジーを用いて環境やエージェントを記述するので、異なる環境や新しいエージェントの追加に対して容易に対応できる。
非明示的な協調 エージェント間の協調は行為の分解知識とエージェントの能力知識を利用した結果として実現している。このため利用できるエージェン
トが変化した時でも、そのときの状況に合わせて協調作業を生成できる。
情報エージェントと実世界エージェントの統合 実世界エージェントを情報エージェントの枠組みを用いてモデル化したので、両者のコミュニケーションは容易に実現することができる。
今後はオントロジーの整備を進めるとともにより複雑なタスクへの適用などを行なっていく予定である。

参考文献[1] Tim Finin, Don McKay, Rich Fritzson, andRobin McEntire. KQML: An information andknowledge exchange protocol. In Kazuhiro Fuchi
and Toshio Yokoi, editors, Knowledge Building
and Knowledge Sharing. Ohmsha and IOS Press,
1994.
[2] Thomas R. Gruber. Toward principles for thedesign of ontologies used for knowledge sharing.
Technical Report KSL 93-4, Knowledge Systems
Laboratory, Stanford University, 1993.
[3] Hideaki Takeda, Kenji Iino, and Toyoaki
Nishida. Agent organization and communication
with multiple ontologies. International Journal of Cooperative Information Systems, Vol. 4,
No. 4, pp. 321{337, December 1995.