Distributed intelligent agents

11
Katia Sycara, Anandeep Pannu, Mike Williamson, and Dajun Zeng, Carnegie Mellon University Keith Detker, University of Delaware ZREE DOMINANT CHARACTERIS- tics of the Infosphere have hampered effec- tive use of the Internet by humans or deci- sion-support machine systems: Information available from the Net is unorganized,multimodal, and distributed on server sites all over the world. The number and variety of data sources and services increase dramatically every day. Furthermore, the availability, type, and reliability of information services are constantly changing. Information is ambiguous and possibly erroneous due to the dynamic nature of the information sources and potential information updating and maintenance problems. Therefore, information is becoming increas- ingly difficultfor a person or machme system to collect, filter, evaluate, and use in problem solving. As a result, the problem of locating information sources, accessing,filtering, and integratinginformationin support of decision making, as well as coordinatmg information retrievaland problem-solving efforts of infor- mahon sources and decision-making systems, has become very critical. The notion of intelligent software agents has emerged to address this Although a precise definition of an intelli- IN RETSINA, THE AUTHORS HAVE DEVELOPED A DISTRIBUTED COLLECTION OF SOFTWARE AGENTS THAT COOPERATE ASYNCHRONOUSLY TO PERFORM GOAL-DIRECTED liVFORMATlON RETRIEVAL AND Pd'TEGRATlON FOR SUPPORTING A VWUE'IY OF DECISION-MAKliVG TASKS. E~PLES FOR EVERYDAY ORGANIZATIONAL DECISION MAKING AND FINANCM. PORTFOLIO M N A G E M E N T DEMONSTRATE ITS EFFECTIVENESS. gent agent is still forthcoming, the current working notion is that intelligent software agents are programs that act on behalf of their human users to perform laborious informa- tion-gathering tasks. These tasks include locating and accessing information from var- ious on-line information sources, resolving inconsistencies in the retrieved information, filtering away irrelevant or unwanted infor- mation, integrating information from het- erogeneous information sources, and adapt- ing over time to human users' information needs and the shape of the Infosphere. We have developed a reusable, multiagent computational infrastructure called Retsina (Reusable Task Structure-based Intelligent Network Agents) to address issues of dis- tributed information gathering in an open- world environment. As this article shows, we have implemented this system framework and are developing collaborating agents in diverse, real-world tasks such as organiza- tional decision making and financial portfo- lio management. Competing approaches Most current agent-oriented approaches focus on what we call inte$ace agents-a single agent with simple knowledge and problem-solving capabilities whose main task is information filtering to alleviate the user's cognitive ~ v e r l o a d . ~ Another type of 36 0885-9000/96/$4,00 0 1996 EEE IEEE EXPERT

Transcript of Distributed intelligent agents

Katia Sycara, Anandeep Pannu, Mike Williamson, and Dajun Zeng, Carnegie Mellon University Keith Detker, University of Delaware

Z R E E DOMINANT CHARACTERIS- tics of the Infosphere have hampered effec- tive use of the Internet by humans or deci- sion-support machine systems:

Information available from the Net is unorganized, multimodal, and distributed on server sites all over the world. The number and variety of data sources and services increase dramatically every day. Furthermore, the availability, type, and reliability of information services are constantly changing. Information is ambiguous and possibly erroneous due to the dynamic nature of the information sources and potential information updating and maintenance problems.

Therefore, information is becoming increas- ingly difficult for a person or machme system to collect, filter, evaluate, and use in problem solving. As a result, the problem of locating information sources, accessing, filtering, and integrating information in support of decision making, as well as coordinatmg information retrieval and problem-solving efforts of infor- mahon sources and decision-making systems, has become very critical.

The notion of intelligent software agents has emerged to address this Although a precise definition of an intelli-

IN RETSINA, THE AUTHORS HAVE DEVELOPED A DISTRIBUTED COLLECTION OF SOFTWARE AGENTS THAT

COOPERATE ASYNCHRONOUSLY TO PERFORM GOAL-DIRECTED liVFORMATlON RETRIEVAL AND Pd'TEGRATlON FOR SUPPORTING

A VWUE'IY OF DECISION-MAKliVG TASKS. E ~ P L E S FOR EVERYDAY ORGANIZATIONAL DECISION MAKING AND FINANCM.

PORTFOLIO M N A G E M E N T DEMONSTRATE ITS EFFECTIVENESS.

gent agent is still forthcoming, the current working notion is that intelligent software agents are programs that act on behalf of their human users to perform laborious informa- tion-gathering tasks. These tasks include locating and accessing information from var- ious on-line information sources, resolving inconsistencies in the retrieved information, filtering away irrelevant or unwanted infor- mation, integrating information from het- erogeneous information sources, and adapt- ing over time to human users' information needs and the shape of the Infosphere.

We have developed a reusable, multiagent computational infrastructure called Retsina (Reusable Task Structure-based Intelligent Network Agents) to address issues of dis-

tributed information gathering in an open- world environment. As this article shows, we have implemented this system framework and are developing collaborating agents in diverse, real-world tasks such as organiza- tional decision making and financial portfo- lio management.

Competing approaches

Most current agent-oriented approaches focus on what we call inte$ace agents-a single agent with simple knowledge and problem-solving capabilities whose main task is information filtering to alleviate the user's cognitive ~ v e r l o a d . ~ Another type of

36 0885-9000/96/$4,00 0 1996 E E E IEEE EXPERT

agent is the sofbot: a single agent with gen- era1 knowledge that performs a wide range of user-delegated information-finding tasks. Such centralized approaches have several limitations. A single general agent would need an enormous amount of knowledge to deal effectively with user information re- quests that cover a variety of tasks. In addi- tion, a centralized system constitutes a pro- cessing bottleneck and a single point of failure. Finally, because of the complexity of the information finding and filtering task and because of the large amount of information, the required processing would overwhelm a single agent.

The use of multiagent systems to access, filter, evaluate, and integrate this information offers another s o l ~ t i o n . ~ Such multiagent systems can compartmentalize specialized task knowledge and organize themselves to avoid processing bottlenecks. Furthermore, they can be built expressly to deal with dynamic changes in the agent and informa- tion-source landscape. In addition, multiple intelligent coordinating agents are ideally suited to the predominant characteristics of the Infosuhere, such as the heterogeneity of

ours is a multiagent system in which the agents operate asynchronously and col- laborate with each other and their users, the agents actively seek out information, and the information gathering is seamlessly integrated with problem solving and deci- sion support.

World Wide Web service, which provides data to multiple users. Besides the obvious inter- face differences, an information agent can rea- son about the way it will handle external requests and the order in which it will carry them out (WWW services are typically blindly concurrent). Moreover, information agents not only perform information gather- ing in response to queries but can also carry out long-term interactions that involve moni- toring the Infosphere for particular conditions, as well as information updating.

In describing Retsina?,6 the open society of reusable agents that self-organize and cooperate in response to task requirements, we will focus in particular on three crucial characteristics of the overall framework that differentiate our work from others:

- - I the information sources, the diversity of information-gathering and problem-solving tasks that the gathered information supports, and the presence of multiple users with related information needs. Therefore, we conclude that a distributed approach is supe- rior and is possibly the only one that would work for information gathering and coherent information fusion.

The context of multiagent systems widens the notion of intelligent agent in at least two general ways. First, an agent’s “user,” who imparts goals to it and delegates tasks, might be either a human or another agent. Second, an agent must have been designed with explicit mechanisms for communicating and interacting with other agents. As we see it, such multiagent systems may comprise inter- face agents tied closely to an individual human’s goals, task agents involved in the processes associated with arbitrary problem- solving tasks, and information agents that are closely tied to a source or sources of data.

An information agent differs from an inter- face agent because it is tied more closely to the data that it is providing, while an interface agent closely interacts with the user. Typically, a single information agent will serve the infor- mation needs of many other agents (humans or intelligent software agents). An information agent is also quite different from a typical

See the “Desirable agent characteristics” box for a list of agent characteristics we consider desirable.

Distributed intelligent agents in information processing and problem solving

Our work in developing Retsina rests on the following considerations:

Distributed information sources: Infor- mation sources available on line are inherently distributed. Furthermore, these sources typically are of different modal- ities. Therefore, it is natural to adopt a dis- tributed architecture consisting of many software agents specialized for different heterogeneous information sources. Shareability: Typically, user applications need to access several services or re- sources asynchronously in support of a variety of tasks. Replicating agent infor- mation-gathering or problem-solving capabilities for each user and application would be wasteful. The architecture should also support shareability of agent capabilities and retrieved information. Complexity hiding: Information retrieval in support of a task involves quite com- plex coordination of many different agents. To avoid overloading the user with a confusing array of agents and

DECEMBER 1996

Figure 1. The Retsina distributed agent organization.

agent interfaces, an architecture must be developed that hides the underlying dis- tributed information-gathering and prob- lem-solving complexity from the user.

* Modularity and reuseability: Although software agents will operate on behalf of their individual patrons (human users or other agents), pieces of agent code for a particular task can be copied from one agent to another and customized for new users, to take into consideration particu- lar users’ preferences or idiosyncrasies. In the distributed agent-based approach, soft- ware agents should be kept simple for ease of maintenance, initialization, and cus- tomization. For reuseability, preexisting information services, whose implementa- tion, query language, and communication channels are beyond the control of user applications, could also easily be incor- porated in problem solving.

* Flexibility: Software agents can interact in new configurations “on demand,” depend- ing on the information requirements of a particular decision-making task. Robustness: When information and con- trol is distributed, the system can degrade gracefully even when some of the agents are temporarily out of service, a feature that has significant practical implications because of the dynamic and unstable nature of on-line information services. Quality of information: The overlapping (usually partial) of available information items from multiple information sources lets us ensure (and probably enhance) the

38

correctness of data through cross-valida- hon. Software agents providing the same piece of information can interact and negotiate to find the most accurate data.

* Legacy data: Many information sources existed prior to the emergence of the Internet-based agent technology. New functionalities and access methods are necessary for them to become full- fledged members of the new informahon era. Directly updating these systems, however, is a nontrivial task. A prefer- able way of updating is to construct agent wrappers around existing systems. These agent wrappers interface to the information sources and information consumers, providing a uniform way of accessing the data as well as offering additional functionalities, such as mon- itoring for changes. This agent wrapper approach offers much flexibility and extensibility. Practically speaking, it is also easier to implement because the internal data structure and updating mechanism of the legacy information systems need not be modified.

These considerations clearly motivate the development of systems of distributed soft- ware agents for information gathering and decision support in the Internet-based infor- mation environment. The critical question then is how to structure and organize these multiple software agents. Our major research goal is to construct reusable software com- ponents in such a way that building software

agents for new tasks and applications and organizing them can be relatively easy.

It seems difficult to engineer a general agent paradigm that can efficiently cover a broad range of tasks, including interaction with the user, acquisition of user preferences, information retrieval, and task-specific deci- sion making. For example, in building an agent that is primarily concerned with inter- acting with a human user, we need to empha- size acquisition, modeling, and utilization of user informahon needs and preferences. But, in developing an agent that interacts with information sources, issues of acquiring user preferences lose importance. Instead, infor- mation source availability, efficiency of data access, data quality, and information source reliability become critical. Therefore, re- usable software components must efficiently address the critical issues associated with each of these three agent categories.

Agent types. In the Retsina framework, each user is associated with a set of agents that collaborate to support the user in various tasks and act on his or her behalf. The agents are distributed and run across different machines. They have access to models of the user and of other agents, as well as to the task and information-gathering needs asso- ciated with different steps of the task. Based on this knowledge, the agents decide how to decompose and delegate tasks, what infor- mation is needed at each decision point, and when to initiate collaborative searches with other agents to get, fuse, and evaluate the information.

In this way, the information-gathering activities of the agents are automatically acti- vated by models of the task and processing needs of the agents, rather than wholly initi- ated by the user. The user can leave some information-gathering decisions to the dis- cretion of the agents, saving user time and cognitive load and increasing user produc- tivity. The user controls the degree of agent autonomy. As a user gains more confidence in the agents’ capabilities, he or she will give more latitude over decisions to them. During search, the agents communicate with each other to request or provide information, find information sources, filter or integrate infor- mation, and negotiate to resolve conflicts in information and task models. They commu- nicate the returned information to display agents for appropriate display to the user.

Figure 1 shows Retsina’s three types of agents: interface, task, and information.

IEEE EXPERT

Inte$ace agents. These interact with the user by receiving user specifications and deliver- ing results. They acquire, model, and utilize user preferences to guide system coordination in support of the user’s tasks. For example, an agent that filters electronic mail according to its user’s preferences is an interface agent. The main functions of an interface agent include

collecting relevant information from the user to initiate a task; presenting relevant information, includ- ing results and explanations; asking the user for additional information during problem solving; and asking for user confirmation, when necessary.

From the user’s viewpoint, having the user interact only through a relevant interface agent for a task hides the underlying distrib- uted information-gathering and problem- solving complexity. The user thus need not know of, access, or interact with a potentially large number of task agents and information- seeking agents in support of a task. For exam- ple, the task of hosting a visitor in a univer- sity-one of the tasks supported by our intelligent agents-involves more than 10 agents. However, the user interacts directly only with the visitor hoster interface agent.

Task agents. These support decision making by formulating problem-solving plans and carrying them out through querying and exchanging information with other software agents. Task agents have knowledge of the task domain and which other task assistants or information assistants are relevant to var- ious parts of the task. In addition, task assis- tants have strategies for resolving conflicts and fusing information retrieved by infor- mation agents. A task agent performs most of the autonomous problem solving. It ex- hibits a higher level of sophistication and complexity than either an interface or infor- mation agent. A task agent

receives user-delegated task specifica- tions from an interface agent, interprets the specifications and extracts problem-solving goals, forms plans to satisfy these goals, identifies information-seeking subgoals present in its plans, and decomposes the plans and coordinates with appropriate task agents or informa- tion agents for plan execution, monitor- ing, and results composition.

An example of a task agent from the financial portfolio management domain is one that makes recommendations to buy or sell stocks.

Information agents. These provide intelli- gent access to a heterogeneous collection of information sources depicted at the bottom of Figure 1 . Information agents have models of the associated information resources and strategies for source selection, information access, conflict resolution, and information fusion. For example, an agent that monitors stock prices of the New York Stock Ex- change is an information agent. An infor- mation agent’s activities are initiated either top-down by a user or a task agent through

IN RETSINA, AGENTS ARE DISTRIBUTED ACROSS DIFFERENT MACHAVES AND AYZE DIRECTLY ACTlVATED BASED ON THE TOP-DOWN ELABORATION OF THE CIJRRENT SITUATION.

queries, or bottom-up through monitoring information sources for the occurrence of particular information patterns (for exam- ple, a particular stock price has exceeded a predehed threshold).

Once it has observed the monitored-for condition, the information agent sends noti- fication messages to agents that have regis- tered interest in the occurrence of particular information patterns. For example, in the financial domain, a human or machine agent might be interested in being notified every time a given stock price rises by 10%. Thus, information agents are active, in the sense that they actively monitor information sour- ces and proactively deliver the information, rather than just waiting for and servicing one- shot information queries.

In messages from other agents, an infor- mation agent might receive three important types of goals:

answering a one-shot query about asso- ciated information sources; answering periodic queries that will be

run repeatedly, and sending the results to the requester each time (such as, “Tell me the price of IBM every 30 minutes”); and monitoring an information source for a change in a piece of information (such as, “Tell me if the price of IBM drops below $80 within 15 minutes of the occurrence of that event”).

Learning can be added to all types of agents. The agents can retain useful infor- mation from their interactions as training examples and use various machine-learning techniques to adapt to new situations and improve their performance. 7,8

Agent organization and coordination. In Retsina, agents are distributed across differ- ent machines and are directly activated based on the top-down elaboration of the current situation (as opposed to indirect activation via manager or matchmaker agent^,^ or self- directed activation. The system does, how- ever, use matchmaking for locating agents.). These agent activations dynamically form an organizational structure on demand that fits with the task, the user’s information needs, and resulting decomposed information re- quests from related software agents. This task-based organization may change over time, but will also remain relatively static for extended periods. The agent organization, however, will not change because of the appearance or disappearance of information sources, but the agent interactions could be affecte:d by the appearance or disappearance of agents that can fulfill task subgoals in new ways.

Information that is important for decision making (and thus might eventually change organizational structuring) is monitored at the lowest levels of the organization and passed upward when necessary. In this type of organization, task-specific agents contin- ually interleave planning, scheduling, coor- dination, and execution of domain-level problem-solving actions.

This system organization has the follow- ing characteristics:

There is a finite number of task agents with which each agent communicates. The task agents are eventually responsi- ble for resolving information conflicts and integrating information from hetero- geneous information sources for their respective tasks. The task agents are responsible for acti-

DECEMBER 1996 ?O

Figure 2. The agent architecture: a functional view.

vating relevant information agents and coordinating the information-finding and filtering activity for their task.

In our organization, most interface agent interactions are with the human user and the most frequent information agent interactions are with information sources, whereas task agents spend most of their processing inter- acting with other task agents and informa- tion agents.

When a task-specific agent receives a task from an interface agent or another task- specific agent, it decomposes the task based on its domain knowledge and then delegates the subtasks to other task-specific agents or directly to information-specific agents. The task-specific agent will take responsibility for collecting data, resolving conflicts, coor- dinating among the related agents, and reporting to whoever initiated the task. The agents responsible for assigned subtasks will either decompose these subtasks further or perform data retrieval (or possibly other local domain-specific problem-solving activities).

When information sources are partially replicated with varying degrees of reliabil- ity, cost, and processing time, information agents must optimize information source selection. If the chosen information sources fail to provide a useful answer, the informa- tion agent should seek and try other sources to redo the data query. Because of these com- plexities, we view information retrieval as a planning task.I0 The plans that task-specific agents have include information-gathering goals, which, in turn, are satisfied through relevant plans for information retrieva1.l’ This type of intelligent agent differs from tra-

40

ditional AI systems because information- seeking during problem solving is an inher- ent part of the system. In effect, the planning and execution stages are interleaved because the retrieved information might change the planner’s view of the outside world or alter the planner’s inner belief system.

Information or task agents filter or incre- mentally fuse information as the goals and plans of the various tasks and subtasks dic- tate, before passing it on to other agents. This incremental information fusion and conflict resolution increases efficiency and potential scalability (inconsistencies detected at the information-assistant level may be resolved at that level and not propagated to the task agent level) and robustness (whatever incon- sistencies were not detected during informa- tion-assistant interaction can be detected at the task-assistant level). A task agent is thus proactive, in that it actively generates infor- mation-seeking goals and, in turn, activates other relevant agents.

Obviously, one of the major issues in- volved in multiagent systems is the problem of interoperability and communication be- tween the agents. In our framework, we use the KQML language18 for interagent com- munication. To incorporate and use preexist- ing software agents or information services developed by others, we adopt the following strategy: If the agent is under our control, it will be built using KQML as a communica- tion language. If not, we build a gateway agent that connects the legacy system to our agent organization and handles different com- munication channels, different data and query formats, and so forth.

In open-world environments, agents in the

system are not statically predefined but can dynamically enter and exit an organization. This necessitates mechanisms for agent locating, which is a challenging task, espe- cially in environments that include large numbers of agents and where information sources, communication links, or agents might be appearing and disappearing. We have made initial progress in implementing matchmaker agent^'^,'^ that act as yellow pages. When an agent is instantiated, it advertises its capabilities to a matchmaker. An agent can query a matchmaker when looking to find another that possesses a par- ticular capability-one that can supply par- ticular information or achieve a problem- solving goal. The matchmaker returns appropriate lists of agents matching the query description, or “null” if it does not know of my agent with this capability.

Architecturally, matchmakers are infor- mation agents. A matchmaker is an informa- tion agent that can find other agents rather than pieces of information. One nice prop- erty that falls out of this matchmaker design is that, if a matchmaker does not know of any agent that can provide a particular requested service, the requesting agent can place a monitoring request directing the matchmaker to keep looking for an agent whose adver- tised capability matches the service specifi- cation of the requesting agent (the customer). When the matchmaker finds such an appro- priate agent, it notifies the customer.

Matchmaking allows a system to operate robustly in the face of agent appearance or disappearance and intermittent communica- tions (the customer can go back to the match- maker, loohng for a new supplier agent). Matchmaking also lays the foundation for evolutionary system design in which agents with enhanced capabilities can gracefully integrate into the system.

Agent engineering: how to structure an agent?

To operate in rich, dynamic, multiagent environments, software agents must be able to effectively use and coordinate their lim- ited computational resources. As our point of departure in structuring an agent, we use the Task Control Architecturez1 and Taems,” which we extend and specialize for real-time user interaction, information gathering, and decision support. Figure 2 shows a functional view of the agent architecture.

IEEE EXPERT

The planning module takes as input a set of goals and produces a plan that satisfies those goals. The agent planning process is based on a hierarchical task network (HTN) planning formalism. It takes as input the agent’s current set of goals, the current set of task structures, and a library of task- reduction schema. A task-reduction schema presents a way of carrying out a task by spec- ifying subtasks and actions and describing the information-flow relationships between them. That is, the reduction might specify that the result of one subtask (deciding the name of an agent) be provided as an input to another subtask (sending a message, for example). Actions might require that certain information be provided before they can exe- cute and might also produce information upon execution. For example, the act of send- ing a KQML message requires the name of the recipient and the content of the message, but the act of deciding to whom to send some message would produce the name of an agent. An action is enabled when all the required inputs have been provided.

The communication and coordination module accepts and interprets messages from other agents in KQML. Interface agents also accept and interpret e-mail messages. We have found that e-mail is a convenient medium for communicating with the user or other interface agents-for example, agents that provide event notification services. Mes- sages can contain requests for services. These requests become goals of the recipient agent.

The scheduling module schedules each of the plan steps. The agent scheduling process in general takes as input the agent’s current set of plan instances-in particular, the set of all executable actions-and decides which action, if any, is to execute next. This action is then identified as a fixed intention until the execution component actually carries it out. Whereas scheduling can be very sophisti- cated for task agents, our current implemen- tation of information agents uses a simple earliest-deadline-first schedule execution heuristic.

To operate in the uncertain, dynamic Infos- phere, robustness and efficiency considera- tions dictate that software agents be reactive to change. The execution monitoring process handles agent reactivity considerations. Exe- cution monitoring takes as input the agent’s next intended action and prepares, monitors, and completes its execution. The execution monitor prepares an action for execution by setting up a context (including the results of

DECEMBER 1996

previous actions) for the action. It monitors the action by optionally providing the asso- ciated computation-limited resources-for example, the action may be allowed only a certain amount of time; if the action does not complete before that time expires, the com- putation is interrupted, and the action is marked as having failed.

When an action is marked as failed, the exception-handling process takes over to replan from the current execution point to help the agent recover from the failure. For instance, when a certain extemal information source is temporarily out of service, the agent that needs data from this information source shouldn’t just wait passively until the service is back. Instead, the agent might want to try

TO OPERATE I N THE WCERTARV, D Y ” I C INFOSPHERE, ROBUSTNESS AND EFFIClENCY CONSIDERATIONS DICTATE THAT SOFTWARE AGENTS BE REACTIVE TO CHANGE.

another information source or temporarily switch its attention to other tasks before returning to the original task.

The agent has a domain-independent library ofplan fragments (task structures) that are indexed by goals, as well as a domain-specific library of plan fragments from which plan fragments can be retrieved and incrementally instantiated according to the current input parameters. The retrieved and instantiated plan fragments help form the agent’s instantiated task tree that is incre- mentally executed.

The belief and facts data structures contain facts and other knowledge related to the agent’s functionality. For example, the inter- face agent’s belief structures contain the user profile, whereas the information agent’s belief structures contain a local database that holds relevant records of external information sources the agent is monitoring. Because an information agent does not control informa- tion sources on the Intemet, it must retrieve and store locally any information that it must monitor. For example, suppose an informa-

tion agent that provides the New York Stock Exchange data is monitoring the Security APL Quote ,Server Web page to satisfy another agent’s monitoring request-such as, “Notify me when the price of IBM exceeds $80.”The information agent must periodically retrieve the price of IBM from the Security APL Web page, bring it to its local database, and per- form the appropriate comparison. For infor- mation agents, the local database is a major part of their reusable architecture. This local database allows all information agents to pre- sent a consistent interface to other agents and reuse behaviors, even in very different infor- mation environments6

An agent architecture may also contain components that are not reusable. For exam- ple, the. architecture of information agents contains a small amount of site-specific exter- nal query interface code. The external query interface is responsible for actually retrieving data from some external source or sources. The external query interface is usually small and simple, thus minimizing the amount of site-specific code that must be written every time a new information agent is built.

Because task structure management, plan- ning, action scheduling, execution monitor- ing, and exception handling are handled by the agent in a domain-independent way, all these control constructs are reusable. There- fore, the development of a new agent is sim- plified and involves the following steps:

0 build the domain-specific plan library, 0 develop the domain-specific knowledge

base, and instantiate the reusable agent control architecture using the domain-specific plan library and knowledge base.

Application domains

We have implemented distributed cooper- ating intelligent agents using the concepts, architecture, and reusable components of the Retsina multiagent infrastructure for every- day organizational decision making and for financial portfolio management.

Everyday organizational decision making. In performing everyday routine tasks, peo- ple speind much time in finding, filtering, and processing information. Delegating some of the information processing to intelligent agents could increase human productivity and reduce cognitive load. To this end, recent

41

research has produced agents for e-mail fil- t e r i ~ ~ g , ~ calendar management,15 and filter- ing news.5 These tasks involve a single user interacting with a single software agent. There are tasks, however, that have more complex information requirements and pos- sible interaction among many users. A dis- tributed, multiagent collection of intelligent agents is then appropriate and necessary. Within the context of our Pleiades project, we have applied the distributed Retsina

42

framework to multiuser tasks of increased complexity, such as

0 distributed, collaborative meeting sched- uling among multiple human attendees,16

0 finding people information on the Internet, 0 hosting a visitor to Camegie Mellon Uni-

versity6 (see the "Carnegie Mellon Uni- versity visitor hosting task" box for an extended example of system operation), and

0 accessing and filtering information about conference announcements and requests for proposals from funding organizations and notifying computer science faculty of RFPs that suit their research interest^.^

Financial portfolio management. The sec- ond domain of applying the Retsina frame- work is financial portfolio management. This is the Warren system, named after Warren Buffet, the American investor and author. In

IEEE EXPERT

current practice, investment houses employ- ing teams of specialists for finding, filtering, and evaluating relevant information carry out portfolio management. Based on their eval- uation and on predictions of the economic future, the specialists make suggestions about buying or selling various financial instruments, such as stocks, bonds, or mutual funds.

Current practice as well as software engi- neering considerations motivate our multi-

-

- DECEMBER 1996

agent system architecture. A multiagent sys- tem approach is natural for portfolio man- agement because of the multiplicity of infor- mation sources and the different expertise that must be brought to bear to produce a good recommendation (such as a stock buy or sell decision).

The overall portfolio-management task has several component tasks: eliciting (or learning) user profile information, collecting information on the user’s initial portfolio

position, and suggesting and monitoring a reallocation to meet the user’s current pro- ‘tile and investment goals. As time passes, assets in the portfolio will no longer meet the user’s needs (and these needs might also be changing as well). Our initial system focuses on the ongoing portfolio-monitoring process. Figure 3 outlines the main agents in the port- folio management task.

Thepor@olio manager agent is an interface agent that interacts graphically and textually

43

Figure 3. The portfolio management application.

Figure 4. Warren’s Netscape interface.

with the user to acquire information about the user’s profile and goals. The fundamental analysis agent is a task assistant that acquires and interprets information about a stock from the viewpoint of a stock’s fundamental value. Calculating fundamental value takes into con- sideration information such as a company’s finances, forecasts of sales, eamings, and expansion plans. The technical analysis agent uses numerical techniques such as moving averages, curve fitting, complex stochastic models, and neural nets to try to predict the near future in the stock market. The breaking

44

news agent tracks and filters news stones and decides if they are so important that the user needs to know about them mediately, m that the stock price might be immediately affected. The analyst tracking agent tries to gather intel- ligence about what human analysts are think ing about a company.

These agents gather information through information requests to information agents. The information agents that we have cur- rently implemented are the stock tracker agents that monitor stock-reporting Intemet sources, such as the Security APL, the news

tracker agents that track and filter Usenet rel- evant financial news articles (including CMU’s Clarinet and Dow Jones news feeds), and the SEC31ings tracker agent that moni- tors the Edgar database. The information retrieved by these information agents passes to the display agents, which display in an integrated fashon the retrieved information to the user.

Figure 4 shows an example Warren port- folio. Currently, a user may interact with his or her own portfolio display (interface) agent via HTML forms and a Web browser. (We are currently constructing a more interactive Java interface ) The portfolio display consists of a summary of the user’s portfolio, includ- ing which issues are owned, and for each issue the total number of shares owned, the current price, the date of the last news arti- cle, and the current value. Below the portfo- lio table, the interface displays the current value of the entre portfolio with the portfo- lio’s net gain in equity (current values com- pared to purchase values m n u s commis- sions). The interface also allows the user to buy and sell stocks (trade) and to request the preparation of a financial data summary (fetch FDS), which uses historical price, earnings, and revenue information from the SEC’S Edgar database to do a simple funda- mental analysis of the stock.

The other display avalable to the user (by clicking on a stock’s current value) is a pricehews graph that dynamically integrates intraday trading prices and news stories about a stock. Figure 5 shows an example for Netscape Communicahons (NSCP) during the penod of roughly December 5 to Decem- ber 23. Prices are plotted at mostly one-hour (sometimes 15-minute) intervals and con- nected dunng the &admg day (there’s no trad- ing at night or during the weekends). The numbers on the graphs correspond to the news articles whose subjects are hsted below the graph The articles are numbered from earliest to latest (left to right on the graph). Each article number is positioned horizon- tally at the time the news story appeared and vertically at the approximate price of the stock at that time. Hyperlinks connect the article subjects to the actual news stones.

The example graph covers a time period just after the $30 price rise in NSCP triggered by the joint Sun and Netscape announcement of JavaScript (Item 2 in Figure 5). However, the new record high caused some profit- taking, and then the December 7 news hits that Smith Barney had begun coverage of

IEEE EXPERT

Netscape and recommended Sell (Items 4 and 5), dropping the stock for the rest of the day. Although our university access is to delayed price and news sources, such infor- mation from real-time data feeds is the bread and butter of many types of institutional investment decision making.

W E BELIEVE THAT FLEXIBLE distributed architectures such as the ones we have just described, consisting of reusable agent components, will answer many of the challenges facing users as a result of the avail- ability of the vast, new, Net-based informa- tion environment. These challenges include locating, accessing, filtering and integrating information from disparate information sour- ces, monitoring the Infosphere and notifying the user or an appropriate agent about events of particular interest in performing the user- designated tasks, and incorporating retrieved information into decision-support tasks.

We are currently developing an agent edi- tor that allows a user to specify desired new agent behaviors. The editor will interactively compose code to structure the agent. In addi- tion, we are working on extending our cur- rent protocols to allow agents developed by different designers to interoperate.

Acknowledgments The current research has been sponsored in part

by ARPA Grant #F33615-93-1-1330, ONR Grant #N00014-951-1092, and NSF Grant #IRI- 9508191. We thank Tom Mitchell, Dana Freitag, Sean Slittery, and David Zabowski for insightful discussions.

References 1. M. Wooldridge and N.R. Jennings, “Intelli-

gent Agents: Theory and Practice,” The Knowledge Engineering Review, Vol. 10, No. 2,1995, pp. 115-152.

2. K. Lang, “Newsweeder: Learning to Filter Netnews,” Proc. Machine Learning Conk, Morgan Kaufman, San Francisco, 1995.

3. P. Maes, “Agents That Reduce Work and Information Overload,” Comm. ACM, Vol. 37, No. 7, July 1994, pp. 30-40.

180

170

160

E 150

a x

+1 140

130

120

Graph f o r NSCP I ” I ” I ” I ”

U

16

12f05 12108 12/11 12/14 12/17 1 2 e 0 12123 PLB:0B 0 0 : 0 0 00: 00 00:00 00: 00 0 0 : 00 0 0 : 0 0

Date T i m e

Figure 5. A Price/News graph constructed by the Warren system for Neltscape Communications (ticker symbol NSCP).

4. 0. Etzioni and D. Weld, “A Softbot-Based Interface to the Internet,” Comm. ACM, Vol. 37, No. 7, July 1994, pp. 72-79.

5. K. Sycara and D. Zeng, “Coordination of Multiple Intelligent Software Agents,” to appear in Int’l J. Cooperative Information Systems, 1996.

6. K. Decker, K. Sycara, and M. Williamson, “Modeling Information Agents: Advertise- ments, Organizational Roles, and Dynamic Behavior,” Proc. AAAI-96 Workshop on Agent Modeling, AAAI Press, Menlo Park, Calif., 1996.

7. A. Pannu and K. Sycara, “Learning Text Fil- tenug Preferences,” Proc. AAAI Symp. Ma- chine Learning and Information Access, AAAI Press. 1996.

8. D. Zeng and K. Sycara, “Bayesian Learning in Negotiation,” Proc. AAAI Symp. Adapta- tion, CO-evolution, and Learning in Multia- gent Systems, AAAI Press, 1996.

9. D. Kuokka and L. Harada, “On Using KQML for Matchmaking,” Proc. First Int’l Con$ Multiagent Systems, AAAI Press, 1995, pp. 239-245.

10. C.K. Knoblock, “Integrating Planning and Execution for Information Gathering,” Wo,rking Notes of the AAAI Spring Symp. Series on Information Gathering from Dis- tributed, Heterogeneous Environments, AAAI Press. 1995.

11. K. Decker, “Environment Centered Analysis and Design of Coordination Mechanisms,” doctoral dissertation, Univ. of Massachusetts, Amherst, Mass., 1995.

12. T. F:inin et al., “KQML: An Information and Knowledge Exchange Protocol,” in Knowl- edge Building and Knowledge Sharing, K. Fuchi and T. Yohoi, eds., Ohmasha and 10s Press, 1994.

13. K. ]Decker, M. Williamson, and K. Sycara, “Matchmaking and Brokering,” to appear in

DECEMBER 1996 45

IEEE EXPERT

SYSTEMS & THEIR APPLICATIONS

Advertiser / Index December I996

PG#

Haley Enterprise 19 MIT Press 3

RS#

2 1

For production information and conference and classified advertising, contact Marian B. Anderson, IEEE EXPERT, 10662 Los Vaqueros Circle, Los Alamitos, California 90720- 1314; Phone: (714) 821-8380; Fax: (714) 821-4010; emad: m. anderson @ computer. org ; http ://www. computer. org .

Proc. Second int ’1 Con$ Multiagent Systems, ACM Press, NewYork, 1996.

14. R. Simmons, “Structured Control for Autonomous Robots,” IEEE J. Robotics and Automation, 1994.

15. L. Dent et al., “A Personal Learning Appren- tice,” Proc. 10th Nat’l Con8 AI, AAAI Press, 1992, pp. 96-103.

16. J. Liu and K. Sycara, “Distributed Meeting Scheduling,” Proc. i6thAnn. Con$ Cognitive Science Soc., Lawrence Erlbaum Assoc., Mahwah, N.J., 1994,pp. 583-588.

Katia Sycara is an associate research professor in the School of Computer Science at Camegie Mel- lon University and the director of the Enterprise Integration Laboratory. Her research interests include software agents and their applications, dis- tributed AI, case-based reasoning, manufacturing, negotiation models, evolutionary computation, and multiagent learning. She holds a BS in applied mathematics from Brown University, an MS in elec- trical engineering from the University of Wiscon- sin, and a PhD in computer science from the Geor- gia Institute of Technology. She is the Area Editor for AI and Management Science for Group Deci-

~

46

For display advertising, contact:

Northwest: Judy Harway, 4962 El Camino Real, Suite 210, Los Altos, CA 94022; Phone: (415) 965-7411, (800) 965-9970; Fax: (408) 985-0181; email: [email protected]. Midwest: Karen Mock, 229 Ann Street, Paris, IL 61944; PhonePax: (217) 465-6005; email: [email protected]. Southern California and Mountain States: Richard C. Faust, 24050 Madison Street, Suite 101, Torrance, Califomia 90505; Phone: (310) 373- 9604; Fax: (310) 373-8760; email: [email protected]. Southwest: Joe Tomaszewski, 366 Wall Street, Princeton, New Jersey 08540-1517; Phone: (609) 683-7900, (800) 355-3343; Fax: (609) 497-0412; email: j .tomaszewski @ computer.org. East CoasUSontheast: Susan Barbash, 2 Stone Avenue, Ossining, New York 10562; Phone: (914) 941-0195; Fax: (914) 941-8659; email: s.barbash@ computer.org. Northeast: Matin J. Tubridy, 3 Glenwood Road, Weston, Connecticut 06883; Phone: (203) 222-7004, (800) 863-7432; Fax: (203) 227-5790; email: [email protected]. European: Catherine Watkins, RD 198, Thivervd-Orignon 78850, France; Phone: 33 (1) 30.54.3102; Fax: 33 (1) 30.54.9698; email: c.watkins@ computer.org.

sion and Negotiation and serves on the editorial boards of IEEEExpert, Alin Engineering, and Con- current Engineering: Research and Applications. She is a member of the AAAI Executive Council, a member of the ACM, the Cognitive Science Society, and the Institute for Management Science (TJMS), and is a Senior Member of the EEE. Reach her at the School of Computer Science, Camegie Mellon Univ., Pittsburgh, PA 15213; katia@cs. cmu.edu; http://www.cs.cmu.edu/-sycara.

Anandeep Pannu is a research programmer at Camegie Mellon’s Robotics Institute. His research interests include intelligent agents, machine learn- ing, and distributed software systems. He received a BS in physics from St. Xaviers College, Bombay, and an MS in intelligent systems from the Univer- sity of Pittsburgh. Reach him at the Robotics Insti- tute, CamegieMellonUniv., Pittsburgh, PA 15213; mikew@ cs.cmu.edu; http://www.cs.cmu.edu/afs/ cs.cmu.edu/user/pa/www/panuu.html.

Mike Williamson is a postdoctoral research fellow at Camegie Mellon University. His primary research interests are plan representation and evaluation, decision-theoretic planning, agent architectures, and multiagent systems. He received his MS and PhD in computer science from the University of Washing- ton and a BS in mathematics from the University of Puget Sound. He is a member of the M I . Reach him at the Robotics Institute, Carnegie Mellon Univ., Pittsburgh, PA 15213; [email protected]; http:/l www.cs.cmu.edu/ - d e w / .

Dajun Zeng is a graduate student research assistant in the Graduate School of Industrial Administra- tion and the Robotics Institute at Carnegie Mellon University. He is pursuing a PhD in industrial administration. His research interests include dis- tributed AI, supply chain management, manufac- turing, and intelligent information retrieval. He received his MS in industrial administration in 1994 from Carnegie Mellon and his BS in economics and operations research in 1990 from the Univer- sity of Science and Technology of China, Hefei, China. He is a student member of Informs and the AAAI. Reach him at the Robotics Institute, Carnegie Mellon Univ., Pittsburgh, PA 15213; dajunzeng @cs.cmu.edu; http://cs.cmu.edu/-zeng/.

Keith Decker is an assistant professor in the Department of Computer and Information Sci- ences at the University of Delaware. His research interests include cooperative distributed problem solving, multiagent systems, computational orga- nization design, real-time AI, parallel and distrib- uted planning and scheduling, and distributed information gathering. He received his BS in applied math from Carnegie Mellon University, his MS in computer science from Rensselaer Poly- technic Institute, and his PhD in computer science from the University of Massachusetts at Amherst. He is a member of the IEEE and the AAAI. Con- tact him at the Dept. of Computer and Information Sciences, Univ. of Delaware, Newark, DE 19716; [email protected]; http://www.cis.udel.edu/ -decker/.

IEEE EXPERT