An A-Team is a multi-agent organization for cyclic (iterative) processing. All the agents are autonomous. The cycles are asynchronously coupled, allowing them to be run in parallel and to collaborate without delaying one another. We conjecture that there are simple and effective ways of designing these couplings and offer three examples in support of the conjecture: A-Teams for solving sets of nonlinear algebraic equations, travelling salesman problems, and high-rise building design. INTRODUCTION A multi-agent system can be decomposed into two parts: (a) an organization consisting of the agents and mechanisms for their interaction, and (b) a computing environment for building and using the organization. Here we will focus on the organization, beginning with some terminology, then defining A-Teams, and finally, presenting some examples of the design of A-Teams. TERMINOLOGY AND MODELS Every multi-agent organization must contain a set of stores for the data its agents use and produce. This section develops models of the relations among agents and stores from three viewpoints: topology, operating policy and openness (potential for growth). TOPOLOGY Harel has developed a formalism called a Higraph [Harel 88] that is convenient for visualizing most features of organizational topology. In the succeeding material we will modify Higraphs by the addition of a few additional features to obtain what we call a Tao graph. We will also develop an algebraic equivalent of a Tao graph that is useful in analysis. Aspects and Stores Complex problem-solving processes invariably involve large amounts of data and many different representations. In recognition of this fact, we will use a coarse unit of data called an aspect. Conceptually, an aspect is a view, model or partial description of some object of interest For example, circuit diagrams, lists of materials, operating manuals and behavioral specifications arc some of the many aspects of an electric motor. More formally, an aspect x is a double: x = (R, V), where R is the representational scheme used by the aspect and V is a collection of values that instantiates this representation. We define a storc as a set of aspects. A store is said to be homogeneous if all its aspects use the same representational scheme, otherwise, it is heterogeneous. Stores and their Cartesian products are denoted by closed figures (Fig. 1). Agents and Tasks We define an agent as an operator capable of mapping the elements of one store into those of another. This mapping may be one-to-one, one-to-many or many-to-many, it may be deterministic or stochastic, and it may be into or onto. Pictorially, we will denote all these types of mappings by directed arcs as shown in Fig. 2. Symbolically, an agent is denoted by the relation: y = fky (x), x e Sj and y e Sj (El) where k is the agent's name, Sx is the agent's input store and Sj is its the output store. Any computational task can be thought of as a transformation of a given aspect into a goal aspect. The task of designing a motor, for example, is equivalent to transforming an aspect that specifies the motor's behavior into an aspect that describes its structure. Thus, a task is defined by two aspects; the first is given; the second is to be calculated. If the semantic gap between these aspects is too large to conveniently bridge with a single agent, then intermediate stores may be placed to serve as stepping stones along the way. The connecting sequence of agents and intermediate stores is called a computational path or string. Tao Graphs, Data Flows and Authority Flows The purpose of a Tao graph is to help visualize the topology of an organization-the relative locations of its agents and stores, the tasks the organization can perform, the different paths it may take in performing these tasks, and the supervisory relations among its agents. A Tao graph has two components: a data flow and an authority flow. An authority flow is a set of broken arrows that represent the supervisory relations among agents. As such, an authority flow is equivalent to the"organization chart" that is traditionally used to depict who supervises whom in human organizations. The four principal types of authority flows are: a simple hierarchy (Fig. 3), a compound hierarchy (one with more than two levels), a matrix (at least one agent has more than one supervisor), and a null flow (there are no supervisors and all the agents must be completely autonomous). A data flow is a directed graph whose nodes represent stores and whose arcs represent agents. We say that a data flow is functional redundant if at least one of its stores can be reached by more than one path. Cycles in a data flow (Fig. 4) make feedback and iteration possible, which in turn, make possible the reactive improvement and correction of computed results. Note that all the information in a data flow can be expressed by a set of equations obtained by writing (El) for every agent in the organization, as shown below: y = f^j (x), for x e Sj, y e Sj, and V k e K (E2) where K is the set of all agents. Though visually less appealing than a data flow, this set of equations has uses that we will get to shortly. OPERATING POLICY The operating policy of an organization is a collection of rules and regulations that govern its temporal activities. Two of the main issues are (c.f. (E2)): • coordination: how is the input, x, for each agent to be selected from among the many entries that could accumulate in its input store? Does this selection require global information or can it be made locally? • coupling: do the interactions among agents impose an order on their invocation? Can some or all of the agents work in parallel? The coordination policy has a large effect on the quality, convergence and stability of an organization's computations. In addition, it influences the coupling among the agents. To illustrate, consider the following coordination policies for iteration with the cyclic data flow of Fig. 4: (OP1): v n + 1 = g ( v n , w n ) n = 0,1,2,--— w n + l = h ( v n + l > w n ) (OP2): v n + l = g < v n ' w n ) n = 0,1,2, w n + l h < v n , w n ) (OP3): v n + 1 = g (v n , w.) n = 0,1,2, w n + l = h ( v * > w n ) where "*" means 'latest available," n is the iteration count, and v e V, w e W. The choice of inputs dictated by the coordination policy of (OP1) requires the agents h and g to be operated serially in alternating order: g, h, g, h,—. The coordination policy of (OP2) is less restrictive. It allows the agents to be operated in parallel, provided the faster agent waits for the slower one between iterations. Thus, it allows the sequence: g//h, g//h,—. The coordination policy of (OP3) places no restrictions on the order in which the agents may be invoked; both agents may proceed in parallel and at different speeds. When no agent has to wait for any other, we will say that the agents are asynchronously coupled. The advantage of asynchronous coupling is that it allows all the agents to work in parallel all the time. The disadvantage is that it is more prone to divergence and instability. GROWTH Two attributes that are useful in characterizing an organization's potential for growth are: •unit-of-growth: the quantum of expansion. Typical quanta are agents and stores. •cost-of-growth: the cost of any modifications that must be made to die organization to make it capable of accepting and using a new unit Note: this cost does not include any expenses incurred in assembling and packaging the unit-of-growth. A-TEAMS Rationale An A-Team (Asynchronous Team) is an organization-type that has evolved from a traditional blackboard [Nii 86a, b]. This sort of blackboard (Fig. 5) has three weaknesses. First, it does not allow its agents to work in parallel. Second, the single, centralized store is difficult to expand. Third, the system is overly dependent on its supervisor, errors made by the supervisor critically affect performance; also the supervisor must be modified every time a new type of agent is added. The first two weaknesses are easily remedied One could, for example, assemble a number of blackboards, distribute them over a network of computers, and assign some agents from each blackboard to handle interactions with other blackboards [LeSo 88]. One approach to eliminating the third weakness would be to seek more dependable and self modifying supervisors. Instead, we have chosen to eliminate the need for supervision. Definition We define an A-Team as any organization whose authority flow is null (there are no supervisors), whose data flow is cyclic, and whose agents are asynchronously coupled (so all the agents can work in parallel virtually all the time). A general form of the topology of an A-Team (Fig. 6) is very like that of its ancestor, the traditional blackboard (Fig. 5). However, there are differences in their operation and growth. Since ATeams are often confused with blackboards, it is worth wile to point out some of these differences as is done in Table 1. Clearly, a traditional blackboard is not an A-Team. However, one can make a strong case for including both scientific communities, as described in [Kornfeld 81], and insect societies in the class of A-Teams. The arguments are given in [Talukdar 91]; we do not have the space to reproduce them here. We merely note that any organization which can serve the needs of agents as diverse as scientists and insects must have many strengths. These include easy growth (new agents and stores can be added without making any modifications to the system), high dependability (high functional redundancy allows some agents or computational paths to fail without compromising overall performance), and high performance (large numbers of agents working in parallel allow wide spaces to be searched in relatively short times). Attribute A-Team Traditional Blackboard Topology Authority flow none simple hierarchy Data flow strongly cyclic weakly cyclic Functional redundancy usually high low to moderate O
[1]
Craig W. Reynolds.
Flocks, herds, and schools: a distributed behavioral model
,
1987,
SIGGRAPH.
[2]
David Harel,et al.
On visual formalisms
,
1988,
CACM.
[3]
S. N. Talukdar,et al.
COPS: a system for constructing multiple blackboards
,
1988
.
[4]
Steven J. Fenves,et al.
Towards a Framework for Concurrent Design
,
1989,
MIT-JSME Workshop.
[5]
Mark S. Fox,et al.
An Organizational View of Distributed Systems
,
1988,
IEEE Transactions on Systems, Man, and Cybernetics.
[6]
Pedro S. de Souza,et al.
Genetic Algorithms in Asynchronous Teams
,
1991,
ICGA.
[7]
Michael D. Rychener.
Expert Systems for Engineering Design
,
1988
.
[8]
R. Fletcher.
Practical Methods of Optimization
,
1988
.
[9]
Brian W. Kernighan,et al.
An Effective Heuristic Algorithm for the Traveling-Salesman Problem
,
1973,
Oper. Res..
[10]
H. Penny Nii,et al.
Blackboard Application Systems, Blackboard Systems and a Knowledge Engineering Perspective
,
1986
.
[11]
H. Crowder,et al.
Solving Large-Scale Symmetric Travelling Salesman Problems to Optimality
,
1980
.
[12]
Sape Mullender,et al.
Distributed systems
,
1989
.
[13]
B. Ermentrout,et al.
An adaptive model for synchrony in the firefly Pteroptyx malaccae
,
1991
.
[14]
Lashon B. Booker,et al.
Proceedings of the fourth international conference on Genetic algorithms
,
1991
.
[15]
Victor R. Lesser,et al.
The Hearsay-II Speech-Understanding System: Integrating Knowledge to Resolve Uncertainty
,
1980,
CSUR.
[16]
M. Padberg,et al.
Addendum: Optimization of a 532-city symmetric traveling salesman problem by branch and cut
,
1990
.
[17]
D. E. Goldberg,et al.
Genetic Algorithms in Search, Optimization & Machine Learning
,
1989
.
[18]
Keith S. Decker,et al.
Distributed problem-solving techniques: A survey
,
1987,
IEEE Transactions on Systems, Man, and Cybernetics.
[19]
E. Wilson.
The Insect Societies
,
1974
.
[20]
David E. Goldberg,et al.
Genetic Algorithms with Sharing for Multimodalfunction Optimization
,
1987,
ICGA.
[21]
Alfred V. Aho,et al.
Data Structures and Algorithms
,
1983
.
[22]
Ulf Grenander,et al.
A stochastic nonlinear model for coordinated bird flocks
,
1990
.
[23]
Carl Hewitt,et al.
The Scientific Community Metaphor
,
1988,
IEEE Transactions on Systems, Man, and Cybernetics.