Multi-Agent Systems Case Study:

advertisement
Multi-Agent Systems Case Study:
Effects of Inter-Agent Communication in the Predator-Prey Domain
Timothy P. Rew
Advisor: Dr. Susan Conry
Clarkson University
Dept. of Electrical and Computer Engineering
Potsdam, NY 13699
Rationale:
Before you can grasp the effects of agent interaction in a "real-world" application, you
need to understand the concept of a domain. This is because studying agent interaction in a realworld multi-agent system would be extremely difficult due to the shear number of agents and lack
of direction (think of the internet). For that reason, we study it instead in small, controlled, and
directed test-beds, or "toy domains". In my case, that domain is the predator-prey or "pursuit"
domain. My research goals were to design, develop, and implement a working multi-agent
systems[l] test-bed application[2], and from there move on to studying actual agent
communication.
I've been working on this "Multi-Agent Systems case study" the past two years here at
Clarkson, and I feel I have a good understanding of agents and agent communication. I have
designed several experiments in an effort to gain some insight not only into the pursuit domain
itself but also into agent interaction in general.
Once these experiments are performed, I hoped to be able to develop a solid
communication heuristic to use in comparing communicating agents with non-communicating
agents, in order to determine if the benefits of communication were able to overcome a
disadvantage such as a limited view of the universe.
Objectives:
1. Design and implement a working test-bed application for studying agent communication in a
multi-agent system. The test bed will be JAVA-based simulation of a predator-prey
relationship in a simplified universe (in this case a grid of squares).
2. Once the test-bed is up and running, use it to compare several different strategies of
communication to determine which are most effective in a particular problem-solving
situation.
3. Choose one communication heuristic, and compare it to a benchmark scenario of noncommunicating agents to determine if communicating agents can overcome a limited world
view to perform comparably to non-communicating agents with complete world views.
Expected Outcome:
1. Completion of the Java testbed application, with autonomous agents.
2. Successful embedding of KQML software into project, to facilitate agent communication.
3. Experimental data based on experiments designed to compare communication strategies.
4. Solving of the scenario involving communication vs. no communication, to determine
whether communicating agents can overcome a physical limit (in this case a limited view of
the universe) to solve a problem (capturing the prey) in a comparable fashion to the noncommunicating agents, who do not suffer the same physical limit.
Time Table:
Summer 2001

Familiarization with multi-agent systems, through literature on the topic.

Completion of java application with autonomous agents.

Familiarization with KQML language and syntax, as well as the JATLite implementation.

Design several experiments to compare agent-communication strategies.
Spring 2002

Successfully integrate JATLite implementation of KQML into testbed application.

Write experiment-specific agent-communication code fore each experiment.

Run experiments, and collect data for different strategies.

Write scenario specific code for both non-communicating/complete worldview and
communicating/incomplete worldview scenarios.

Draft final report and present findings.
Overview:
The domain I have chosen to study is what is called a “pursuit game”. It involves
multiple predator agents, whose goal is to chase and capture prey agents. The prey agents’ goals
are to either simply evade the predator for a period of time, or to find and enter a goal square
before they are captured. Both predators and prey cooperate to solve their “goals” [3]. The game
takes place on an arbitrarily sized grid of squares.
Each predator or prey agent was completely autonomous at first. This was achieved by
defining a class both for predators, and for prey. These classes were written in JAVA, along with
a Graphical User Interface for initialization of the "game". Each new agent is simply an instance
of one of these classes. Each class contains a set of functions, which will comprise the
intelligence and functionality of the agents built off of that class.
Although initially autonomous, the predator and prey agents were later given the ability
to communicate, through functions based on an Agent Communication Language (ACL)[4]. The
ACL I decided to use to implement these functions is called Knowledge Query Manipulation
Language, or KQML [5]. KQML is a language and a set of protocols that support software agents
in identifying, connecting with, and exchanging information with other agents. KQML was
developed by the Knowledge Sharing Effort (KSE), which is sponsored by the Advanced
Research Projects Agency (ARPA). The ARPA KSE is a large-scale effort aiming to build sizable
knowledge bases which are sharable and reusable.
The particular implementation of KQML that I made use of is JATLite, a JAVA specific
KQML Application Program Interface developed at Stanford University [6].
The agent-communication functions I developed were used to experiment with several
different communication strategies, and often needed to be tailored or expanded upon in order to
accommodate each new strategy. I tested each strategy against a control in order to determine if it
is a) useful at all, and b) more useful than other strategies for accomplishing similar goals.
Literature Search:
1. An article from the Crossroads electronic magazine- Towards a Standardization of
Multi-Agent System Frameworks. This was an informative paper on the reasons for and need for a
standardized agent communication framework. It also gave detailed overviews of agents and
multi-agent systems.
2. A paper by Brant A. Cheikes- GIA: An Agent-Based Architecture for Intelligent Tutoring
Systems. This paper offered a detailed example of one use of multi-agent systems: an intelligent
tutoring system. This provided another perspective on multi-agent systems, that of a real-world
application.
3. A volume in IEEE Transactions on Knowledge and Data Engineering- Trends in Cooperative
Distributed Problem Solving. This was a somewhat exhaustive work on the entire concept of
multi-agent systems and their use in problem solving environments.
4. A joint work by members of the University of Maryland Computer Science Department and
Unisys Corporation- KQML as an Agent Communication Language. This document outlined the
role of KQML in agent communication, as well as giving an overview of the architecture of the
language itself.
5. Another University of Maryland paper, this one by Yannis Labrou- Proposed KQML
Specification Document. This document, while stating that it is not the official specification,
basically covers all of the aspects of the KQML language.
6. A guide written for Stanford University's JATLite software- JATLite Application Programming
Interface User's Guide. This is exactly what it claims to be, the user's guide for the JATLite API.
It covers the structure of the API, including its organization into five layers, and a description of
the JATLite router.
References:
1. Crossroads Towards a Standardization of Multi-Agent System Frameworks. 1999. Web
page: http://www.acm.org/crossroads/xrds5-4/multiagent.html
2. Cheikes, B. GIA: An Agent Based Architecturefor Intelligent Tutoring Systems. The
Mitre Corporation, Artificial Intelligence Center, Bedford, MA. Web page:
http://www.mitre.org/resources/ centers/it! g068/ gia - more.html
3. Durfee, E., Lesser, V., and Corkill, D. Trends in Cooperative Distributed Problem
Solving. In: IEEE Transactions on Knowledge and Data Engineering, March 1989,
pages 63-83.
4. Finin, T., Fritzson, R., McKay, D., and McEntire, R. KQML as an Agent Communication
Language. Computer Science Dept., University of Maryland Baltimore County,
Baltimore, MD; Valley Forge Laboratory, Unysis Corporation, Paoli, PA.
5. Labrou, Y. Proposed KQML Specification Document. Computer Science and Electrical
Engineering Dept., University of Maryland Baltimore County, Baltimore, MD, October
1996.
6. Stanford University JATLite Application Programming Interface User's Guide. 1996.
Web page: http://iava.stanford.edu/JATLiteBetaRelease/api/ API users guide.html
Download