協調あるいは分散による問題解決という枠組は以下のようにまとめることがで きる. まず協調分散問題とは, 多数存在する仮想的な問題解決装置が協調あるいは競 合し, 特定の一つの問題の解決にあたるか, もしくは何かバランス状態 (ある いは組織化された状態) を構成する問題である. 個々の問題解決装置はその処 理能力が高く知能的であり, かつ能動的にアクションを起こすことができると き, しばしばエージェントという名前で呼ばれる. したがってこのような問題 解決機構をマルチエージェント・システム [7]と呼ぶ.
以上はマルチエージェントシステムについての基本的な構想であるが, 一般に 協調分散モデルと呼ばれる枠組は個々の知能体のレベルに応じてもう少し広い. すなわち, このレベルがエージェントと呼ぶに足らない場合がその典型的な場 合である. 以下, 協調問題解決の枠組についてその分類を行なう.
協調と分散
分散の概念は, 知能体が複数に分離して存在することを占めす概念であり, 分 散協調モデルの本質である. ただし, ただ分散システムという用語を使うと広 義に人間どうしの協調 (グループウェア) [2] や計算機の実行環 境におけるプロセッサの物理的分散性などの意味まで含められる可能性がある. これに比べて協調はもっと多様な概念である. すなわち, エージェントどうし が存在してそこで協力し合って何か解を見い出そうとするのか, 競合し合って何か安定状態を作り出そうとするのかなど, 問題の種類 に強く依存した概念まですべてが協調という一語に含まれる可能性がある. 通 常協調は cooperation (互いの利益をある程度守りながら行う, 独立な作業) で あると考えられるが, 場合により collaboration (協力して行う単一作業) で あったり, 全く逆の competition (競争) であったりすることもある.
分散人工知能と協調システム
分散人工知能 (Distributed Artificial Intelligence) [1],[9] は一つの固定した問題 があって, それを複数の下位問題に分割し, それぞれを知識処理可能なシステ ム (AI システム) が解くという枠組である. 一方, 協調システムと言った場 合はむしろお互いの利益のコンフリクトや資源の競合のためにある安定状態・ 最適状態を作り出すシステムと考えられる. すなわち, 両者の違いは解きたい 問題の違いに帰着できるものであり, 計算機上に構築されたシステムとして根 本的に違うものではない. また同時に, この区別は用語の定義のしかたとして 非常に問題であり, ことばを使う人によって協調システムは分散人工知能の一 部であったり, また逆に分散人工知能システムが協調システムの一部であった りする. 特に, 人工知能が分散して存在する状態は群知能と呼ばれるこ ともあり, 与えられる問題によってそれが協力しあってある一つの問題解決に 当たったり, あるいは個々の競合状態からある安定平衡状態を作り出したりす ることから, 群知能の概念により, 分散人工知能と協調システムの概念が同一 の根源を持つ解釈することができる.
探索と組織化
分散システムと協調システムの違い, あるいは協調と競合の違いを顕著に表す のはこの分散協調問題の中でしばしば言及される例題である. 協調側の問題と して典型的なのは探索問題[6] である. これは, 解空間が既 に与えられていて, その中からいかに速く, 良い解を見い出すかを定式化した ものである. これは碁盤上の追跡問題 (平面上を逃げる一人のエージェントを 複数のエージェントが追跡し, 取り囲んだら終りとする問題) などがその例である. 一方, 競合側の問題としては, エージェント全員が多少の不満を持ちながらも (すなわち, 個人として最適な状態でなくとも) 全体として満足・安定・調和 する状態に停止する組織化 [8] が典型的 である. これは与 えられた解空間の中から適当な解を見い出すというよりは, 新たな解を創出す るものである. ただし, 両者の違いは決定的でなく, 後者においては解空間が ないのではなく, その規模が大きいためにたまたま見えにくい問題構造になっ ているだけと考えれば, 両者の差異は解の発見の仕方として統計的な複雑度だ けと考えることができる.
粒度の問題
粒度の問題は分散協調問題の本質である. すなわち, これは次項のエージェン トのレベルや次々項の交換するメッセージプロトコルの構造などと著しく関わ る概念である. 例えば, 生体における情報処理は極端な超並列 (massively parallel) である. 生体は, 個体として対外的な行動は中枢神経系 によって統制されており, すなわち個体としての意図が反映されたものとなる. 人間で言えば, 歩く, 話す, 聞く, 見るなどがこれに相当する. 一方, 生体内 部に存在する恒常性維持の機構は強く分散し独立している. 例えば心臓の鼓動 や胃腸における消化は個体としての意志とは独立して動く分散機構である. こ れをもっとも根源まで押し進めて考えたのが, 生体に模倣した超並列分散処理 のパラダイムである. 逆に, 粒度を大きくしていくと, 協調分散はより知能的な振舞いが可能なエー ジェントによるモデルに近づく. 一般にマルチエージェント・システムと言う と数万個の個体から数十・数百の個体モデル, 極端には数個の個体モデルも考 えうる. エージェントとして人間を考えれば数人から数十人が参加する グループウェアや二人の利益が相対する原告-被告の裁判システムまでがこの モデルであり, 裁判の論争システムは粒度の粗さという意味では最高度 に位置するものである. このように, 一般にマルチエージェントの問題と言った場合にも, 超並列 のモデルと論争システムとはあまりにかけ離れた問題であり, その間に共通 な技術要素はないものと考えられる.
エージェントの知的レベルの問題
粒度の問題はそのまま個々のエージェントの知性レベルの問題に帰着される. 超並列の問題としてニューラルネットワークを捉えると, 個々のニューロンの 行なう情報処理は, 複数の他のニューロンから信号を受けとり, それに自身の バイアスをかけて他のニューロンへ発信をするかどうかを決定するだけであり, ごく簡単なビット情報をメッセージの交換として行なうものである. 一方, 典 型的なエージェントモデルあるいは分散人工知能の問題として考えられるのが, 個々のエージェントのレベルが今日的な意味での人工知能であるモデルである. すなわち, 個々のエージェントは受けとったメッセージに対して論理推論を行 ない, その結果により相手に発信するメッセージを構築し, 発信する. 高度な 機能として相手のモデルや自分のモデルを持つことも考えられる. 最後に, 人 間を模倣したエージェントモデル, すなわち, 法的推論における立論 システムや談話理解のモデルにおいては, 高度な論理生成機能とと もに, 相手の心的状態 (mental state) を推論する必要も考えられる.
交換するメッセージプロトコルの構造
一回のメッセージの構造の複雑度は, エージェントの処理能力に比例する問題 である. 前述したように, 超並列におけるニューロンのようなものをエージェ ントであると思うとその間で交換されるメッセージはアナログ信号であると 考えられるが, 一個のエージェントの処理能力が向上するにつれてメッセージ は構造化され, 複雑化される.
資源の共有と競合
ネットワークの負荷に関連して, 一般に限られた資源を複数のエージェントが 交渉しどのように争奪し合うか・譲り合うかは問題の性格を明らかにする上で 重要である [3]. 一般に協調問題 が資源をいかに分割し合うか, 競合問題が資源をいかに奪い合うかという定式化であるが, 再三述べるとおり この両者の問題の分割の仕方は一般的ではないため, 資源に対する考え方もこ の限りではない.
エージェントの同質性と異種性
マルチエージェント・システムにおける問題設定の仕方には, その応用領域に 応じて同種エージェントの分散と異種エージェントの分散 [5] という軸が考えられる. すなわち, 前者は無個性でどれもが同じ役割・能力を 受け持つ系であり, 後者は個性があって担当分野に能力の差異もしくは得意・ 不得意がある系である. 一般に超並列のモデルもしくは細粒度であるシステム においてはエージェントは同質になり, 粗粒度なシステムにおいてはエージェ ントは異種となり役割分担を持つ. 例えば自然言語システムとして入力文を形 態素解析, 構文解析, 意味解釈, 語用論的解析の順に行なうのは逐次型計算の 言語解析のモデルであるが, 近年の研究では, これらの順序は時系列的に一定 せず, どのモジュールも創発的 (emergent) [4]に, すな わち処理の方向とは独立にこれらモジュールがエージェントとして順序不特定 に役割分担を行なうモデルは典型的な異種協調モデルである.