Multi-Agent Cooperation: A Description Logic View - Semantic Scholar

3 downloads 0 Views 290KB Size Report
concept assertions Φ are adding and deleting assertions, not updating existed asser- tions since the updating operation can be considered as adding new ...
Multi-Agent Cooperation: A Description Logic View Jiewen Luo1,2, Zhongzhi Shi1, Maoguang Wang1,2, He Huang1,2 1

Institute of Computing Technology, Chinese Academy of Sciences 2 Graduate School of Chinese Academy of Sciences P.O.Box 2704-28 Beijing, P.R.Ghina {luojw}@ics.ict.ac.cn

Abstract. In this paper we propose dynamic description logic for formalizing multi-agent cooperation process with a clearly defined syntax and semantics. By combining the features of knowledge representation and reasoning of description logic and action theory for multi-agent interaction, our logic is effective and significant both for static and dynamic environment. On the static side, we employ description logic for the representation and reasoning of beliefs and goals. On the dynamic side, we adopt the object-oriented method to describe actions. The description of each action is composed of models, preconditions and effects. It can reflect the real changes of the world and is very suitable for belief revision and action planning. Based on our logic, we investigate how to form joint goal for multi-agent cooperation. In particular, we propose an effective dynamic planning algorithm for scheduling sub goals, which is greatly crucial for coordinating multi-agent behaviors.

1 Introduction In multi-agent environment, cooperation could not only improve the performance of individual agents and the overall behavior of the system they form, but also enhance their problem-solving capabilities. Moreover, cooperation will lead to a more flexible system that can be adaptive to more real applications [1,9,14]. Reviewing the past research, we find there still exist many practical issues not solved although some important fruits are achieved. Hewitt investigated the multiagent cooperation in his pioneering work on actors and open systems [6]. However, he gave no formal syntax or semantics for such cooperation process. Halpern and Moses analyzed the interaction process to prove certain properties such as correctness of distributed protocols [7]. Their work is based on logic of common knowledge and belief, however, they missed formalizing concepts like joint goal and actions, which are important for cooperation and coordinated action. Cohen and Levesque were the first to set up a formal theory of belief, goal, intention and commitment [1,8]. However, their formalization approach is extraordinarily abstract for understanding. Moreover, they have not clearly explained how to express the mental states and joint commitment using the feasible knowledge representation mode, which makes it difficult to realize in the real systems. In order to rectify the insufficiency, we propose to

1

apply description logic, which holds distinguished knowledge representation capability, to clearly formalize the multi-agent cooperation process and eventually facilitate the implementation of real systems. Description Logics are a family of knowledge representation languages that have been studied extensively in artificial intelligence over the last two decades. They are embodied in several knowledge-based systems and are used to develop various reallife applications. Up to now, they have been considered the most important knowledge representation formalism unifying and giving a logical basis to the well-known traditions of frame-based systems, semantic networks, object-oriented representations and semantic data models etc [2,10,13]. In order to effectively formalize the dynamic multi-agent cooperation, we combine two theories: theory of description logic and theory of actions in our approach. The former provides a logic theory for representing and reasoning with the domain knowledge, especially for static knowledge. The latter develops the ontology and basic relationships needed for modeling the cooperation process. By combining these two theories, the dynamic description logic provides a uniform of knowledge representation and reasoning, which is more expressive than classical first-order predicate calculus and suitable for multi-agent cooperative system modeling and building [12]. The organization of the paper is as follows: Section 2 introduces the basic definitions and architecture of dynamic description logic. Section 3 represents the agent model formally using the dynamic description logic. Section 4 demonstrates the multi-agent cooperative model. Section 5 summarizes the paper and gives a conclusion.

2 Dynamic Description Logic Description logic is regarded as one of the most effective formulization of knowledge representation. Action theory is used to investigate action and its affects in dynamic domain,

which serves as a tool for logic programming in dynamic domain. Since intelligent agent is designed to work both in static domain and dynamic domain for different complex applications, the combination of these two theories will be benefit for formalizing multi-agent cooperation process that eventually facilitates the industry model building. Hence, the dynamic description logic is presented for these purposes. First we will introduce some basic definitions, and then investigate each module of the dynamic description logic. Definition 1. The primitive symbols of dynamic description logic are: ♦ Concept names C0, C1, …; ♦ Role names R0, R1, …; ♦ Object names a, b, …; ♦ Formula variables φ, ϕ …; ♦ The Boolean operators (¬, ∧, ∨) and qualifiers (∃, ∀); ♦ Action variables α, β, …; ♦ Action constructors: ? (test), ;(sequence), +(choice) and ∇(iteration).

2

2.1 Tbox

Tbox Description Language

Reasoning

Abox

Knowledge Base Application Programs

Rules

Fig.1 Architecture of knowledge representation system based on Description Logic

One key element of a description logic based knowledge base is given by the operations used to build the terminology. Such operations are directly related to the forms and the meaning of the declarations allowed in the Tbox, showed in figure 1. Terminological assertion is defined to the relationships of concepts and can be denoted by subsumption of concepts. Tbox is a finite set of these assertions. All these assertions are regarded as axioms of the specified domain. Generally, a terminological assertion has the form of C⊑D, where C and D are concepts. Each agent should have the knowledge of concepts and their relationships in the domain in which it locates. For example, a seller agent in an E-business system should have knowledge of all kinds of goods it sold. It may know that computer is a kind of goods and laptop is a kind of computer, and so on. These axioms can be written as the following: Computer⊑Goods, Laptop⊑Computer, Keyboard⊑Component. 2.2 Abox Abox is a finite set of individual assertions for a particular domain. This kind of assertions is about objects and relationships between objects. Abox can be regarded as a database about current states, facts and data of the environment in which the agent locates. We can divide Abox into two parts: the set of object-concept assertions and the set of role assertions. Definition 2. (Object-concept assertion) In the set of individual assertions Abox, for arbitrary object x and a concept C, an assertion of whether x is an element in C is called object-concept assertion. We record C (x) if x∈C and ¬C (x) if x∉C. Object-concept assertion is used to denote the relationship of an object and a concept. We use Φ to denote the set of object-concept assertions in Abox. For example, Block (a) implies that object a is a block and Boy (Tom) implies that Tom is a boy. In a given domain or situation, an object belongs to a concept within a relatively long term and does not change to other things. Namely, the prime characteristics of an

3

object will keep for a long time while some of its properties and status are changed often. Thus, the object-concept assertion about an object will not change until the object is evolved into other things. The most general operations on the set of objectconcept assertions Φ are adding and deleting assertions, not updating existed assertions since the updating operation can be considered as adding new objects and deleting old objects. Definition 3. (Role Assertion) Let a, b are two objects and R a role. a R b is called a role assertion if a has the relationship R with b. We record it as R (a, b). The set of role assertions is written by Ψ, which is a subset of Abox. . Generally, a role assertion is used to denote the relationship between two objects. It is a kind of binary predicate. For example, HasAcquaintance (a1, a2) indicates that agent a2 is an acquaintance of a1; On (a, b) indicates that block a is on the block b. Properties of an object can also be specified by role assertion. For example, a button button1 is on when it is pressed. This property can be denoted as HasState (button1, “on”). HasAge (John, 29) indicates that john is 29 now. Here 29 can be regarded as a particular object that belongs to concept Integer. In dynamic domain, running of system and changing of environment may influence the relationships between objects or properties of objects to some extent. Therefore, relationships between objects and properties of objects are dynamic and may be changed frequently. We call these assertions dynamic role assertions since they are dynamic and changeable. Since object-concept assertions are static while role assertions are dynamic, we divide these assertions into two sets, one for static facts and another for dynamic facts. The approach is very convenient for belief revision and can speed up the efficiency of agent program. Definition 4. (Formulas Consistence) A set of assertion formulas S is consistent if and only if S does not include these two kinds of subset {C (a), ¬C (a)} and {R (a, b), ¬R (a, b)}. Otherwise, S is inconsistent. Definition 5. (Abox consistence) Assume that Tbox is consistent. Let E be a set of assertions extended from Abox by axioms in Tbox. Then Abox is consistent on Tbox if and only if the assertions set E is consistent. The procedure of extending Abox to E by Tbox begins with Abox. Firstly, add all assertions in Abox into E, then extend E by the following rules: (1) E ← E⋃ {C2 (a)}, if C1 (a) ∈E, C1⊑C2 is included in Tbox and C2 (a) ∉E;

(2) E ← E⋃ {C1 (a), C2 (a)}, if C1⊓C2 (a) ∈ E, C1 (a) ∉ E and C2 (a) ∉ E; (3) E ← E⋃ {D (a)}, if C1⊔C2 (a) ∈ E, C1 (a) ∉E and C2 (a) ∉ E, where D= C1 or D= C2;

(4) E ← {C (b), R (a, b)} ⋃E, if ∃R.C (a) ∈ E, and there is no object b such that R (a, b) ∈ E and C (b) ∈ E; (5) E ← {C (b)} ⋃E if ∀R.C (a) ∈ E, R (a, b) ∈ E, and C (b) ∉ E; For example, let Tbox = {Boy⊑Child, Girl⊑Child⊓¬Boy, HappyFather⊑ ∀hasChild.Boy}, Abox={ HappyFather(john), Girl(mary), hasChild(john, mary)}, then Abox is not consistent since a subset {Boy(mary), ¬Boy(mary)} is included in the extended set of Abox.

4

2.3 Constraint rule In a given domain, different dynamic role may have different qualities, such as exclusive, symmetric, asymmetric, transitive, etc. The different qualities form relation constraints that affect the consistency and completion of the set of role assertions. Hence assertions derived from the role between objects and the attributes of objects should conform to the rules of various dynamic roles. We call these rules static causal law. Definition 6. Static causal law takes the following form [φ1, …, φn] ⇒ ϕ, Where φ1, …, φn and ϕ denotes assertion formula. The static causal law says that, in an arbitrary situation, the truth of φ1, …, φn is sufficient to cause the truth of ϕ. Static causal law refers to the causal relationships between assertion formulas, i.e. it indicates logical relationship between formulas. As the object-concept assertions are static, so in general the effects deducted with static causal law are dynamic role assertions. The qualities satisfied by dynamic role can be described with static causal law, and restrict the relationships between dynamic role assertions, in that guarantee the consistency and completion of agent beliefs during the change process of dynamic role assertions. We transform the typical rules and qualities of dynamic relationships to the form of static causal law as the following: ♦ Inverse: [R (a, b)] ⇒ R−(b, a) ♦ Symmetric: [R (a, b)] ⇒ R (b, a) ♦ Asymmetric:[R (a, b)] ⇒ ¬R (b, a) ♦ Exclusive: [R (a, b), b ≠ c] ⇒ ¬R (a, c) ♦ Transitive: [R (a, b), R (b, c)] ⇒ R (a, c) In addition, some specific dynamic role has qualities, such as [HasChild (a, b), HasChild (a, c)] ⇒ Sibling (b, c). Based on static causal laws, we will discuss the consistency of the set of role assertions. All the rules of static causal law composes the constraint rule set, and we have the following definition for the set of role assertions Ψ: Definition 7. Let Ψ be the set of role assertions in Abox and S be the set of static causal laws. The set Ψ* extended from Ψ by using all rules in S is called a completion of Ψ on S. Definition 8. Let Ψ be the set of role assertions in Abox and Γ be the set of static causal laws. Then Ψ is consistent on Γ if and only if the completionΨ* of Ψ is consistent, i.e. Ψ* does not include these subsets with the form of {R (a, b), ¬R (a, b)}. In this way, we can verify the consistency of the set of role assertions after constructing the constraint rule set of them. Belief revision of agent mainly focuses on the set of role assertion that is dynamic and any unreasonable or false operation may lead to the inconsistency of beliefs, so it is indispensable to check the consistency of the set of role assertions.

5

2.4 Action Description Definition 9. An action description contains the following four elements: (1) Action model (M): The number and type of objects on which the action operates; (2) Precondition (P): The necessary preconditions prior to the execution of the action; (3) Add Formulas (A): Adding formulas after the execution of the action; (4) Delete Formulas (D): Deleting formulas after the execution of an action. The basic expression can be written as: ActionName ( Model ) ≡ {Ρreconditio n} →

{ AddFormula s} {DeleteForm ulas}

Definition 10. The effects set of an action is defined as formula: Eα ≡ Pα ∪Aα-Dα As the preconditions of concrete actions are different, it’s impossible to abstract them in the general formal description. Thus we divide the action description into two forms: general action description and concrete action description. General action description The formulas in the action description are common formulas as they are parameterized to describe the common feature of actions. When agent conducts planning, it will match the concrete goal formula with the action description, replace the parameters in the description with concrete objects, and then form a concrete action description for the appointed object. Concrete action description As a complement, it applies to the action description of specific objects. Besides the replacement of the parameters with the instance objects, it adds complementary description including preconditions, formulas deleting and formulas adding. Hence concrete action description inherits the basic features of general action description, but with additional complementary description. For example, action get is formulated as: get (O : Object ) ≡ {} →

{ Has ( jack , O )} {}

Where the mode of get is denoted as get (O:Object), the precondition and deleting formula are null, adding formula is denoted as {Has (jack, O)}. When it applies to the concrete object ticket, the integral description using description logic formula is: g e t ( tic k e t ) ≡ { A t ( ja c k , a ir p o r t ), H a s ( ja c k , m o n e y )} →

{ H a s ( ja c k , tic k e t )} {}

During the execution of an action, the current belief and state of an agent affect the efficacy of the action. Therefore, the action description should express the current state of agent (some formulas) and the resulting state, and thus indicates the change after the execution of an action. The process of an action is the process during which the belief of an agent changes, so how the beliefs are changed in the action description should be demonstrated. That is, during the process of belief revision, action description is integral by incorporating the following actions: update the old state formula, delete the formula from beliefs, and add new-generated results into the beliefs. However, Barral [4] just gives the goal state without considering the current beliefs and state of the agent, which is inconvenient for belief revision. For example, in the action description of drive_to, the effects axiom is formulated as drive_to (L)

6

causes At (jack, L). It indicates the direct effects caused by the action but not indicating the details of modifying beliefs, which leads to the contradiction in agent belief. Assuming At (jack, home) currently holds, At (jack, airport) is obtained after executing drive_to (airport). After use the static causal law: [At (jack, L1), L1 ≠ L2] caused ¬At (jack, L2). We can get ¬At (jack, home). But there is no explain to delete At (jack, home) in action description, so contradiction appears. We modify the general description of action drive_to as follows: drive( L1 , L2 : Location ) ≡ { At ( jack , L1 ), ¬ At ( jack , L2 )} →

{ At ( jack , L2 )}

{ At ( jack , L1 ), ¬At ( jack , L2 )}

This description indicates that the action drive_to operates on two locations (objects) and the precondition is that jack is currently in location L1 but not L2. After finishing the execution of action, it’s necessary to delete the formula set {At (jack, L1) ,¬At (jack, L2)} and add the formula set {At (jack, L2)}.

3 The Agent Model This section we formalize the belief, goal and planning concepts using the dynamic description logic introduced in section 2. This formal description will provide a foundation for cooperative agent model in section 4. 3.1 Belief The beliefs of an agent are more about the environment and mental state of itself. They are reflection of the laws, facts, data and change of a particular domain. All these things can be called knowledge of agent. Therefore, the problem of representation and reasoning of agent beliefs can be generalized to the representation and reasoning of knowledge. Definition 11. (Belief base) The belief base of an agent is a triple K = . Where axioms and ontology of the domain are included in Tbox, and facts and data are stored in Abox. S is the set of constraint rules, e.g. static causal law, which is used to keep the consistency and completion of facts and data. Definition 12. The agent belief is a pair B = , where Φ is the set of objectconcept assertions and Ψ is the set of role assertions in the domain. Obviously we have B = Abox. Agent belief is included in belief base of agent and usually the belief revision operates on agent belief instead of belief base of agent. Belief Revision All actions and reasoning of agent are based on the beliefs about the world. With the change of world and agent running, agent beliefs are changed dynamically by itself and environment. Belief revision is caused by three kinds of factors: observing on the change of environment, executing some actions, and changing from the outer world by force. There are three methods to update beliefs: add, delete and modify. Indeed, the operation modify can be replaced by two operations, that is,

7

first delete old beliefs and then add new beliefs. Thus we only provide two algorithms for belief adding and deleting respectively. Belief Adding Algorithm Let B be the current agent beliefs, A the new added beliefs and S the set of static causal laws. Add_Belief (A, B, S) Begin A ← A ∪ Extend (A, S); For each ϕ∈A do If ¬ϕ∈B Then B ← B − {¬ϕ}; Let B′ = B ∪A; B′ ← B′ ∪ Applied (B′, S); If Consistent (B′) Then Return B′; Else Let {φ,¬φ} = ConflictSetOf (B′); If φ∈B Then Return B′−{φ} or B −{¬φ}; Else Return error; End Fig.2. Belief Adding Algorithm

For instance, the new fact of At (jack, airport) is added into the beliefs after execute the action drive_to. There is also an old fact At (jack, home) in the beliefs. Thus a contradiction will be obtained by using the exclusive laws [At (a, L1), L1 ≠ L2] ⇒ ¬At (a, L2), i.e. {¬At (jack, airport), At (jack, airport)} or {¬At (jack, home), At (jack, home)}. Since At (jack, airport) is a new fact, we should delete ¬At (jack, airport) as well as At (jack, home). Otherwise it will be conflict with the static causal law. Belief Deleting Algorithm Deleting formulas from beliefs will not lead to inconsistency if the original beliefs are consistency, so we only need to guarantee the completion of beliefs. Our strategy is to expand both beliefs B and deleting formulas D by applying rules in S, and then delete all the formulas included in the extension of D from the extension of B. With respect to belief re vision, there are two cases as follows: (1) This case only involves role assertions, so only the attributes of objects or relationships between objects are modified, which has been introduced afore. (2) This case involves role assertions and object-concept assertions. The construction of new objects, object evolvement or disappearing will affect both the role assertions and object-concept assertions. When add a new object to the agent domain, firstly add assertions about class of concept to which the object belongs, and then add the assertions about the attributes of object and the relationships with other objects. In this way, agent has relative knowledge about the new constructed objects and can operate on it. When an existing

8

object is deleted or disappears automatically, we need to delete the concept assertions and related role assertions about it. 3.2 Goal The goal of an agent set objectives the agent tries to achieve. We distinguish two kinds of goals: the goal of taking actions and the goal of achieving a state. In fact, both of them can be seen as the same to achieve a goal state in terms of the ultimate goal. The simple agent goal directly corresponds to a simple action or a concrete state. The complex agent goal is composed of various kinds of sub-goals. More abstract agent goal needs to be explained as concrete goals. Definition 13. Let A be the set of all actions and L be the set of all formulas. The set of goals G is inductively defined by: (1) Λ⊆ G, actions in Λ are called basic actions; (2) If ϕ∈L, then achieve (ϕ)∈G; (3) If ϕ∈L, then ϕ?∈G; (4) If δ1, δ2∈G, then δ1;δ2∈G, δ1+δ2∈G, δ1*∈G. Basic actions, achieve (ϕ) and test actions are also called basic goals. Complicated goals can be composed of these basic goals, such as sequence, choice and iteration. Sometimes we write achieve (ϕ) as ϕ for short. Definition 14. (Target set) Let δ be a basic goal. The target set Tδ of δ has three cases: (1) If δ is a basic action α, then Tδ =Aα; (2) If δ has the form of achieve (ϕ), then Tδ = {ϕ}; (3) If δ is a test action, then Tδ = ∅. Goal Generation Agents can be seen as a goal-driven entity. According to agent design and different domains, agent goal is obtained with the following methods: (1) Specify previously. The goal is fixed when design a system or initialize an agent. This kind of goal is constant during the running process of the agent, so it is easy and suitable for some applications with fixed goal and simple task, such as real-time system, industry control, etc. (2) Observe the change of environment. It is similar to that of the reactive agent. An agent automatically generates all kinds of goals by perceiving and interacting with the environment and other agents. A goal can be generated automatically corresponding to the queries proposed by users or other agents, and the process of goal generation isn’t simply reactive but need some reasoning and judgment. This kind of goal generation with good adaptability and flexibility is the most prevalent. (3) Agent generate automatically. Though this method maybe relevant with the outer world, it mainly derived from the mental state of agent. The traditional agent program or logic program adopt the first method to manually appoint the goal of agent previously. But this method has too many limitations and considers few situations, so it is not suitable for general applications. In our design framework, we mainly adopt the second method and some of the third one. Definition 15. Goal generation rule takes the following form:ϕ1, …, ϕn → δ. Where ϕ1, …, ϕn are assertions and δ is a goal. It intuitively indicates that when the assertions ϕ1, …, ϕn hold, agent will generate a new goal δ.

9

In the elevator control system, when the user in the nth floor requests a service, a new goal is generated and the elevator will serve the nth floor. This is formulated as HasRequest (n, on) → serve (n). In the agent-based application systems, the running mechanism of agents are usually configured by the system designer, including concrete duties, workflow, mechanism of interaction with environment and reaction mechanism, etc. Followed these definitions, agent can fulfill its work and task. So the basic running mechanism can be directly embodied in the goal generation rules. 3.3 Planning After the goals are generated, agent has to look for an effective method to achieve these goals, and sometimes modification of existing goals is necessary. The reasoning process is called planning or practical reasoning. In order to accomplish this planning reasoning, agent can adopt two methods. One is static planning that includes planning rules for practical reasoning, and the other is dynamic planning in real time. In order to achieve a certain goals, the basic process and method are designed in advance. The formed rules corresponding to the goals and planning are called planning rules. The process of planning is actually the process of searching the match in the rule base, so we call this planning static planning. Definition 16. Planning rules can be formulated as follows:δ1 ← ϕ | δ2 Where δ1∈G, δ2∈G, ϕ∈L, δ1 is called rule header, δ2 is called rule body, ϕ is called rule guard. The free variables in the head of a rule are called global variables of the rule and the others are called local variables. Generally in the cases on which workflow is static and environment is relative steady, we can design some planning rules corresponding to the goals. We take the elevator control system as an example. Assuming the goal is to stop the elevator at the M floor, the planning rule can be formulated as follows: go_floor (M)←At (elevator, N)|[N M; down (M)]. In order to achieve the goal go_floor (M), the agent firstly checks which floor the list is currently stopped at by At (elevator, N), and then determine whether to up or down. Where M is a global variable and N is a local variable. From above rules, we can see that the guard of a rule has two functions: appoint the necessary conditions for the usage of rules, and retrieve data from agent beliefs (e.g. At (elevator, N) is to retrieve which floor the elevator stops at). The function of planning rules is to specify the means to achieve a particular goal. For instance, a planning rule may denote which actions are needed, how the actions are composed to execute, and how to compose the various actions to make a formula to hold. The static planning is simple and efficient. As the planning to different goals has been designed in advance, the actions are immediately executed to achieve the goal once the search is success. However, it does not adapt to the dynamic planning domain, in which the goals are uncertain and state changes dynamically.

10

4 The Cooperation Model The formal agent model serves as the basis for the description of the cooperation model. However, agents do not always plan and act alone in a world, but must often cooperate with each other to commonly achieve their goals. Cooperation arises as several agents plan and execute their actions in a coordinated way. In this paper, not only single agent behavior but also cooperation is seen from a goal-based viewpoint. 4.1 Cooperative agent architecture Belief

Environment

Actions

Interpreter

Sence

Goals

Act

Solving Problem

Plan

Communicator

Team Agents

Fig.3. The architecture of Agent

Definition 17. An Cooperative agent model is a six-tuple , where – Π is the beliefs base; – Γ is the initial goals; – Λ is the set of basic actions; – GR is the set of goal generation rules; – PR is the set of planning rules; – Com is the communicator for interaction These six components of agent structure are close related and affect each other. Goals are generated by observing environment and agent beliefs through rules in GR. A Plan is formed though planning and the planning rules will be used. The execution of an action in a plan will call the action procedure and update the beliefs of the agent. And the communicator is applied for coordinate actions with cooperative agents. The architecture of agent is illustrated in figure 3. The interpreter of agent can be regarded as a repeating procedure. It will repeatedly execute the following steps: (1) Observe the world and add new facts into beliefs; (2) Generate goal according to beliefs and add it into Γ; (3) Select one of the most important goal δ∈Γ to be achieved;

11

(4) Select team agents for cooperation if it cannot finish alone. (5) Communication with team agent form joint goal (6) Find a plan α1,…, αn to achieve sub goal δ; (7) Execute the plan α1,…, αn.

4.2 Joint Goal Generation

Joint Goal Generation Function JointGoal Propose_JointGoal (Agent I, Agent J, Goal G) Begin JointGoal=Agent.getJointGoal (I); For each plan∈planBase (I) do If Successes (plan, G); Return Null; Else Send_Message (AgentID, Abox, G); Sleep (Maximum_Response_Time); IF (Sleep=0) /*If waked by agent j, sleep ()=0 */ IF (Message=Accept) JointGoal=JointGoal+{G}; Return JointGoal; End Function JointGoal Response_Request (Agent I, Agent J, Goal G) Begin JointGoal=Agent.getJointGoal (J); Receive_Message (AgentI.Abox, G); IF consistent (Agent (I). Abox, Agent (J). Abox) And Agent (J). Resource=Satisfied Then Send_Message(Accept); Wake_up (I); JointGoal=JointGoal+{G}; Else Send_Message (Refuse); Return JointGoal; End Fig.4. Joint Goal Generation

In the goal generation phase, a cooperation is initiated if an agent can not find a local plan for the goal or finds a plan which would involve actions to be carried out by other agents. The agent can also propose a goal to other agents if it thinks that a cooperative plan is cheaper or more effective than a local plan. The key point for multiagent cooperation is to form the joint goal. The joint goal generation process is as figure 4. In the algorithms design, we restrict the interaction process between two agents although participants can be multi-agent and assume Agent I cannot implement Goal G alone and asks Agent J for cooperation actions.

12

4.3 Dynamic Planning Given having generating joint goals, the next step is to find a reasonable and effective solution to achieve the goal according to the joint beliefs, actions description, causal laws and reasoning rules of the participant agents. Generally speaking, the joint goal can be partitioned into sub goals for multi-agents’ cooperative actions. However, how to plan the actions becomes a big challenge because of the uncertain belief base and outer environment. In order to address dynamic domain issues, we employed the dynamic planning approach in our formal system. Under normal conditions, a joint goal is composed of several sub-goals and the sub-goals must be achieved before achieving the joint goal. Accordingly, there are two basic problems for dynamic planning: what’s the execution order of sub-goals and how to plan for each sub-goal in detail. It is very important to decide what is the suitable planning order of all sub-goals since different execution orders may cause different consequences. Moreover, there exist inter-constraints between sub-goals. Hence, we design an algorithm to order the sub-goals of a given joint goal. Before introducing the algorithm, we firstly give two definitions. Definition 18. (Possible state set) Let δ be a basic goal and α be an action. Eα is the effect set of α and Aα is the adding set of α. Eα is called a possible state set of δ if the target formulas Tδ of δ appear in Aα. If Tδ appear in the adding sets Aα1,…, Aαn of actions α1,…,αn at the same time, then all the effect set Eα1,…, Eαn of α1,…,αn are called the possible state sets of δ. Definition 19. (Order of sub-goals) Assuming that δ is a joint goal and can be divided into two sub-goals δa and δb, then δa has precedence over δb if δa must be achieved before δb in order to achieve δ, which is denotes as δa≺δb. Otherwise there is no need to achieve δa before δb and this can be denoted by δa⊀δb. Let δ be a goal and can be divided into two sub-goals δa and δb. Ta is the target set of δa and are the possible state sets of δa. Tb is the target set of δb and S1b ,..., S nb the possible state sets of δb. The following ordering algorithm is to determine the ordering of these two sub-goals based on the above definitions. (1) Select a possible state set S ia from all possible state set of sub-goal δa, where 1≤i≤m. ♦ If S ia ⋃Tb is not consistent, then δa≺δb for S ia . ♦ If S ia ⋃Tb is consistent, then δa⊀δb for S ia . (2) For all possible state set of δa, if δa≺δb, then we have δa≺δb. Also we have δa⊀δb if there exists a possible state set S ia of δa such that δa is not prior to δb for S ia . Thus the action αi corresponding to S ia is the best plan of δa. (3) Then we need to check whether δb is prior to δa. Similar to step (1), we should compute all possible states set S1b ,..., S nb of δb and check whether it is consistent with the union of each possible state set and target formulas set respectively. We have δb≺δa if for all possible state set of δb. We say δb⊀δa, if there is a possible state set

13

S bj of δb such that δb is not prior to δa. Thus the action βj corresponding to S bj is the best selection of plan. (4) By drawing a conclusion on step (2) and (3), we have the following four cases: ♦ It is impossible to realize the goal if δa≺δb and δb≺δa. ♦ There is no order between δa and δb if δa⊀δb and δb⊀δa. ♦ δa≺δb if δa≺δb and δb⊀δa. ♦ δb≺δa if δb≺δa and δa⊀δb. (5) Return the order of the two sub-goals and end the algorithm. With the above algorithm, the execution ordering of sub-goals is determined to provide a foundation for the completion of a joint goal. On the other hand, potential contradictions between goals can be found (e.g. dead lock), and further the inconsistence and error can be found. So it is necessary to update the goals for the problems arise from the beliefs of agent or the description of the goals. We will not discuss it in this paper for the limitation of the length. Abox Plan (JointGoal G, Abox A) Begin If α is executable in A and can realize G Then Revise (A); Return A; Else Partition (G); /* dividing Joint Goal to n sub-goals g1, g2…gn */ For i=1 to i=n Do Compute_ priorities (gi); Order sub-goals and record them as δ1, … ,δn; For π = δ1 to δ n Do Abox= Plan (π, A) End Fig.5. Dynamic planning algorithms

The problem of ordering more than two sub-goals can be transformed to multiproblems of ordering two sub-goals, and finally a partial order of sub-goals after comparing all priorities of them can be obtained. The sub-goals irrespective of others are put at the back of the planning queue. Of course, the ordering of sub-goals isn’t unique and the same with planning, and our algorithm is to find one of the best plan for the goal. After determining the ordering of sub-goals, we can make detailed planning for each sub-goal according to their priorities of each other. As each sub-goal will be achieved after taking some actions and each action has its preconditions, and these preconditions can further produce sub-goals for the sub-goal. This is a kind of backtrack. Each backtrack does not stop until all of its preconditions are satisfied in specified beliefs. The plan for other sub-goals with lower priorities will not start until the planning of the sub-goals with higher priorities is completed. All these kinds of plans are recursive and may produce a tree called planning tree. The ultimate goal

14

corresponds to the root of planning tree and sub-goals correspond to sub-trees. The planning queue can be obtained by traveling all nodes of the tree in order. A recursive algorithm for planning is listed as follows where the global variant P is the queue of plans and has the initial value of null. The recursive algorithm will return after find a plan for a sub-goal. Thus a leaf of the planning tree is formed.

5 Conclusion and Future work To summarize, the approach in this paper builds upon the description logic and theory of action. The former provides a logic theory for representing and reasoning with the domain knowledge, and the latter develops the ontology and basic relationships needed for modeling the multi-agent cooperation. We combine and expand them to form dynamic description logic. Through the formalization, the nature of agent design is expressed clearly in this paper, i.e. from belief representation and reasoning to belief revision, from goal representation and generation to sub goals planning. This work rectifies the insufficiency of pioneers’ work on the multi-agent cooperation research, which focus on mental state and joint commitment formalization and lack the feasible mechanism to narrow the gap of theory and practice. Through the dynamic description logic, we provide a theory that is accessible to both formalists and system builders. For formalists, it provides a novel approach to describe complex syntax and semantic information in cooperative process, which is more expressive than traditional model logics. For system builders, the dynamic description logic formalization can serve as a top-level specification of developing multi-agent cooperative systems. Moreover, since description logics are important components of DAML+OIL [10], which is an ontology language specially designing for use on the semantic Web, formalizing multi-agent cooperation with description logics makes it possible to seamlessly integrate the semantic web and intelligent agents, which is beneficial for information retrieval and processing on future’s semantic web advanced service.

ACKNOWLEDGEMENTS The research work in this paper is supported by the National Basic Research Priorities Programme (No.2003CB317004), the 863 Project (2003AA115220) and National Natural Science Foundation of China (No. 60435010).

15

Reference [1] H. J. Levesque, P. R. Cohen, and J. H. T. Nunes. On acting together. In Proceedings of the Eighth National Conference on Artificial Intelligence (AAAI-90), pp.94-99, Boston, MA, 1990.F. [2] Baader, W. Nutt. Basic description logic. In F. Baader et al, editor, The Description Logic Handbook: Theory, Implementation and Applications. Cambridge University Press, 2002. [3] C. Baral, M. Gelfond and A. Provetti, Reasoning about actions: Laws, Observations and Hypotheses. Journal of Logic Programming, 31, 201–244, 1997. [4] C. Baral, M. Gelfond. Reasoning agents in dynamic domains. Logic Based Artificial Intelligence, Edited By J. Minker, Kluwer, 2000. [5] C. Baral and Y. Zhang. On the semantics of knowledge update. In: Proceedings of IJCAI-01, 97–102, 2001. [6] C.Hewitt. Offices are open system. ACM transactions on Office information systems.4 (3): 271-287 1986 [7] J.Y. Halpern, Y.moses.A guide to the modal logics of knowledge and belief: preliminary draft, in proceedings IJCAI-85, 480-490,Los Angeles, CA, 1985 [8] P.R.Cohen, H.J.Levesque. Intention is choice with commitment, in Artificial intelligence 42(3), 1990 [9] Michael Wooldridge and N.R.Jennings: Formalizing the Cooperative Problem Solving Process. Page 430-440 in Readings in Agents, Morgan Kaufmann 1997 [10] www. w3c.org/2002/03owlt/description-logic/ [11] Dong Mingkai Research on Dynamic Description Logic for Intelligent Agent; PhD thesis, Chinese Academy of Sciences 2003 [12] Intelligence science website www.intsci.ac.cn [13] Description Logics website http://dl.kr.org/ [14] Shi Zhongzhi. Intelligent Agent and Its application. China Science Press 1999

16