Q:マルチエージェント(Multi-agent)って何ですか?
A:エージェントというのは,ちょっと知的な動作をするプログラムのことです.マルチエージェントとは,そのエージェントがいくつか集まったものです.
Q:よけいわけがわからなくなってきました.
A:例えばロボットを動かす人工知能プログラムを考えてください.これはエージェントです.次に,たくさんのロボットがそれぞれ自分の意思で仕事をしている状態を考えてみてください.これがマルチエージェントです.
Q:複数って,,つまり,2つ以上あればいいだけ?何が特殊なの?
A:たくさんのロボットが動いていても,それぞれのロボットはただの木偶の坊(でくのぼう)でしかなく,たった一つのマザーコンピュータ(?)に支配されている状況だったら,話は簡単です.マザーコンピュータが全て指示すればいいのです.そうではなくて,それぞれのロボットが自分の目的で動いている場合,いろいろ問題が発生してくるのです.
Q:ん?例えば?
A:ロボットAとロボットBの進路が交錯したとしましょう.どちらかが道を譲るのが最良の選択です.ところが自分の利益を最大にするようにプログラミングされていると,衝突するか,あるいは道を譲らずに張り合ってにらみ合い状態か,互いにに道を譲ろうとして両方とも停止という事態になってしまいます.うまく「道を譲る」のは「協調的」な行動と呼ばれます.単純な原理でロボットに「協調的」になってもらうためにはどうすればいいか,そこが簡単なようでいて難しい問題なのです.
Q:うーん,簡単におもえるのですけどねぇ.
A:マルチエージェントでは,中央で誰かが監視していることを前提にしません.つまり,全体を見渡せる「神の眼」を持つ人がいないわけです.すると,これから行う行動が自己中心的な独りよがりの行動なのか協調的で全体最適につながる行動なのか判断できないのです.
Q:具体的にはどういうことですか?
A:次のようなゲームを考えましょう.あなたは教室にいて,2色のカードを持っています.今,前後左右の人と違うカードを選択して掲げることにします.ただし隣の人と話をすることはできないし,隣の隣の人のカードを見ることもできません.
Q:簡単じゃないですか.こうなればいいんでしょ.誰でも出来ますよ.
A:でもこうなってしまったらどうしますか.
左右の端の人達が先に決めてしまって,中央に皺が残ってます.中央に間違いがあるので,これは全体最適ではないのですが,「隣の隣」の様子がわからないから,うまくいっていない場所の周辺の人達以外は何が起きているかわからないのです.つまり神の眼を持つ人が誰もいないから,いま自分達が全体最適なのかどうなのかがわからないのです.
Q:そんなの解決は無理ですよ.よっぽどの超能力でもなければうまくいきませんって.
A:だから面白いのですよ.一匹の蟻の脳はそれほど知能的とは思えないでしょ?それでも蟻がたくさん集まると,何か知的な社会を形成しているように見えるでしょ?単純な原理(ルール)が大きな動きを生み出すことがあるのです.こういう現象を創発というのですけどね.
まあとりあえず研究室に来てみてください.
ちなみに Multi-agent と Multi-agent Simulation は似て非なるものです.