Overview on Designing Autonomous Agents Teams (A

- - - - ----
Overview on Designing Autonomous Agents
Teams (A-Teams)
Tsen Chung Kang*
Sarosh Talukdar**
*Escola Politécnica da USP, Dept. de Eng . Eletrônica, Laboratório de
Automação e Controle, São Paulo, SP, Brasil. E-mail: [email protected]
** Department of Electrical and Computer Engineering, Carnegie Mellon
University , Pittsburgh, PA , U.S .A. E-mail: [email protected]
ABSTRACT
An organization is a scheme by which agents such as: birds, fish, humans, books and computer programs (software) are
combined to form super-agents, such as: flocks of birds, schools of fish, corporations, libraries and distributed software
systems. The work done as part of the Asynchronous Teams project (A-Teams) [Talukdar 199:2], can be categorized in
the realrn-of organizational theory [Shafritz 1992]. The challenge is to better understand and propose new organizational
structures which are able to support the collaboration among different software agents, each with its own specialized
skills , into teams in order to solve difficult engineering design problems.
This paper presents some guidelines, developed within the A-Teams project, to design teams of autonomous agents .
These guidelines were applied successfully to many industrial problems, demonstrating thepotential of autonomous
agent technology for industrial applications.
RESUMO
Uma organização é uma estrutura na qual agentes tais como: pássaros, peixes, humanos, livros e programas de computadores (softwares) são combinados para formar super-agentes, tais como: bandos de pássaros, cardumes de peixes, corporações, bibliotecas e sistemas distribuídos de computador. Os trabalhos realizados dentro do projeto Times Assíncronos
(A-Teams), podem ser classificados no âmbito da teoria organizacional [Shafritz 1992]. O desafio é obter uma melhor
compreensão e propor novas estruturas organizacionais que permitirão a colaboração entre diferentes agentes de software , cada qual com suas capacidades especiais, de maneira a formar times para a resolução de problemas difíceis em
projetos de engenharia.
Este artigo apresenta algumas regras desenvolvidas dentro do projeto A-Teams, para auxiliar no projeto de times de
agentes autônomos. Estas regras foram aplicadas com sucesso em vários problemas industriais, demonstrando o poten cial da
autônomos para aplicações industriais.
Keywords: Autonomous Agent Design, Asynchronous Teams , Organizational
1 What is an A-Team
An asynchronous team (A-Team) is a strongly cyclic computational network. Results are circulated through this network by software agents . The number of agents can be
arb itrary large and the agents may be distributed over an
arbitrarily wide area . Agents cooperate by working on one
another's results . Each agent is completely autonomous,
that is, it decides which results it is going lo work on and
when . Results that are not being worked on are accumulated
in shared memories to form populations. Randomization
(the effects of chance) and destruction (the elimination of
weak results) play key roles in determining what happens to
the populations.
2 Where did the ideas came from?
The ideas for A-Teams carne as a combination of lhe best
features from a number of natural and synthetic systerns,
including: insect societies, cellular communities, genetic
\ algorithrns, blackboards, simulated annealing and Tabu
search .
3 What are A-Teams good for?
A-Teams have proved to be extremely effective in solving
very difficult problems for which many ' algorithms are
available, but none are entirely satisfactory. Some may be
reliable but slow, others may be fast but unreliable. An A-
489
Team combines such algorithms 50 they can cooperate to
produce much better results much faster than they could if
working alone. The number of algorithms in an A-Team can
be arbitrarily large. Ali the algorithms can work in parallel
ali the time . Moreover, the addition of a new algorithm is
quick and easy within the A-Teams framework .
4 A-Teams Previous Work
At Carnegie Mellon University, A-Teams have been used to
solve a number of difficult and important problems, including: travelling salesman problems, high-rise building
design , reconfigurable robot design , diagnosis of faults in
electric networks, contrai of electric networks , job-shop
scheduling, protein structure analysis, robot-path-planning
and train scheduling. Other groups, to whom A-Team technology has been transferred, have applied it to stee l-mill
scheduling, paper-mill scheduling and constraint satisfaction.
. Some of the contributions may be seen through the work of
the following researchers. De Souza [DeSouza 1993] demonstrated that A-Teams are scale efficient by using them to
solve the TSP problern . In other words, if more agents are
incorporated into the organization, a better quality of solutions will be obtained. Murthy [Murthy 1992] demonstrated
the importance of balancing the construction and the
destruction of solutions in an A-Team organization, and
also, the benefits of A-teams in solving multi-objective optimization problems. Quadrei [Quadrei 1991] used an ATeam to successfully solve a multiple-objective optimization hi-rise building problem. Chen [Chen 1993] designed
an A-Team to solve Power System Diagnosis Problerns and
Ramesh [Ramesh 1994] demonstrated the qualities ofthe ATeam's organization when used for global optimization
search. Tsen demonstrated the capabilities of A-Teams to
work with multiple-representations [Tsen 1995].
5 Basic Elements
• Let us define some of the key concepts of an ATeam [Talukdar 1992a]. There are only two types
of elements in A-Teams: shared- rnemories and
agents.
• Shared Memories are repositories of solutions
(i.e.: one or more solutions) where agents can
read solutions in-set memories, and write new
found solutions into out-set memories.
• Agents are defined by its four components: In-Set
memory, Out-Set memory, Computational Procedure and Management function s.
• The management component is further divided
into two contrai functions : scheduling and selection. The scheduling contrai determines WHEN
an agent is activated and the selection control
determines WHERE or which input s frorn the InSet I the agent will work on.
An A-Team may be seen as a network of memori es and
agents . It is common to use a directed graph (digraph to
represent such a network. Each memory is represented by
one node of the graph , and each agent is represented by a
directed arc o The tail of the agent comes from the In-Set
memory and the head of the agent po ints to the Out-Set
memory . Figure 2 exemplifies the network representation
of an A-Team whereby the uppercase letters: A, B, C, D, E,
F and G symbolize agents ; and lhe lower case letters: a, b, c
Table 1: A-Teams applications
Domain
CompIetion
Date
-
What was learned
NonlinearAlget:raic Equations
1990
Proof of concept
Traveling Salesman Problem
1993
Scale Efficiency (more agent s --> better solutions)
Hi-rise Building Design
1991
Handling multiple, conflicting criteria
Robots-On-Demand
1992
Balancing construction with destruction
Power System Diagnosis
1992
Qualitative Bayesian Nets
Power System ControI
1994
Global Optimization Strategies, Formations
Train Scheduling
1995
Multiple Representations
...-
490
/
--------- ----
--- - -
-"
----
Management
- Se 1ec f ron
- Scheduling
In-Set Memory
Out-Set Memory
-..
...
Computational
Procedure
Figure 1: Functional description of a computer-based agent.
and d represent memories . The in-set for agent A is memory
a, and the out-set is also memory a. The in-set for agent B is
memory c and the out-set is memory a. The network representation of an A-Team is also called data-flow.
agent).
®
• Control-Flows are digraphs representing the
supervisory (i.e.: management) relations among
different agents. An agent is represented by a
node, and there will exist an are between two
nodes if a supervisory relationship between the
agents represented by the nodes exists. The tail of
the are is connected to the supervisor agent, and
the head of the are is pointing to the agent being
supervised (supervisee). Within a supervisory
relationship, the superv isor has control over the
management components of the agent being
supervised. Figure 3 demonstrates that agent A is
the supervisor for agent B, although agent A has
no supervisor
agent A is an autonomous
Figure 3: Example of a generic Control Flow
• A-Team organizations have cyclical ç1ata flow
(agents create cyclic paths) and null control flow
(ali agents are autonomous).
6 Classifying Agents and Memories.
According to [Talukdar 1992a], [Talukdar 1992b], [Talukdar 1993] there are different types of agents and memories .
Figure 4 shows an example of a typical A-team configuration with agents, memories, and the relationship among
them.
- Initialization Agents (IA) generate solutions
from the problem description . They are used to
A
D
E
G
'" ,
Figure 2: Networkrepresentation or data-flow.
491
d
Initialization
Agents
Destr01'er
Agent
I
...
-
.: --..-
Memory I
J
\
Destr01'er I
Agent
gent
gent
--
Problem
Description
----
Memory 2
Modification
Agents
I
I
I
I
Modification
Agents
Figure 4: Example of A-Team with multiple agents and memories.
populate memories of solutions in the initialization process of an A-Team.
to solve it)
2) Decompose the prablem into sub-problerns,
although not necessarily hierarchical sub-prablerns, but rather something related and usefuI.
- Construction Agents (CA) take solutions from
a particular in-set memory, and generate new
SOIUtiOllS that wilI be inserted into a different
out-set memory (i.e.: the in-set memory is different fram the out -set memory) .
3) Create a memory for each subprablem
4) Se lect or create algorithms for each subprab-
lem
- Modification Agents (MA) take solutions fram
-ª--partic_ular ) n-set .rnernory , and generate new
solutions to be inserted into the same memory.
i.e., the in-set memory and the out-set memory
of the agent are the same.
5) Form each algorithm into a simple autonomous agent:
Choose a Scheduler to decide
when and how often the agent
will run.
- Destrayer agents (DA) delete "bad" solutions.
One of its purposes is to limit the number of
-solutions in the memory. The other is to "herd"
the population of solutions towards good solutions .
Choose a Selector to select input
solutions frorn the in-set mernories.
7 A Design Prescription for A-Teams
1
I
In the effort to develop Asynchronous Teams, a design pre scription is proposed in this section in order to consolidate
the knowledge acquired over the last 5 years . The folIowing
are guidelines that have béen useful in designing and refining new A-Teams in order to solve various engineering
prablems. The guidelines are composed of seven major
steps:
Implement the computational
procedure (algorithm) of the
agent.
Choose the out-set memory in
which to deposit results from the
computational pracedures.
6) Interconnect the agents and memories into a
strangly cyclic network
7) Repeat if necessary frorn step 4, if stilI necessary repeat fram step 2
I) Choose a "difficult" optirnization problem
(difficult = no efficient deterministic algorithms
492
8 Conclusions
International Conference on Systems, Man and Cybernetics, Chicago, Illinois, Oct. 18-21, 1992.).
Agent based computer organizations are a fast growing
technology with many potential industrial applications. ATeams is one of the earliest developments of this new technology and has proved to be very efficient in solving multiobjective problems, multiple-representation problems, complex combinatorial problems, among others .
[Tsen 1995] Tsen , C. K. "Solving Train Scheduling Problems Using A-Teams", Ph.D dissertation, Departrnent of
Electrical and Computer Engineering, CMU, 1995.
A-Te ams has a well defined structure, based on memories
and agents, and its main characteristics are autonomous and
asynchronous agent s.
A design prescription has been developed over many years
of research and development of A-Teams and the next steps
in the research and development are to automate the design
of A-Teams.
9 Bibliography
[Chen 1993]\Chen, C. L. and Talukdar, S. N.,"Causal nets
for Fault Diagnosis", 4th International Conference on
Expert System s Application to Power Systems, Melbourne,
Australia, Jan 4-8, 1993.
[DeSouza 1993] DeSouza, P. S., "Asynchronous Organizations for Multi-Algorithm Problems" , Ph.D. dissertation,
Department of Electrical and Computer Engineering, CMU,
1993.
[Murthy 1992] Murthy, S., "Synergy in Cooperating
Agents : Designing Manipulators from Task Specification".
Ph.D. dissertation , Department of Electrical and Computer
Engine ering, CMU, 1992.
[Pyo 1985] Pyo, S. S., "Asynchronous AIgorithms for Distributed Process ing", Ph.D. dissertation, Electrical and
Computer Engineering Department, Carnegie Mellon University , Pittsburgh, PA, 1985.
[Quadrei 1991] Quadrei, R. W., "Asynchronous Design
Environments: Architecture and Behavior". Ph.D . dissertation, Department of Arch itecture, college of Fine Arts ,
CMU , 1991.
[Ramesh 1994] Ramesh, V. c., "Inertial search and Asynchronous Decompositions", Ph.D dissertation, Department
ofElectrical and Computer Engineering, CMU, 1994.
[Shafritz 1992] Shafritz, J. M. [editor] ,.Ott, J. S., "Classics
of organization theory " , Pac ific Grove, CA : Brooks/Cole
Pub. Co., c 1992.
[Talukdar 1992] Talukdar, S. N., and Souza, P. S. de, "Scale
Efficient Organizations", (Proceedings of the 1992 IEEE
493