Sunday, December 30, 2007

Software agent research

I was reading an entry on slashdot [ sid=07/12/29/0447236&from=rss] and subsequently an old paper [] on the state of multi-agent research.

I have to admit that multi-agent technology was one of my pet peeves as I worked on one during my Masters degree industrial project. Heck, I almost proposed multi-agent technology as my PhD research title.

I am in agreement with the research paper and also most of the comments on slashdot that multi-agent research is somewhat "dead". Sure, occasionally you have papers written on multi-agent and stuff but nothing really ground breaking. The same old problem is stil lurking around.

In my opinion, [and this is my opinion only, this does not mean to offend any multi-agent researchers, practioners etc. - some of whom are good friends of mine] the whole problem with multi-agent technology is when researchers start making multi-agent as a software abstraction above objects in which intelligence, "selfishness", high-level semantic communication and other agency characteristics are integrated.

Now, as appealing as this concept is, creating such an abstraction is:

1) Very very difficult -- Finding common ontology alone is a daunting task.
2) Not very useful to software engineers -- Most software engineering challenges reside in creating highly scalable and performant system. Even in systems that need intelligence (such as game), basic concepts such as A* algorithm, decision tree and finite state machine are usually enough.

So, what am I suggesting as a solution?

Quite some time ago, when multi-agent technology was the hype of the century, there were two different school of multi-agent research: One trying to create a software abstraction, the other try to use multi-agent to study the behaviour of and reason about real world agents (one type of such agent is the human being). There were some research (using multi-agent as a model) on animal behaviour under attack from predators, on crowd control and crowd behaviour, on traffic management etc. They show some promising result but alas, researchers tend to be interested more in software agent rather than real-world agents. I suspect the reason behind this is because most multi-agent researchers have their roots grounded in the field of CS or IT and thus their tendency towards creating software abstraction agents instead.

In my opinion, we need to revamp this trend. Multi-agent technology would probably be more useful in the hand of a sociologist than a computer scientist. (Thus highlighting one of the most severe problem in academics today -- single minded research). Modeling human as multi-agents, simulating the behaviour and reasoning about the future actions would be very much useful and this is probably the future of multi-agent research.