Abstract. The study of the development of cooperative multi-agent systems is an ... Dynamic Agency, Co semi-agent, Fixed Intelligent Agent, Mobile. Intelligent ...
Dynamic Agencies and Multi-Robot Systems Francesco Amigoni and Marco Somalvico Politecnico di Milano Artificial Intelligence and Robotics Project, Dipartimento di Elettronica e Informazione, Politecnico di Milano, Piazza Leonardo da Vinci 32, I-20133 Milano, Italy.
Abstract. The study of the development of cooperative multi-agent systems is an issue of fundamental importance in the field of distributed artificial intelligence. We present a new type of multi-agent system, called dynamic agency, that is aimed to overcome the critical problem of having each agent performing both several specific operation functions and one uniform cooperation function. Dynamic agency is built up starting from fixed intelligent agents, providing only specific operative capabilities, that are visited by an unique mobile intelligent agent, which provides uniform cooperation, by duplicating itself on each fixed intelligent agent. The construction of a dynamic agency and the resolution of a problem are realized in several steps that are illustrated in the paper. Key Words. Dynamic Agency, Co semi-agent, Fixed Intelligent Agent, Mobile Intelligent Agent, Op semi-agent
1
Introduction
The notion of agency has been proposed by Minsky (Minsky, 1985) for enabling an artificial system to embed alternative paradigms in providing the same intellectual function with different approaches. More recently, the notion of agency has further progressed from its origin, because it stances now for representing a new type of machine devoted to model the cooperation among intelligent humans. In fact, the agency, also called multi-agent system in the field of Distributed Artificial Intelligence (DAI), is the machine of cooperation, whose components are both computers and robots (see (Chaib-Draa et al., 1992) for a survey of DAI). Thus, while computers and robots are rough emulators of human individuals, an agency represents the rough emulation of a society of humans cooperating together. The purpose of this paper is to adopt the novel notion of dynamic agency as an interesting solution to a critical problem arising in the conception of an agency; namely how to match together distinct and specific agents, peculiar for their own functionalities and paradigms, when such a matching is aimed toward cooperation requiring uniformity. A dynamic agency is a particular type of agency where each agent is structured as
a couple of two semi-agents, the first one called Fixed Intelligent Agent (FIA) and the second one called Mobile Intelligent Agent (MIA). The FIA performs various types of intelligent functions and represents a distinct and individual type of artificial entity with fixed capabilities. The MIA performs the intelligent (i.e. inferential) and the meta-intelligent (i.e. learning) functions, which enable the various agents to perform a cooperation process able to solve a problem utilizing the abilities of each agent. An agent is built enabling a MIA to travel on the network of communication that links FIA’s and to insert itself in each FIA’s site. Once agents are completed, several distributed processes take place for organizing a common cooperative resolution of the problem assigned to dynamic agency. The dynamic agency is being utilized at the Politecnico di Milano Artificial Intelligence and Robotics Project for supporting a multi-robot system consisting in a fleet of autonomous robots made up with two types of navigation and perception intelligent robots, namely the MO.RO.1 and MO.RO.2, available at the AIR-Lab of the project. The problem tackled by the MO.RO. dynamic agency is the exploration and modeling of the entrance hall of the Department building, with each robot performing a different exploration step in exploring with the vision system the unknown environment.
2
State of the Art
The general area that the paper is concerned with lies in the impact of parallelism on methods and techniques of artificial intelligence. This area is usually denoted as Distributed Artificial Intelligence or DAI (Bond and Gasser, 1988) and it is one of major direction in artificial intelligence research (Doyle and Dean, 1996). The methodological promises of DAI and the investigation on the phenomenology of mind have suggested Marvin Minsky (Minsky, 1985) in bringing out a new powerful concept under the metaphor of ”the society of mind”. The main issue addressed by Minsky is the deep understanding of how the various phenomena of human intelligence (that can be extended as well to human perception and action) present a complex nature and provide a difficult task in their satisfactory understanding within given models. To overcome this situation, Minsky proposes the concept of agent as an individual entity where a given way of modeling a phenomenon of intelligence is uniquely interpreted and embedded into the functional architecture of the agent itself. Thus, both the plurality of the phenomena to be dealt with and the variety of reasonable paradigms that one can adopt in modeling a given phenomenon suggest a scenario in which an high number of artificial individuals, namely the agents, co-exist and collectively contribute to set up a rich and comprehensive precise description of human intelligence. Minsky adopted for the denotation of such system of agents, each one addressed to a selected paradigm of a given phenomenon, the term agency. The word ’agent’ (Shoham, 1993) is now used to name the entities forming the systems of DAI. We can summarize, as in (Wooldridge and Jennings, 1995), the
several definitions in literature, so we can say that an agent enjoys, as a component of a multi-agent system, the properties of autonomy (the agent controls its actions and its internal state), social ability (the agent interacts with other agents), reactivity (the agent perceives and responds to changes in its environment) and pro-activeness (the agent exhibits goal-directed behavior). In addition, an agent can be associated with other properties: mobility in its environment, veracity in communication, benevolence and rationality. The work of Jennings (Jennings, 1993) is related to our research, in fact he gives an informal logic description and a functional architecture of a system composed of many problem-solvers that cooperate to reach a goal expressed as a joint-intention. Each problem-solver has a part devoted to operate on a specific domain and a part that carries on the communication and cooperation tasks with other problem-solvers. Our work introduces the mobility of the cooperative part of each agent, whereas Jennings’ agents (i.e. problem-solvers) are complete in their operative and cooperative parts from the start of the activity. The integration among robots equipped with sensors is presented in (Cook et al., 1996), where an implementation of a system composed of several moving robots is presented. The problem addressed by the system is to integrate navigation planning and sensor planning, that is related to the exploration of an unknown environment that we try to perform by our fleet of robots. The possibility that agents developed by different companies are brought to cooperate is presented, from a logic point of view, in (Eaton and Freuder, 1996); we tackle the same problem in order to propose a methodology for the construction of a system composed of several different agents. The necessity of having an high-level distributed strategic planner is outlined in (Guzzoni et al., 1997) where a system built by three navigation robots and some software agents is implemented; we try to overcome the limitation providing a mechanism to construct a global distributed strategic planner.
3
Previous Research Work
In this section we illustrate a summary of our previous research activities (Amigoni and Zanisi, 1996; Amigoni et al., 1997) whose goals have been to present a preliminary theoretical foundation of the problems concerning agency, toward the development of a theory of agency. We introduce, extending the ideas of Marvin Minsky, the agency (or cooperation machine) as the machine achieving cooperation. It is made up of intelligent components (called agents) interacting each other in order to offer or receive collaboration for reaching a global goal. By intelligent agents we mean that each component of the agency has inferential abilities (the abilities of deriving conclusions from premises); so the agents are not elementary and they are not task-oriented. In addition, each agent has the means to cooperate with any other agent, if necessary. Each agency can be studied regarding to three different incremental levels, each one stressing particular aspects. Syntactic level depicts the structure of an agency;
semantic level adds to the description of the structure of an agency the description of the world where the agency is working; pragmatic level is added to the semantic level and specifies the goals an agency has to reach and the way to reach them. We have introduced three formalisms as the bases for rigorous descriptions of agency. A preliminary set of critical problems involved in agencies studying, and investigated exploiting the formalisms, includes: the classification of agencies regarding to their structure and the fairness of cooperation among agents. MultiLanguage Systems (MLS) were devised by Giunchiglia (Giunchiglia and Serafini, 1994). A MLS permits to describe an agency as theories (each one representing an agent) connected by a framework. Each theory is constituted by a language, a set of axioms and a deduction machinery; connections among theories are bridge rules of inference that have, as premises and conclusions, formulae of different theories. An hypergraph (Berge, 1973), an extension of usual graph, allows representing an agency from a topological point of view. In fact each vertex stands for an agent and hyperarcs model bridge rules, i.e. connections among agents. ER Petri nets, also called ER nets (Ghezzi et al., 1991), are a special kind of Petri nets where tokens are environments (sets of identifier-value couples) and transitions are relationships that transform the input tokens in output tokens with different sets of couples identifier-value. An agency is described, by means of an ER Petri net, from an evolution point of view; in fact if an agent is modeled as a place, and a rule of inference is represented as a transition, then we can simulate the inferential evolution of the agency provided that each token is associated to a formula.
4
Operation vs. Cooperation
The role of mobile agents is the basic element that is introduced in this paper for illustrating a new conception of agency, intended to solve the crucial problem of matching the antagonistic exigencies of specification vs. uniformity in designing agencies. The notion of mobile agent (Cugola et al., 1997) is of pivotal importance in dealing with new applications originated by a flexible and articulated exploitation of the potentialities offered by wide-spread use of the Internet and web facilities; namely a mobile agent, often denoted as Mobile Intelligent Agent (MIA), is a software module navigating through various Internet sites with the task of carrying out a given mission, requiring, for its solution, the extraction of information (algorithms, data, knowledge) variable in each site. 4.1
The Critical Problem of Specification and Uniformity
The newly conceived role of a MIA that we are going to illustrate is intended to allow an efficient solution of a critical problem that each designer of an agency has to tackle, henceforth called the SU problem (Specific Uniform problem). Therefore we are going to denote as dynamic agencies the class of agencies which utilizes the MIA-based method for solving the critical problem.
The SU problem is considered within the scenario in which an agency structure is obtained by recruiting together a given number N of available intelligent agents, henceforth called Fixed Intelligent Agents (FIA). In fact each FIA is an agent characterized by a given set of specific abilities, denoted as functions, each one available by exploiting one of the several possible paradigms oriented to the same function. A FIA is, therefore, an instance of an agent type identified by functions and paradigms and we may assume that during the recruitment we utilize the N agents as instances of K different agent types. Usually, K < N (and sometime K N , and even K = 1). Hence the typology of agents spreads out various styles within the basic parallelism offered by the agency in solving a problem. The SU problem arises from the real situation where available agents, pre-existing the decision of a given recruitment, have been designed and constructed out of the conception of the agency in which they will be inserted as component agents. From one side, the variety of agent types (and the consequent variety of functions and paradigms) appears to be an advantage, triggering out flexibility and polymorphism in the required abilities within the agency. From another side, however, polychromatic variety of agent types carries out, as undesired consequence, the difficulty of enabling a common cooperation process involving various individual agents, in this direction, uniformity and not specificity of agents would be required.
4.2
The co-op Architecture for an Agent
The above considerations describe the likely evidence of the SU problem as a critical and structured problem to be solved. The MIA-based method that we present, considered as a new advance in the conception of a new agency, namely the dynamic agency, consists in embedding, within the structure of each agent, one single MIA, devoted to cooperation, which complements the functionalities of the FIA, previously constituting the whole agent. Thus the previously existing FIA is only utilized for its operating functionalities, while the newly inserted MIA carries out the ability of cooperating, which is the same one within the all dynamic agency, since the same MIA is replicated in its embedding in FIA’s. Thus, in a dynamic agency, we have each agent consisting of a structure made up a couple of semi-agents, namely the old FIA, also called op semi-agent, stripped out of its old, non uniform, cooperating abilities, and the new MIA, also called co semiagent, the same one for each agent, adding on the uniform cooperating abilities. The complete agent is then called co-op agent. In this way, we can view as well the dynamic agency as the result of inserting within a fixed agency (namely the topology of FIA’s without cooperation but connected by a communication network) the MIA, which solves, because of its uniqueness of type, the SU problem. Between the two parts in which an agent is split, namely FIA and MIA, there is an interface to enable an exchange of information from one semi-agent to other and vice versa. The flow of knowledge between the two semi-agents is the basis for the activity of MIA and for giving local goals, integrated and coordinated with other local goals, to FIA. The interface, called MFI (MIA-FIA Interface), must provide, at
least, a docking mechanism for enabling the MIA to arrive, duplicate and install on each FIA, as we will see later. 4.3
The Nature of FIA and MIA
As we have already mentioned, FIA’s are agents reduced of their, eventual, cooperative abilities and are characterized by their heterogeneity. For example, we can have a FIA performing navigation in a known environment, a FIA having a refined vision apparatus, a FIA with an efficient manipulation system and so on. We can have also FIA’s performing a set of functions (for example a FIA with vision and manipulation abilities). We intend each FIA as an intelligent system that can exhibit more functions with more paradigms, where a paradigm is a particular way, or methodology, of performing a function. For example, we can have a FIA performing the function of navigation with different paradigms, such as edge following, obstacle avoidance, and so on. In general, a MIA is designed for meet requirements of a specific class of problems; namely, in its architecture are present some cooperation organization mechanisms that are suitable for approaching the solutions of a class of problems. Thus, we are facing the constraint that there are no universal MIA, that is a MIA that works well for all problems, but we have only MIA’s specific for classes of problems. An advantage of having a co semi-agent that is mobile, i.e. a MIA, is the flexibility in choosing the class of problems that is addressed by dynamic agency. The construction of a dynamic agency is performed in several phases, each one corresponding to a function of the MIA. a) Travel: the MIA starts from a site and goes on the communication network among FIA’s (that represent the fixed agency) in order to reach each one of them. b) Arrival: the MIA arrives on a FIA, exploiting MFI for docking. c) Duplication: the incoming MIA makes a copy of itself and continues the travel with destination the next FIA (clearly, this operation is not performed by MIA when visiting last FIA). d) Installation: the replicated MIA (so on, called simply MIA) has to install itself on FIA’s site in order to exchange information with the corresponding FIA. When the MIA has reached and installed (the replication of) itself on each FIA, we have the visited agency. e) Extraction: to overcome the problem that a FIA is unknown, in its functions and paradigms, to the corresponding MIA, the latter has to extract information about what FIA does and how it does. The result of the extraction is the construction of an Abstract model of the FIA (AFIA), performed by each MIA. 4.4
Off-line and On-line Dynamic Agency Activities
Once each co-op agent is completed, a framework in which collaboration takes place is constructed, in a distributed fashion, by means of a sequence of steps called the off-line activities of the dynamic agency.
f) Organization: this step, that is performed by MIA’s in a distributed way, sets up a structure of connections and dependencies among co-op agents for creating an infrastructure of cooperation in which extracted knowledge (represented by AFIA’s) is accessible. The infrastructure is built on the basis of mechanisms encapsulated into MIA (defined at project time by designer of MIA) and of the AFIA’s. At the end of the organization step, a distributed component, called cooperator, is constructed. The dynamic agency just created is called explored agency; it cannot exploit all its resources because cooperation is not activated. g) Cooperation: the cooperation, performed by cooperator, creates the strategic planner (that can be either a distributed component or a component localized in one agent) on the basis of the problem assigned to dynamic agency. For example centralized planning can be set, namely an agent is elected as planner and connections are set among some agents and not among others. Once cooperation step is finished, each agent, by means of its cooperative part, can exchange information directly with some other agents regarding to particular strategic planning used; so the dynamic agency is ready to solve the problem and it is called cooperative agency. h) Strategic planning: the first step in the solution of the problem assigned to the dynamic agency is a planning, performed by strategic planner, that aims to decompose the original problem in simpler sub-problems. The strategic planner, by means of connections among agents, exchanges information among MIA’s about the problem to be solved and about functions and paradigms that corresponding FIA’s are able to perform. In this way the original, complex, problem can be divided in simpler sub-problems, each one assigned to an agent that has the abilities to solve it. For example, the problem of exploring the entrance hall of the Department building can be decomposed assigning a part of the hall to each robot; so an agent has to tackle a simpler (in space dimension) problem than the original one. i) Tactic planning: each agent has an intelligent fixed part with a planner (since each FIA is inferential) that finds the solution of the assigned sub-problem by a new planning process, called tactic planning. At this point, the dynamic agency starts the on-line activities that include the following. j) Execution of the tactic plans: performed by the agents, in particular by FIA’s. To execute its own plan, an agent performs some operations in the environment: for example, it moves from one position to another, or it grabs a physical object and changes its location in the environment, or it builds a model of the environment extracting relevant features from pictures taken by vision systems. k) Supervision and coordination of the execution: during execution of actions described by tactic plans, it may be necessary a global (i.e. strategic) re-planning; the necessity can be imposed by the impossibility of reaching a local goal or by the incoming data from sensors that change the model of the environment. The supervision and coordination activity supports the strategic re-planning, that is a typical functionality of reactive systems. l) Integration: the union of local solutions is the solution to the global problem
given initially to the dynamic agency.
5
Exploration and Modeling of a Dynamic Agency of Robots
The experimental activities, by which the particular construction of a dynamic agency by means of a MIA traveling and replicating on FIA’s is tested, are the exploration and modeling of an unknown environment performed by a fleet of robots. In particular our implementations can be divided into two classes: simulations and experiment with real robots. In the field of simulation we have realized an agency composed of potentially different agent, called MASER; the system (Boniardi and Pessot, 1997) is written in DynaCLIPS, that allows the presence of many independent agents communicating by means of a shared memory, called blackboard. In MASER, each agents is described by a set of rules and a set of facts, on which the rules are applied, and, thus, can be simply modified changing some of the rules defining the behavior of the agent. The agents, that represent robots, can perform many functions including vision and navigation. The agency explores (i.e. navigates in order to know) an unknown environment that is modeled as a set of three-dimensional segments; the vision functions permit to agents to get segments corresponding to the part of the environment they see; the navigation functions allow agents to change their positions within wire-framed representation of the environment. We are developing a simulation environment for dynamic agencies with each agent composed of an operative FIA and of a cooperative MIA that visits the first one. The new system, called distributed CLIPS, has no shared memory; in fact each agent is an independent process that can communicate with others exchanging facts and rules. Exploiting a Java-based platform, distributed CLIPS allows to model each FIA, defining its facts and its rules, and to send on it a visiting MIA, represented by its facts and rules. Experiments with real robots comprise exploration and environment modeling done by a fleet of robot. We have two robots: MO.RO.1 and MO.RO.2 (represented in Figure 1), the first one has several sensors for obstacle avoidance, a trio-ocular vision system and navigation capabilities (with different paradigms: edge following, random, obstacle avoidance, . . . ); MO.RO.2 is built on a ROBUTER platform and has many sensors, a navigation system and a manipulation system. Navigation functions of the two robots are implemented using CLIPS. Results obtained until now are summarized in the exploration of unknown environment (i.e. the entrance hall of the Department building) by a fleet of robots of the same type, namely MO.RO.1 type, with the same abilities. The fleet is simulated by a single MO.RO.1 that performs a temporal distributed sequence of operations whereas a fleet performs a spatial distributed set of operations. The exploration builds a model of the unknown environment composed of three-dimensional segments that are detected from vision system; moreover model is integrated when new knowledge, i.e. segments, are found. Ongoing experimental activities concern the exploration by means of a dynamic
Figure 1 MO.RO.1 (left) and MO.RO.2 (right)
agency composed of two types of robots, namely MO.RO.1 and MO.RO.2, and created starting from existing robots, that act as FIA’s, by means of a MIA that visits them.
6
Conclusion
The paper has presented dynamic agencies and has illustrated the particular role of mobile agents in spreading out common uniformity toward cooperation involving specific individual agents. The advantages of utilizing the mobility of the co semiagent provide an handy solution in building up a MO.RO. dynamic agency devoted to explore the entrance hall of the Department building. Future research will address an implementation of a dynamic agency for exploration by means of MO.RO.1 and MO.RO.2, and a simulation of a dynamic agency composed of n MO.RO.1 and m MO.RO.2.
Acknowledgement We owe thanks to prof. E. Castelli, dr. A. Boniardi, dr. P. Cagnoni, dr. A. Pessot, dr. L. Spalla, dr. M. Trapani for their helpful and valuable comments.
7
REFERENCES
Amigoni, F. G. and D. Zanisi (1996). Theoretical description and properties of the concept of agency in artificial intelligence. Technical report. Politecnico di Milano. In Italian.
Amigoni, F. G., M. Somalvico and D. Zanisi (1997). A theoretical framework for the conception of agency. Submitted for publication. Berge, C. (1973). Graphs and Hypergraphs. North-Holland, Amsterdam. Bond, A. H. and L. Gasser (1988). Readings in Distributed Artificial Intelligence. Morgan Kaufmann, San Mateo, CA. Boniardi, A. and A. P. Pessot (1997). Maser: an agency of mobile robots for the exploration of unknown environments. Technical report. Politecnico di Milano. In Italian. Chaib-Draa, B., B. Moulin, R. Mandiau and P. Millot (1992). Trends in distributed artificial intelligence. Artificial Intelligence Review 6, 35–66. Cook, D J., P. Gmytrasiewicz and L. B. Holder (1996). Decision-theoretic cooperative sensor planning. IEEE Transactions on Pattern Analysis and Machine Intelligence 18(10), 1013–1023. Cugola, G., C. Ghezzi, G. P. Picco and G. Vigna (1997). Analyzing mobile code languages. Special Issue of LNCS Mobile Object Systems: Towards the Programmable Internet LNCS 1222, 93–110. Doyle, J. and T. Dean (1996). Strategic directions in artificial intelligence. ACM Computing Surveys 28(4), 653–670. Eaton, P. S. and E. C. Freuder (1996). Agent cooperation can compensate for agent ignorance in constraint satisfaction. In: Agent Modeling Papers from the 1996 AAAI Workshop. Ghezzi, C., D. Mandrioli, S. Morasca and M. Pezz´e (1991). A unified high-level petri net formalism for time-critical systems. IEEE Transactions on Software Engineering 17(2), 160–172. Giunchiglia, F. and L. Serafini (1994). Multilanguage hierarchical logics, or: how we can do without modal logics. Artificial Intelligence 65, 29–70. Guzzoni, D., A. Cheyer, L. Julia and K. Konolige (1997). Many robots make short work. AI Magazine Spring 1997, 55–64. Jennings, N. R. (1993). Specification and implementation of a belief-desire-jointintention architecture for collaborative problem solving. International Journal of Intelligent and Cooperative Information Systems 2(3), 289–318. Minsky, M. L. (1985). The Society of Mind. Simon & Schuster, New York. Shoham, Y. (1993). Agent-oriented programming. Artificial Intelligence 60, 51–92. Wooldridge, M. and N. R. Jennings (1995). Intelligent agents: Theory and practice. Knowledge Engineering Review 10(2), 115–152.