order to enhance his adaptation in an open multi-agent system. ... his social reasoning mechanism to select the other(s) agent(s) that can perform the needed ...
Exploiting Social Reasoning to Enhance Adaptation in Open Multi-Agent Systems Jaime Sim˜ao Sichman ∗, Yves Demazeau LIFIA/IMAG 46, avenue F´elix Viallet F-38031 Grenoble Cedex, France
†
Abstract This paper shows how a social reasoning mechanism can be used by an agent in order to enhance his adaptation in an open multi-agent system. By open multi-agent system, we mean that new agents can dynamically enter and leave the agency and that some of them can change their current knowledge during execution time. We call adaptation the fact that due to these changes, the agents may be led to make different choices regarding the way to achieve their goals, particularly to whom they will propose/accept to collaborate in order to achieve these goals. Precisely, an agent can reason about his dependence situations in order to choose which are the most appropriate partners for achieving a certain goal, when he cannot achieve it alone. We present briefly both our agent model and the theory of dependence on which our social reasoning mechanism is based, and illustrate how such an adaptation can be achieved using a very simple example of the blocks world. Keywords: agent-oriented programming, distributed AI, open systems.
1
Introduction
Academic research in Distributed Artificial Intelligence (DAI) has started in the late seventies [1], and one of its more recent research axes is known as Multi-Agent Systems (MAS) [7]. The idea behind MAS is to define agents able to provide complex services. Agents can define their own goals and plans, and can perform complex interactions with the others, using high level domain independent communication primitives. They are independent of a particular problem solving organisation: indeed, they can define or even change this organisation as the problem solving activity goes on. In order to do that, they must be able to perceive the changes and to act on the environment they are immersed in. They are also able to take into account other agents’ skills and goals, in order to solve a problem cooperatively. In this paper, we address this last point. We are particularly interested to show how a social reasoning mechanism can be used by an agent in order to enhance his adaptation in an open multi-agent system. By open multi-agent system, we mean that new agents can dynamically enter and leave the agency and that some of them can change their current knowledge during execution time. We call adaptation the fact that due to these changes, the agents may be lead to make different choices regarding the way to achieve their goals, particularly to whom they will propose/accept to collaborate in order to achieve these goals. Precisely, an agent can reason about his dependence situations in order to choose which are the most appropriate partners for achieving a certain goal, when he cannot achieve it alone. In the next section, we introduce the agent model we are adopting. The theory of dependence on which our social reasoning mechanism is based is briefly presented in section 3. In section 4, we illustrate how this mechanism can help an agent to adapt himself in an open multi-agent system, using a very simple example of the blocks world. Finally, in section 5 we present our conclusions and further work.
2
Agent Model
Due to the lack of space, we are not going to present here the complete model of the cognitive agent which we are adopting, a more detailed description may be found in [10]. An agent has some domain dependent problem solving capabilities, he is able to perceive the external environment and act on it, and he is able ∗ On leave from PCS-EPUSP, Brazil, and supported by FAPESP, grant number 91/1943-5. † Research Fellow at CNRS, France.
to communicate with the other agents. An internal mechanism we claim as essential is social reasoning: an agent must be able to reason about the other agents’ activities, which is accomplished by an internal representation of the other agents’ attributes (capabilities, reasoning mechanisms, restrictions, performance, etc). A control policy establishes when an agent should perceive, communicate, plan or act. In this paper, we want to limit our analysis to a very particular issue: how agents decide to achieve a certain goal together. We suppose that this process happens as follows: 1. First of all, an agent chooses the goal to be achieved and a plan to achieve it. Planning may be carried out dynamically or the agents may select the most appropriate plan using case-based reasoning. Both of these activities are out of scope of this paper, we simply assume that an agent can do so; 2. If the agent can perform all the actions needed in the plan alone, he does so. Otherwise, he activates his social reasoning mechanism to select the other(s) agent(s) that can perform the needed action(s) of the plan which he cannot perform; 3. Once this selection has been done, the agent starts an interaction protocol [6] with the others in order to form a coalition1 for achieving the selected goal [13]. In the case that the other(s) accept(s) to collaborate, a coalition is formed and the agents start executing the actions needed in the plan. At the end of this process, if the actions have been done correctly, the goal is achieved; 4. In the case where the the coalition is not formed (because the others are not willing to collaborate), the agent starts to look for another possible partner(s); 5. If there are no more possible partners available, he decides that the current goal can not be achieved and selects another one. One way to choose which are the more appropriate partners to be addressed is by using a social reasoning mechanism based on dependence theory, as described next.
3
Theory of Dependence
In this section, we briefly present the main features of the model we are adopting. This model is based on Social Power Theory [2], mainly on the notion of dependence relations between agents [3]. A more detailed formal description of this model can be found in [11, 10]. As we have said in last section, we consider that an essential building block of an autonomous agent is a social reasoning mechanism. We call social any reasoning mechanism that uses information about the others in order to infer some conclusions. This information about the others is stored in a data structure called external description. In our model, an external description is composed of goals, plans, actions and resources, where plans are meant to be some sequence of actions that may eventually use some resources. Every agent has his own private external description, where information about all the agents are stored. Using this external description, an agent may infer his dependence relations regarding the other agents. Intuitively, an agent is autonomous for a given goal, if there is a plan that achieves this goal for which he can perform all needed actions and has control on all needed resources. If an agent is not autonomous, he depends on others for the considered goal. An agent depends on another one for a given goal, if there is a plan that achieves this goal, he is not autonomous for it and at least one action/resource appearing in this plan belongs to the other agent’s action/resource set2 . Once defined these dependence relations, an agent can construct a dependence network to represent in a same structure all of his action/resource dependences regarding the others. We have defined the notions of mutual and reciprocal dependence. Intuitively, a mutual dependence (MD) expresses the fact that an agent infers that he and another agent depend on each other for a same goal, while a reciprocal dependence (RD) expresses that they both depend on each other but for different goals. A more detailed discussion about the relation between both mutual and reciprocal dependence and some social behaviours, like cooperation and exchange, may be found in [5]. Obviously, an agent can always access his own set of plans. On the other hand, as he has in his external description a representation of the plan(s) of the others, he can use both his own plans and those of the others in order to infer his dependence relations. In this latter case, we may consider that an agent does a kind of simulation of the others’ reasoning mechanism, an approach that is similar to the one proposed in [12]. We say that an agent locally/mutually believes a certain dependence if he uses exclusively his own plans/his plans and those of the others in order to reach such a conclusion. 1 We have borrowed this term from the game theory community, in order to express this notion of an organisation which is formed dynamically, during execution time. 2 In this paper, we will restrict our analysis to action dependences.
2
By using these definitions, we have built a preliminary taxonomy of dependence situations3 . This notion relates two agents and a goal, and we have defined 6 possible different cases: 1. Independence (IND): using his own plans, an agent infers that he does not depend on another for a certain goal; 2. Locally Believed Mutual Dependence (LBMD): using exclusively his own plans, an agent infers that there is a mutual dependence between himself and another agent; 3. Mutually Believed Mutual Dependence (MBMD): using both his own plans and those he believes the other one has, an agent infers that there is a mutual dependence between them; 4. Locally Believed Reciprocal Dependence (LBRD): using exclusively his own plans, an agent infers that there is a reciprocal dependence between himself and another agent; 5. Mutually Believed Reciprocal Dependence (MBRD): using both his own plans and those he believes the other one has, an agent infers that there is a reciprocal dependence between them; 6. Unilateral Dependence (UD): using his own plans, an agent infers that he depends on another one for a certain goal, but this latter does not depend on him for any of his goals. These dependence situations may be used for establishing some decision criteria to help an agent to choose his partners when he is not able to achieve a certain goal alone. In fact, it is shown in [10] that we can mathematically construct a partially ordered set by defining a relation ≺ on DS 2 , where DS = {IND, UD, LBRD, LBMD, MBRD, MBMD} is a set composed by the possible dependence situations. This partial order is based on two complementary criteria, which are based on: • the nature of the dependence: it is always better for an agent to choose a partner who has the same goal (MD), because in this case the other would reciprocate. A second best choice is to choose a partner who has a RD, since in this case the agent can propose an exchange (“if you help me to achieve my goal, I’ll help you to achieve yours”). A UD is the worst choice, since the agent has nothing to offer in return; • the locality of the dependence: it is always better for an agent to choose a partner who has a mutual believed dependence (MBMD or MBRD), since in this case the agent would not need to convince the other that his plan is better, which would be necessary to do if there is a locally believed dependence (LBMD or LBRD). The combination of these criteria establishes the following partial order: IN D ≺ U D ≺ LBRD ≺ {LBM D, M BRD} ≺ M BM D. According to this partial order, the best choice of partners for an agent are those whose dependence situation is a MBMD, followed by either a LBMD or a MBRD, then by a LBRD and finally by a UD. The two dependence situations LBMD and MBRD are incomparable according to the combination of the two above criteria. Finally, we would like to remark that we are aware that the meaning which we have associated to our notions of plans, actions and resources are somewhat restrictive in the general context of AI, but we need to adopt such notions in order to investigate the effects of our social reasoning mechanism, which is the particular point we are concerned about in our research.
4
Social Reasoning for Enhancing Adaptation
In order to illustrate how the notions defined in the last section may be exploited by an agent, let us consider a very simple example of the blocks world. The agency is composed of three agents, jaime, yves and olivier, and neither of them can achieve their own goals by themselves. We will analyse the evolution of this agency by supposing small changes in it, and these changes will be considered to happen in different instants of time. For each of these instants, we will present the current dependence relations, as well as the dependence situations. The items represented in shaded boxes are those which have changed since the previous instant. We will consider also that (i) all agents become aware of these changes when they happen, and (ii) all agents have the same external description entries of each other. 3 Concerning only action dependences.
3
4.1
Scenario at t=0
The external description, dependence relations and dependence situations for the initial scenario are presented in example 1. As an example of a dependence network, the one of agent olivier would look like: olivier ---------- on(A,B) |---------- on(A,B):=clear(C), put_on(A,B). |---------- put_on |---------- jaime |----------
Each line of the tables presented in this example corresponds to the point of view of the agent of the first column, designed as “me”. For instance, the dependence just presented above is represented in the third line of the table describing the dependence relations. Agent jaime yves olivier
Goals on(C,table) on(A,B) on(A,B)
Actions put on — clear
Resources B C A
Plans on(C,table):=clear(C). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B).
External Description DEP me jaime yves olivier
jaime — put on put on
others yves — — —
D-SIT me jaime yves olivier
olivier clear clear —
Dependence Relations
jaime — UD UD
others yves — — IND
olivier UD UD —
Dependence Situations
Table Scenario t=0 for his own. Everyone infers a UD, even In this scenario, no agent has a plan for any1:other goal, at except if this is not what would be inferred by an external observer. Supposing that at t=0 agent olivier chooses to achieve his goal, he could possibly start an interaction with agent jaime like this: “I need your action put on in order to achieve my goal on(A,B). Could you help me?” As from agent olivier’s point of view there is a UD, he can not offer anything that could interest agent jaime, so his chances to obtain the needed help will strongly depend on what agent jaime is currently doing, if this latter has a benevolent behaviour etc. Moreover, agent olivier has not any other choices in order to accomplish his selected goal. 4.2
Scenario at t=1
The new external description and dependence situations at t=1 are now represented in example 2. Agent jaime yves olivier
Goals on(C,table) on(A,B) on(A,B)
Actions put on — clear
Resources B C A
Plans on(C,table):=clear(C). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). pbebox .9 setgray fillon(C,table):=clear(C).
External Description D-SIT me jaime yves olivier
others jaime — UD pbebox .9 setgray fillLBRD
yves — — IND
olivier UD UD —
Dependence Situations
at t=1 At t=1, agent olivier learns the plan Table of how2:toScenario put a block on the table, even if he does not have this goal. The way this knowledge can be acquired is out of scope for the moment, we have only to suppose that he has stored this information in his external description. As we have neither added a new agent nor changed the actions and resources of the existing ones, the current dependence relations remain the same as presented in example 1. One can observe that now agent olivier infers a LBRD regarding agent jaime, and therefore he can offer something in exchange for getting help. For instance, if agent olivier had to start an interaction at this time with agent jaime, he could say: “I need your action put on in order to achieve my goal on(A,B), but I suppose that you also need my action clear to achieve your goal on(C,table). If you help me, I promise that I’ll help you too.” The strategy of agent olivier is to first convince agent jaime that this latter needs him to accomplish the goal on(C,table), which is quite easy, as agent jaime is aware of this dependence. However, what agent jaime does not know for the moment is that agent olivier also depends on him for achieving goal on(A,B). 4
4.3
Scenario at t=2
At t=2, agent jaime also learns the plan of how to put a block on another. The new external description and dependence situations are now summarized in example 3. Once more, the current dependence relations remain the same as presented in example 1. Agent jaime
Goals on(C,table)
Actions put on
Resources B
yves olivier
on(A,B) on(A,B)
— clear
C A
Plans on(C,table):=clear(C). pbebox .9 setgray fillon(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(C,table):=clear(C).
External Description D-SIT me jaime yves olivier
jaime — UD pbebox .9 setgray fillMBRD
others yves — — IND
olivier pbebox .9 setgray fillMBRD UD —
Dependence Situations
Tableand 3: Scenario at at=2 We can notice that now both agents olivier jaime infer MBRD regarding one another, and therefore both of them can offer something in exchange for getting help since the beginning of the interaction. This fact leads to a possibly easier and faster collaboration, since neither of them needs to reason about whether it is advantageous to engage in such a common activity. Moreover, as it is clear for both of them that the other one is dependent on himself, the chances of reciprocation are higher. In the previous instant, for instance, as agent jaime didn’t have a plan for goal on(A,B), he could think that agent olivier was cheating. The interaction is similar to that presented in t=1, with the difference that the receiver is currently aware of the situation, and therefore is more willing to give and receive help. 4.4
Scenario at t=3
At t=3, agent michel arrives, with both a plan and a goal to put block A on block B. This new scenario is summarized in example 4. As the agency has a new member, which has an action that interest the others, the dependence networks change. For instance, the new dependence network of agent olivier would look like: olivier ---------- on(A,B) |---------- on(A,B):=clear(C), put_on(A,B). |---------- put_on |---------- jaime |---------| michel |----------
One may notice that now, agent olivier has a choice for obtaining the action put on, either from agent jaime or from agent michel. On the other hand, for the moment, agent michel believes he can achieve his goal alone. Agent olivier infers now a LBMD, i.e., that according to his own plan agent michel and himself depend on one another to achieve the same goal. If he decides to start an interaction at this moment, he may choose to interact with agent michel instead of agent jaime, like the following: “I know you have also the goal on(A,B) as I do, and I suppose that you need my action clear to accomplish it. As I cannot perform the action put on, do you want to help me so we can achieve it together?” On the other hand, as stated before, now agent olivier has two options to get the action put on done, as the option of doing a social exchange with agent jaime remains. As these two dependence situations are incomparable referring to the criteria defined in section 3, an additional decision criterion must be introduced. It is out of scope of this paper to discuss how this additional criterion should be, but one may think that an agent can also maintain in his social reasoning mechanism a history of past collaborations, and chooses the partner which has a higher rate in past successful interactions. We could also associate a measure of cost to the actions performed by the others, so that an agent should choose the partner which offers the same action at a lower cost.
5
Agent jaime
Goals on(C,table)
Actions put on
Resources B
yves olivier
on(A,B) on(A,B)
— clear
C A
michel
pbebox .9 setgray fillon(A,B)
pbebox .9 setgray fillput on
—
Plans on(C,table):=clear(C). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(C,table):=clear(C). pbebox .9 setgray fillon(A,B):=put on(A,B).
External Description DEP me jaime yves olivier michel
others jaime — put on put on —
yves — — — —
olivier clear clear — —
michel — pbebox .9 setgray fillput on pbebox .9 setgray fillput on —
Dependence Relations D-SIT me jaime yves olivier michel
jaime — UD MBRD —
others olivier michel MBRD — UD pbebox .9 setgray fillUD — pbebox .9 setgray fillLBMD — —
yves — — IND —
Dependence Situations
4.5
Table 4: Scenario at t=3
Scenario at t=4
In this last scenario, agent michel learns that his plan was incomplete and adds the action clear(C) to his plan. This new scenario is shown in example 5. Once more, agent michel’s dependence network will change: michel ---------- on(A,B) |---------- on(A,B):=clear(C), put_on(A,B). |---------- clear |---------- olivier |---------Agent jaime
Goals on(C,table)
Actions put on
Resources B
yves olivier
on(A,B) on(A,B)
— clear
C A
michel
on(A,B)
put on
—
Plans on(C,table):=clear(C). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(A,B):=clear(C), put on(A,B). on(C,table):=clear(C). pbebox .9 setgray fillon(A,B):=clear(C), put on(A,B).
External Description DEP me jaime yves olivier michel
jaime — put on put on —
yves — — — —
others olivier clear clear — pbebox .9 setgray fillclear
michel — put on put on —
Dependence Relations D-SIT me jaime yves olivier michel
jaime — UD MBRD —
yves — — IND pbebox .9 setgray fillIND
others olivier MBRD UD — pbebox .9 setgray fillMBMD
michel — UD pbebox .9 setgray fillMBMD —
Dependence Situations
5: Scenario at t=4 We can observe that now both agentsTable olivier and michel infer a MBMD regarding one another, and therefore both of them can offer something to the other and start the interaction. This situation is similar to the scenario corresponding to time = 2, the difference is that the goal to be achieved now is the same for both agents. The discussion made about reciprocation also holds here, but reciprocation is now more probable, as both agents have the same goal. Finally, regarding agent olivier’s choice regarding whom to ask for help, it can be observed in section 3 that a MBMD is better than a MBRD, so he chooses to interact with agent michel.
6
4.6
Discussion
The main cognitive assumption adopted in this work is that dependence relations can explain some social behaviours as cooperation. If two or more agents are committed to achieve a same goal, and each of them needs the other(s) to perform a certain action needed in a plan that achieves this goal, one can explain why cooperation arises, and why agents decide/accept to form a coalition dynamically. However, our approach is slightly different from the ones based on game theory, like [8, 9]. In these approaches, agents are homogeneous and self-sufficient, and they decide to cooperate with the others either to maximize their expected utility or to minimize harmful interferences, due to goal conflicts. We instead consider heterogeneity as a ground basis for cooperation. On the other hand, we have shown another important aspect regarding the stability of the process of coalition formation: depending on the beliefs which the agents have about the others, they may adapt themselves to new situations, by choosing different partners, if they believe that the chances of obtaining a cooperative behaviour from these latter are higher.
5
Conclusions and Further Work
In this paper, we have shown how a social reasoning mechanism can be used by an agent in order to enhance his adaptation in an open multi-agent system. We have presented some decision criteria based on dependence situations, which are exploited by the agents in order to select the more appropriate partners, when they try to form a coalition dynamically in order to achieve their goals, and we have illustrated the usage of these criteria by using a simple example of the blocks world. We intend to improve our work basically in the following directions: 1. regarding the dependence situations, we intend to take into account resource dependences in order to extend the proposed taxonomy. There are some interesting situations that may arise involving three-party dependences, as described in [4]. This extension will have a direct impact on the proposed decision criteria, which will have to be extended; 2. we also intend to establish a notion of quantification of dependence. Our first idea is to quantify the dependence relations according to the importance of a given goal, number of actions and resources involved in a plan and number of plans to achieve a certain goal. As a consequence, this quantification will also have to be taken into account by the decision criteria; 3. we are also currently developing some interaction protocols, whose general model is presented in [6], in order to implement the exchange of messages between agents that we have presented in our examples.
Acknowledgements The authors would like to thank Dr. Uma Garimella (LIFIA-IMAG) and the anonymous reviewers for their useful comments during the revision of this paper.
References [1] Alan H. Bond and Les Gasser, editors. Readings in Distributed Artificial Intelligence. Morgan Kaufmann Publishers, Inc., San Mateo, CA, 1988. [2] Cristiano Castelfranchi. Social power: A point missed in multi-agent, DAI and HCI. In Yves Demazeau and Jean-Pierre M¨ uller, editors, Decentralized A. I., pages 49–62. Elsevier Science Publishers B. V., Amsterdam, NL, 1990. [3] Cristiano Castelfranchi, Maria Micelli, and Amedeo Cesta. Dependence relations among autonomous agents. In Eric Werner and Yves Demazeau, editors, Decentralized A. I. 3, pages 215–227. Elsevier Science Publishers B. V., Amsterdam, NL, 1992. [4] Rosaria Conte. Three-party dependence and rational communication. In Rosaria Conte and Sila Fiorentino, editors, Atti del 2do Incontro del Gruppo AI*IA di Interesse Speciale su Inteligenza Artificiale Distribuita, pages 105–114, Roma, Italia, November 1992. [5] Rosaria Conte and Jaime Sim˜ao Sichman. DEPNET: How to benefit from social dependence. Journal of Mathematical Sociology, 19(2), 1995. Special Issue on Sociological Algorithms.
7
[6] Yves Demazeau. From interactions to collective behaviour in agent-based systems. In Pre-proceedings of the invited lectures of the 1st European Conference on Cognitive Science, St. Malo, France, March 1995. uller, editors. Decentralized A. I. Elsevier Science Publishers B. V., [7] Yves Demazeau and Jean-Pierre M¨ Amsterdam, NL, 1990. [8] Piotr J. Gmytrasiewicz and Edmund H. Durfee. Reasoning about other agents: Philosophy, theory and implementation. In Khaled Ghedira and Fran¸cois Sprumont, editors, Pre-proceedings of the 5th European Workshop on Modelling Autonomous Agents in a Multi-Agent World, Neuchˆatel, Switzerland, August 1993. [9] Jeffrey S. Rosenschein and Gilad Zlotkin. Rules of Encounter: Designing Conventions for Automated Negotiation among Computers. MIT Press, Cambridge, MA, 1994. [10] Jaime Sim˜ao Sichman. Du Raisonnement Social Chez les Agents: Une Approche Bas´ee sur la Th´eorie de la D´ependance. Th`ese de Doctorat, Institut National Polytechnique de Grenoble, Grenoble, France, 1995. A paraˆıtre. [11] Jaime Sim˜ao Sichman, Rosaria Conte, Yves Demazeau, and Cristiano Castelfranchi. A social reasoning mechanism based on dependence networks. In Tony Cohn, editor, Proceedings of the 11th European Conference on Artificial Intelligence, pages 188–192, Amsterdam, The Netherlands, August 1994. John Wiley & Sons Ltd. [12] Jacques Wainer. Reasoning about another agent through empathy. In Anais do 11o Simp´ osio Brasileiro em Inteligˆencia Artificial, pages 17–25, Fortaleza, Brasil, October 1994. Sociedade Brasileira de Computa¸c˜ao. [13] Michael Wooldridge and Nicholas R. Jennings. Towards a theory of cooperative problem solving. In Yves Demazeau, Jean-Pierre M¨ uller, and John Perram, editors, Pre-proceedings of the 6th European Workshop on Modelling Autonomous Agents in a Multi-Agent World, pages 15–26, Odense, Denmark, August 1994.
8