Caution! Agent Based Systems in Operation

0 downloads 0 Views 194KB Size Report
... to identify the key characteristics which make a problem suitable for agent solutions. ... telephone, power and computer network monitoring. On the other ... system depends on various factors, such as available communication band- width .... are faced with the system level issues, such as stalling, deadlock, cycling, etc.
Chapter 1

Caution! Agent Based Systems in Operation T. Middelkoop

A. Deshmukh

University of Massachusetts at Amherst Department of Mechanical and Industrial Engineering mtim, [email protected]

1.1 Introduction As agent based systems move out of the controlled laboratory and simulated environment into real world applications, they face signi cant design and operational challenges. This paper attempts to highlight some of the major issues involved in the design and implementation of agent based applications. Our intent is not to prescribe speci c solutions or actions, which will depend on the application domain, scope and resources available, but to make the reader aware of the issues which need serious consideration when using agents to tackle real world problems. The following sections each address a speci c issue related to design, implementation or operational eciency of multi{agent systems.

1.2 When to use Agents? The foremost decision a system designer has to make is when to use agents to solve a problem. It is important to note that not all problems bene t from agent based approaches. Thus, it is crucial to identify the key characteristics which make a problem suitable for agent solutions.

2 Agent based system closely represent how natural systems work by distributing a problem among a number of autonomous entities[9, 8]. Thus, if the problem cannot be e ectively divided into a series of interacting subproblems or subgoals, an agent approach may not be successful. The agency approach o ers the power of problem decomposition and parallelism for tackling complex problems. The autonomous nature of agents also o ers exibility in dealing with uncertain situations and localized failures. However, agent based systems require signi cant life{support and monitoring overhead. For example, one application domain where agent based systems offer signi cant advantages is distributed system monitoring. In this domain, agents process large amounts of local data and only communicate meta{level results to other agents. This vastly reduces the bandwidth requirements of the entire system. Applications in this domain include telephone, power and computer network monitoring. On the other hand, the additional overhead may not be justi ed for using agents to transfer data between two applications, where the data format and conversion requirements are known and xed.

1.3 Agent Functionality As mentioned in the previous section, problem decomposition and parallelism are key advantages of the agency approach. Hence, the level of functionality assigned to each agent is an important characteristic of the system. On one hand, an agent containing too much functionality can defeat the advantages of agency and parallelism. Whereas, if each agent has limited functionality, the system can be overwhelmed by large number of agents and excessive communications. In many cases the agent functionality is determined by the problem decomposition process. The decisions made by each agent are determined by their respective goals, tasks and available resources. Every agent in the system does not need to have the same level of functionality. The use of agent hierarchies can result in ecient organizations. Alternatively, higher level organization can emerge out of the agent interactions, where certain agents act as information and decision consolidators, in order to reduce the interactions among agents and coordinate tasks. The optimal distribution of functionality among various agents in the system depends on various factors, such as available communication bandwidth, processing capability of individual agents, real{time decision requirements, level of fault tolerance desired and the nature of the task to

3 be performed.

1.4 Incorporating Values Into Agents The representation of goals and values in individual agents requires translation of overall goals and problem requirements into an internal representation for each agent. The agents have to be able to evaluate the value of each action from a local perspective and also consider its impact on societal objectives. Speci cation of utility functions or value functions is commonly used to compare di erent options available. Appropriate translation of the cost of uncertainty and risk associated with each option needs to be done by the system designer in order to guide the overall system performance to desirable levels. For example, the importance placed on risk may be different in making mission critical decisions as compared to certain backup or redundant operations. In case utility function cannot be speci ed a priori, the agents could be equipped with learning mechanisms to judge the utility of their decisions and improve as the system evolves. In most cases individual agents are myopic in their decision making. However, it is important to realize that the collection of these myopic decisions leads to system level objectives. This interplay must be examined to realize the potential e ect that a single agent may have on the overall system. Another important aspect which needs careful examination is the difference between actual and perceived utility. Consider an example of the role of advertising and promotions on customers. If a product selection decision was solely based on quantitative functional characteristics of the product, then advertising would not be e ective in promoting product sales. However, the perceived utility of a product can be altered by changing the emphasis placed by customers on di erent product qualities using advertisements. Such methods can be employed by agents, especially when the information available to agents involved in a negotiation is asymmetric. The system designers also have to be aware of con icting goals of di erent agents and devise con ict resolution methods to handle these situations. For example, a resource agent on the shop oor may use maximizing its utilization as a local goal, whereas from a customer's perspective it may desirable to minimize the time spent in the system. Cooperative or environmentally friendly agents can be developed to alleviate some of the issues discussed before. These agents understand the notion of sharing resources, such as bandwidth and computations, as well as follow appropriate protocols to coordinate tasks with other agents.

4

1.5 Convergence and Rationality Most applications using agents require rational solutions, of a desired quality, in a speci ed amount of time. In some cases, it might be desirable to obtain optimal or near optimal solutions. Agent based systems, especially the ones that use iterative negotiations, do not always guarantee convergence to a solution in a speci c time period. Moreover, the optimality or robustness of the solutions are not assured. It is important to understand these limitations and plan appropriate tests to guarantee quality of the results generated by agent based systems. The quality of the solutions generated by agent based systems can be evaluated by comparing the results to theoretical optimal solutions generated by simpli ed models or lower bounds obtained by relaxations of the actual formulations, or by basing the agent systems on well studied analogies, such economic or nancial markets. Wellman et al. draw analogies from the nancial world into agent negotiations[18]. Their decentralized scheduling system is based on free markets utilizing bidding protocols. This technique represents utility functions in terms of currency and the agents bid for processing resources. The system uses a generalized Vickery auction to evaluate and allocate bids. Since the characteristics of the Vickery auction are well known, the convergence and solution quality of the decentralized scheduling system can be easily extrapolated. Systems based on nancial models often use bidding, auctions, negotiations and argumentation techniques for agent interactions[10, 15, 3]. These techniques and their associated attributes are based on interacting autonomous entities, which can be easily translated into agent based settings. This approach however requires strong assumptions to be made about the system in order to t a known model or obtain solution bounds. For example the game theoretic framework assumes each agent has a known stationary utility function. Many times the explicit utility function is unknown or does not follow the standard von Neumann{Morgenstern axioms[16]. Hence, in order to use decision theoretic constructs one needs to impose certain restrictions on the utility values of the agents[11]. Arrow's Impossibility Theorem[1] raises serious questions about the rationality of the overall solution if a group decision process is used by the agents to select an alternative from a set of choices. Although each agent may assign utilities or preferences to di erent alternatives which are perfectly rational, the outcome of the selection process may not re ect majority opinions or transitive orderings. Several such paradoxes have been documented in literature[1, 2, 14]. Multi{agent system designers

5 need to be aware of the conditions under which these results are valid and design decision strategies which minimize the probability of irrational outcomes for a speci c application scenario.

1.6 Incorporating Intelligence into Agents It is important to balance learned and programmed behavior in agents. A strictly programmed agent will be rigid and in exible, whereas a pure learned behavior may be time consuming and will not guarantee desired results. For example, an agent that uses search engines having an entirely programmed behavior will need to be reprogrammed every time the search engine interface is updated. Alternatively, if the agent used a purely learning approach it may not deliver any useful information until it learns for a signi cant period of time. There are variety of learning techniques that agents can employ, such as neural networks, regression, retrospection and temporal di erencing[6]. A agent based system developer needs to determine the appropriate level of learning and suitable learning mechanism to be incorporated in agents to meet the application needs. Another form of intelligence is the domain knowledge. As with learning, there exists a balance between domain knowledge and generic information. One approach to this problem in multi{agent systems is to distribute the domain knowledge among agents. Domain knowledge can be expressed in the form of expert systems, procedural reasoning systems, rst order logic and Bayesian decision trees. The domain knowledge can then be traded between agents as and when required. In general, agent intelligence and learning issues have to deal with balancing requirements and resources, such as solution quality, memory, computation time, communication and interruptability (anytime algorithms).

1.7 Context and Ontological Issues In order to achieve the overall goals, agents must communicate their goals and intents with other agents. These communications need to be unambiguous and structured so as to allow agents to interpret each others objectives. Speci cation of a context plays an important part in the agent communications. For example, an agent inquiring about the load of an electro{mechanical object needs to specify the context: whether the load

6 is structural or electrical. Similar examples of contextual and ontological mismatches can be found while using currently available Internet search engines. The common vocabulary and context allows the agents to work together and have a shared intent. It is the expression of this shared intent that facilitates agents working towards system wide goals. For example, in order for the Internet to work correctly individual autonomous routers, or agents, must communicate with speci cally de ned protocols. The shared context allows the coordination of a large system, such as the Internet, to work e ectively. One way of maintaining a common context is to use existing standard meta languages, such as KQML[4], XML[17], and KIF[5]. These languages provide both a well de ned meta context, a library of programming tools and the ability to interact with agents using similar standards. However, speci c ontologies have to be developed for each domain by the system designers.

1.8 When Agents Make Mistakes Dealing with errors, misinformation and rogue information is an important issue with agents, especially with the use of agents in electronic commerce. System designers need to pay close attention to the authentication and data consistency issues, and incorporate evaluation mechanisms in the agent architecture. For example, the information gathered by an agent from an Internet site may be veri ed from other sources before it is used in a decision process. Assessing the importance of information can help in determining appropriate veri cation processes. In a resource constrained environment, it is not always possible nor desirable to validate all information accurately. Even though agents may not maliciously present false data, errors can occur in data transmission or translation. In such cases, apportioning the blame becomes an interesting legal issue. The legal and ethical issues related to errors, intended or unintended, due to agents in operational settings need to be resolved before implementation. Agents may need to securely log important transactions in order to maintain records and perform self diagnostics.

7

1.9 System Level Issues Agent based systems, like other asynchronous distributed environment, are faced with the system level issues, such as stalling, deadlock, cycling, etc. Arguably, a centralized observer or controller is the antithesis of the distributed decision making qualities of agents. However, most real world agent applications need some level of system monitoring in order to ensure error free operations. For example, consider the deadlock problem that can arise due to information dependencies among agents. Agent A could be waiting on information from agent B which is waiting on information from agent C which is waiting on information A. Although this example seems trivial to detect, can algorithmic methods be developed to detect deadlocks and information cycles in arbitrarily large and multi{level agent negotiations? Can they be eliminated? Questions like these must be answered in order to have a robust system. The agent based systems also need to be monitored for resource consumption at the system level. For example, the communication bus is shared by all the agents in the system. Although each agent uses only a fraction of the bandwidth, the level of negotiations and number of agents involved may result in a communications bottleneck. Another example of system level parameters which need to be monitored can be given using an analogy from the national economy. The price in ation is closely monitored by the Federal Reserve in order to maintain the balance in the economy. Similar in ationary pressures can exist in agent based systems, where price cascades can result in virtual shutdown of activities in the system. The ability to observe the system from both an aggregate view and an agent view is paramount. Agent systems can be hard to debug due to their distributed asynchronous nature. Hence special attention needs to given to diagnostic tools for agent based systems before they are deployed in the real world.

1.10 Implementing Agent Systems Agent based systems need a set of basic tools and services in order to implement them, such as birth/death services, communication channels, interaction protocols, etc. If the agents are mobile over heterogeneous systems they require additional capabilities for process migration. A large body of standard tools and protocols is available to accomplish these tasks. It is advisable to use these standards where possible in order to

8 reduce the implementation overheads and ensure interoperability among di erent agent systems. It is important to note that the nal goal is to develop a solution to an application and implementation itself is simply a means of achieving that end[19]. One of the most popular programming languages for agents is Java[13]. This network aware platform independent language provides the core functionality that an agent system needs by isolating the operating system and hardware details from the agent. Other commonly used languages for agents include AgentTCL, lisp, and prolog. These languages only provide the rudimentary capabilities that an agent system requires. The agents need an environment to work in, called a Multi Agent System (MAS)[12]. The MAS provides an environment for the agents to exist in and perform their activities. Several MAS have been developed commercially, most of them based around the Java language. Such systems include Voyager by Objectspace, Odssey by General Magic and Aglets by IBM. Other software techniques for facilitating agent interaction on a lower level include the Common Object Request Broker Architecture (CORBA)[7] and Distributed Component Object Model (DCOM). In order to e ectively communicate with each other, agents need a shared structured communication protocol. Knowledge Query and Manipulation Language (KQML)[4] is an example of an agent communication language which provides a standard way for agents to interact. This language provides basics tools for exchanging information. However, in order have a meaningful dialogue the agents must have a shared context. The Knowledge Interchange Format (KIF)[5] is an example of a formal mechanism for agents to exchange knowledge in a structured format.

1.11 Designing Optimal Agent Systems The question of designing best agents for a particular task still remains unanswered. Moreover, the design of a society of agents which is ideally suited for solving a complex problem requires the use of prescriptive tools for analyzing distributed agent systems. Traditionally, simulation has been used to analyze the performance of agent based systems under di erent operating conditions before they are implemented in the real world. Simulation is, however, only a descriptive tool. The computational expense of exhaustive testing of all operational scenarios may be signi cantly high, if at all possible. The diculty in developing prescriptive analytical tools for agent based systems is due to the non{equilibrium conditions under which they

9 operate, the di erence in the information available to each agent for decision making and, more practically, the sheer size of some of the real world agent system applications. Several problem or goal decomposition techniques can be used to design individual agents. Although, the solutions generated by these systems may not be optimal, we can guarantee the quality of the solutions or the deviation from the theoretical optimal that can be achieved by such decomposition procedures. Several negotiation protocols also have been studied by researchers and their long range characteristics are known. Hence, prescriptive methods for design of agent based systems may be available in the near future.

1.12 Summary Agent systems o er signi cant advantages for modeling complex adaptive systems. However, they are not the solution to all complex problems. It is important to note the strengths, weaknesses and implementation issues related to agent based systems. The issues discussed in this paper need to be studied for speci c application domains to determine the appropriate strategies. Although, much remains to be learned about the emergent behavior of agent systems and how best to design them, this approach has the potential of revolutionizing the system design eld.

Bibliography [1] Arrow, K. J., Social choice and individual values, Wiley (1963). [2] Brams, S. J., W. F. Lucas, and P. D. Straffin, Political and Related Models, Springer Verlag, Hidelberg (1983). [3] Cliff, Dave, and Janet Bruten, \Zero is not enough: On the lower limit of agent intelligence for continuous double auction markets", Tech. Rep. no. HPL-97-141, Hewlett-Packard Laboratories, (1997). [4] Finin, Tim, Rich Fritzson, and Don McKay, \A language and protocol to support intelligent agent interoperability", Proceedings of the CE & CALS Washington `92 Conference, (June 1992). [5] Genesereth, Michael R., and Richard E. Fikes, Knowledge Interchange Format Version 3.0 Reference Manual, Computer Science Department Stanford University Stanford (1994).

10 [6] Green, Shaw, Leon Hurst, and Brenda Nangle, \Software agents: A review", Tech. Rep. no. TCD-CS-1997-06, Intelligent Agents Group (IAG), (May 1997). [7] Group, Object Management, \Common object request broker architecture (corba)", http://www.corba.org (1998). [8] Jennings, N. R., K. P. Sycara, and Michael Wooldridge, \A roadmap of agent research and development", Journal of Autonomous Agents and Multi-Agent Systems 1, 1 (July 1998), 7{36. [9] Jennings, Nicholas R., and Michael J. Wooldridge, Agent Technology: Foundations, Applications, and Markets, Springer-Verlag (March 1998). [10] Karus, Sarit, \Negotiation and cooperation in multi-agent environments", Arti cial Intelligence journal, Special Issue on Economic Principles of Multi-Agent Systems 94, 1-2 (1997), 79{98. [11] Kraus, Sarit, and Daniel Lehmann, \Designing and building a negotiating automated agent", Computational Intelligence 11, 1 (1995), 132{171. [12] Levy, Renato, Kutluhan Erol, and Howell Mitchell, \A study of infrastructure requirements and software platforms for autonomous agents", Proceedings of ICSE-96, (July 1996). [13] Microsystems, Sun, \Java programming language", java.sun.com (1998).

http://

[14] Sen, A. K., \The impossibility of a Paretian liberal", Journal of Political Economics 78 (1970), 152{157. [15] Sierra, Carles, Nick R. Jennings, Pablo Noriega, and Simon Parsons, \A framework for argumentation-based negotiation", Proc. Fourth Int. Workshop on Agent Theories Architectures and Languages (ATAL-97) (Rode Island, USA, ), (1997), 167{182. [16] von Neumann, John, and Oskar Morgenstern, Theory of Games and Economic Behavior, Princeton University Press (1953). [17] WC3, \Extensible markup language", (1998).

http://www.w3.org/XML/

11 [18] Wellman, Michael P., William E. Walsh, Peter R. Wurman, and Je rey K. MacKie-Mason, \Auction protocols for decentralized scheduling", In submission to Games and Economic Behavior (July 1998). [19] Wooldridge, Michael, and N. R. Jennings, \Pitfalls of agent-oriented development", Proceedings of the Second International Conference on Autonomous Agents (K. P. Sycara and M. Wooldridge eds.), ACM Press (May 1998).