シナリオ記述言語 Q

Qについてチュートリアルダウンロード関連論文連絡先

<English>

Qについて

従来のエージェント記述言語は, エージェントの内部メカニズムの記述を目的としてきた(図1(1)).これはAIが,知的な処理の計算モデルを追求するものであるところからきている.例えばプロダクションシステムや様相論理は,いずれもエージェント内部の計算メカニズムを説明するためのモデルであるが,実世界の応用を記述するには十分でなく,また実装をした際の計算効率が保証されない.このため,膨大な内部処理を必要とするエージェントを実装するのは現実的ではない.今日,エージェント記述言語が使われていない多くの原因は,エージェントの内部メカニズムを説明するための科学的モデルを,そのままエージェントの実装に用いようとしたことにあると思われる.

ここで提案するQは,インタラクション設計言語である.エージェントの内部メカニズムの記述を目的としたものではない.エージェント(あるいはエージェント群)に対し,人間(あるいはエージェント)が外部からどのように作用するかを表すものである.言語仕様に従ったシナリオ記述をエージェント群に与えることによって,エージェント群とのインタラクションを設計する(エージェント群にそのように振舞うことを依頼する)ものである.依頼内容はシナリオとして記述される(図1(2)).

(1)エージェント記述 (2)インタラクション設計 (3)プロトコル記述
図1 Qの位置付け

エージェント記述言語からインタラクション設計言語への視点の移行は,言語仕様に対し,また言語処理系に対し,大きな変化を生じさせる.Qは,エージェントがどのような言語を用いてどのように記述されているかに感知しない.例えば,エージェントが外部から「走れ」「歩け」という2つの依頼しか受け付けないのであれば,Qの言語仕様は「走れ」「歩け」の2つの構文を許すだけである.さらにその構文の意味するところは,実際に依頼を発してみなければ分からない.大きく手を振って速く走るか,ジョギングするかはエージェントによるのであり,その実装はQの記述には影響しない.従ってQには,エージェントの動作を記述する「JAVA言語呼び出し」のような,直接実行を想定した機能は存在しない.

依頼者はQを用いて,複数のエージェントのシナリオを記述することができる.従来からのプロトコル記述言語(図1(3))との相違は,その依頼が,依頼を受ける各エージェントの全ての動作を規定するものではなく,依頼者の観点からの部分的な記述にすぎないことである.実際,エージェントは,複数のシナリオを異なる依頼者から同時に受け取ることがある.それらが矛盾していれば,全てを実行することはできない.よく出来たエージェントは,複数のシナリオを整合させるよう試み,依頼元に調整を求めるだろう.また,依頼者は訓練されたプロトコル設計者ではなく,エージェントシステムを設計する応用プログラマ(あるいはエンドユーザ)であることも本質的な違いである.従ってQ言語で書かれたシナリオには誤りが常に存在する.エージェントは,誤りのないシナリオを期待するのでなく,誤りを内包したまま頑健に動作しつづけることが要求される.

 

Copyright(C) Ishida lab. All rights researved.