Monday, January 26, 2009

Intelligent Agents for Problem Solving

I have just finished my first week at a new job. The place is called Agent Oriented Software (or the AOS Group), and they are a 10 year old multinational product/consulting firm focused on the application of intelligent agents (and related technology) to problem solving, seemingly mostly for R&D and defence. The company core product is called JACK, which is an agent-based platform for autonomous decision making and provides the basis for a host of extension products including team-based behaviour, simulation, cognitive behaviour, and more.

I had been exposed to intelligent agents, multi-agent systems, and agent-based modelling before, taking a course in my undergraduate, and reading some if the literature that came out our sister research group while completing my PhD on computational intelligence. I am only now starting to grasp the true nature of this movement as a new paradigm for software-based problem solving. So-called methodology for designing and building autonomous decision making software systems, now called agent-oriented programming and agent-oriented software engineering.

There is an IEEE special interest group focused on standardizing such systems called the Foundation of Intelligent Physical Agents (FIPA) providing a suite of specifications promoting interoperability. Interestingly, the now-defunct Australian Artificial Intelligence Institute (AAII) from what I can tell used to play an influential role in this country and to the field. Given that contributions have trailed off since the early 2000's, I have been poking around the history and projected trajectory of this field.

Intelligent agents and related technologies still feature in the research curriculum at some universities in my immediate vicinity, for example:

I'm on the lookout for good inductive texts, other than the classics like Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, and more recent additions such as Developing Intelligent Agent Systems: A Practical Guide. I'm interested in cutting through the research agendas in the literature and better grasping the applicable niche for the approach. It seems that so-called agent-oriented programming is presented as an extension to object-oriented programming to address the complexity of problem solving with software, where the unit of modelling has shifted from the object to the agent and its interactions. One can achieve autonomous decision making without the application of an agent metaphor, so I'm interested in the specific benefits the approach can deliver. At the moment, the technology appears more complex than the problems it's trying to solve, I'm personally trying to figure out if it is overly so.

1 comments:

Jason said...

FIPA used to be a not-for-profit and became an IEEE group in 2005. KQML and FIPA ACL are two different specifications for agent communication languages.