implementation of a system resolver problems occupying ..... or more quotas. .... Borda: For each decision maker, we established the rank of each object.
260 International Journal of Research and Reviews in Computer Science (IJRRCS)
Vol. 2, No. 1, March 2011
A Multi-Agent System for Solving CSP Problems: Case of Space Occupation J.Boussaa, M.Sadgal, A. El Fazziki Computer Science Department, Semlalia Science Faculty, Cadi Ayyad University, Prince My Abdellah street, PO Box 2390, Marrakesh
Abstract: The space occupation covers a class of problems that claiming both constraints satisfaction and optimization approaches. The used methods tend to favourite one of two areas (optimization, satisfaction) and do not lead to a global solution. Despite the success of these methods in some problems of space occupation with constraints, it may be worthwhile to consider new ways of design, including Artificial Intelligence (AI) techniques. The problem is NPcomplex, a possibility to overcome this complexity is to distribute across multiple computing units and adopt an appropriate decision as to the "best" solution. Hence, to construct and evaluate possible solutions to this problem, we propose in this paper, to use an approach based on intelligent agents paradigm for the design and implementation of a system resolver problems occupying space under constraints.
The problem is NP-complex, we can’t postulate that only the algorithm performance with “parallel” version will be able to overcome complexity. Simple models based on elementary behaviors ACO (Ant Colony Optimization) [30] were used successfully for certain problems. Whereas other more complex models using the human behaviors like the negotiation, the co-operation, the game theory still offer a range of approaches to overcome the problem difficulty.
Keywords:
AI approaches [2, 21] are promising for several reasons:
spatial layout, constraints, satisfaction, optimization, artificial intelligence, BDI agent, CSP, SCPS, multi-agent, MAS, DCSP.
1. Introduction The problem of space occupation is an establishment of a set of predefined objects in space while respecting a number of imposed constraints (declared) and others (unreported) that appear during the establishment itself. Of course such an occupation should be optimal. Mathematical models that have attempted to address this problem often can be reduced to enhance the appearance optimization (reduction of the space occupied by example) but not directly the constraint satisfaction aspect. In these models, the enormous difficulty in expressing constraints is circumvented by seeking an evaluation function. The modelling of such problems can be reduced to an allocation model that aims to allocate N places to N objects which we have simplified the space into fixed zones (places) and which in this case, preference is the cost of allocation of objects to availability. Many of these problems, undertaken by classical algorithms [16], are confronted with a realistic representation of the constraints and objectives. Models such as linear programming where it is necessary to translate the constraints in inequations or the statistical models which deal with the problem in term of classification or the models based on physical phenomena (simulated Annealing) confirm all this difficulty of expression of constraints. Indeed, the constraints like “the object has which uses water must be placed further
possible from any electrical appliance” which introduce inaccuracy and ambiguity have to use representation techniques and reasoning conveyed by approaches in Artificial intelligence (I.A).
• The expressive power with the integration of several types of constraints • The choice of a solution is difficult to quantify by an evaluation function where the introduction of the quality aspect. • Several types of knowledge are required and must cooperate. • To represent the skills and behavior experts in the field of application and model their strategy in the resolution. • Using the paradigm "Intelligent Agents" in adapting the reasoning in problem solving In this context, the problem can be likened to a Constraint Satisfaction Problem (CSP), treated on a scale of "severity" of the constraints. Thus, preferences will be considered after meeting the constraints as "severe". All the techniques of problem solving can be integrated into a stage of resolution: graph exploration, use of heuristics, enhanced by Hill Climbing, Simulated annealing and genetic algorithms [16]. The aim of this paper is to present a new approach based on a multi-agent architecture to easily and naturally express constraints and solve the problem using AI techniques.
2. State of the art 2.1 spatial Breakdown problem The spatial mainly covers many areas of design such as the arrangement of furniture, architecture, cutting, placement
261 International Journal of Research and Reviews in Computer Science (IJRRCS)
problems/ routing in electronics, construction of vehicles, boats, factories, ...
Vol. 2, No. 1, March 2011
A second is the backtracking itself. The basic mechanism is a chronological backtracking: if it fails, it returns to the choice made whether that choice has any responsibility for the failure current or not.
This problem of space occupancy is defined as follows: Given a bounded area called E, and objects subject to constraints, find the locations, orientations and dimensions of objects in this space to best satisfy the constraints. Classically, it was thought that the problem is reduced in most cases to minimization (or maximization) of an evaluation function that we must choose.
When the constraints take a very important part, the resolution of the problem "must" move to other approaches based on IA [16].Since the problem is NP-complex, it becomes necessary to use several techniques in distribution between intelligent entities.
Early interpretations of this problem consisted of researching evaluation functions to fit mathematical approaches. One can name here some mathematical models used for the design of electronic circuits and in simple allocation problems: allocating n objects to n places knowing there is a cost c to assign object i to place j [12].Other performances based on statistical models: PCA and MFDA [2] or models of Linear Programming [10] reinforced by other techniques (based on physical phenomena) as simulated annealing.
2.2.2 The distribution aspect - Resolution SMA / DSCP A DCSP (Distributed CSP) takes the classic definition of a CSP, adding the assumption that the variables (or constraints) are managed by agents who seek to assign values so that the constraints are met. Constraints may exist between variables of a single agent or variables belonging to different agents, it is called intra-agent constraints and inter-agent constraints. Solving the problem is often seen as achieving coherence or consistency of a multi-agent system [18], [19], [20]
Often, this problem is expressed using a CSP (CSP or Space), objects are identified with multidimensional variables. A variable is, for example, a vector with: position, orientation and dimensions. In many approaches, the constraints are expressed using geometry. But in reality there are of course other topological constraints and / or functional. According to several authors [7], the main difficulties to solve this problem from many aspects such as the presence of both constraints and goals (satisfaction and optimality), searching optimization criteria often antagonistic and discrete formulation of the problem leads to the NP-complexity or worse. 2.2. Different methods of resolution
Resolution in a distributed environment enables a parallel, so a possible saving of time, but must involve putting in place robust mechanisms of communication to ensure consistency of the system during the resolution.
ij
2.2.1 Conventional Techniques To address this problem, several approaches have been used. One can name here three categories: The constructive approach is a “to top-down” approach (placing stepping objects) Fletcher [9] al Baykan and Fox [3].The iterative approach tries to improve a position from an existing position by moving an object or by swapping two objects. Shaookar and Mazunder [14].The hybrid approach is a matching of the two previous approaches Watanabe and al. [15] Donikian Hégron [6]. The basic algorithm is the Backtrack [11] is a research with backtracking and testing time constraints when their variables are instantiated. A great deal of research has been done to improve this algorithm, as the anticipation and the introduction of graph consistency [17, 20].The first line of research is to propagate the constraints as soon as possible to quickly detect inconsistencies. This is one of the key successes of constraint programming.
In his work, Yokoo has adapted several algorithms "Distributed Breakout Algorithm (DBA)", "Distributed Breakout Algorithm", "Asynchronous Backtracking (ABT)", "AsynchronousWeak-Commitment (AWCS)" and "Environment, Reactive rules Agents (ERA ) "where we see for the first time an algorithm directly involving the environment. Used for communication, it can be abstracted from all mechanisms of communication between agents (knowledge of identifiers or addresses, etc..) And especially the times of transmissions of messages that are finite but random. However, agents are responsible for keeping the environment up to date. Second, this approach provides partial solutions quickly, which may be interesting in the context of dynamic problems requiring high reactivity. Another approach based more on cooperation was designed [21].Agents have a priority (number of neighbours) and cooperate during mediation sessions. When an agent can not find consistent value with the agents he knows that his highest priority, it runs a mediation session, if it changes its value and sends it to its neighbours. Asynchronous Distributed Optimization Method (ADOPT) [22] its main application, distributed constraint optimization. Each constraint is associated with a cost. It will be for each agent to minimize the function 'overall objective' (sum of cost constraints). The approaches mentioned revolve around the improvement of conventional algorithms by introducing the distribution and often in the guise parallelism while admitting According Yokoo 2001 some assumptions such as communication
262 International Journal of Research and Reviews in Computer Science (IJRRCS)
messages. But most of these systems encounter a problem of communication where you have to manage a large number of messages generated by the agents. The idea of the emergence of the solution is interesting; the search for adequate specific functions is very difficult. Then we look in our approach to resolve the problem by a collective decision of agents based on a mechanism for deliberation. To prepare a distributed resolution of the problem we present here an approach based on intelligent agent deliberative paradigm.
Vol. 2, No. 1, March 2011
define priorities, requests and environment construction. The supervisor initiates and orchestrates a deliberation between the various agents for a negotiated solution, and then provides a final solution to the user. Revision of the solution by user validation or questioning SUPERVISOR AGENT Interpretation - Strong request - Weak request - Environment Construction - Agent generation
User - Problem - Requests
3. The proposed approach We develop a system based on MAS architecture, allowing a more natural way to express the problem and provide access to a multitude of techniques from agent paradigm. It is then possible to adopt resolutions based on simple functions "reflexes" but also to use ways of thinking to deliver complex solutions is explained clearly justifiable. The use of MAS architecture for the reasons explained below: 1 - NP-complex may have an infinite number of situations and solutions, so the resolution must be seen as the effort of several units each may contribute a partial or complete solution which falls within the DST techniques. 2 - The user requests are often too general and require interpretation to translate into strong demands (constraints) and weak (preferences) and simplify the "format" for the conventional algorithm, and then the solution do not often match the applicant’s expectations. While it is much more beneficial to express requests in logical skills (naturally) and use several translations in units such as BDI agents with the concept of consensus between units. The interpretation of the problem is part of the resolution. 3 - The traditional solution process based on a single mode selection algorithm is crucial, "the adaptation of the algorithm to the problem (or vice versa) can not be done without the acceptance of a solution" more or less " adapted. The MAS paradigm offers new opportunities to converge towards solutions: competition, cooperation, negotiation, critical ... (combining the power of the machine of human practices). 4 - Speed in the distribution: the parallelism reconsidered under the IAD. General description of the approach: To understand this problem, a scenario of an exchange is established between the various entities of the system (Fig.1) A user defines the problem and make a request Request sent to a supervisor agent, which handles the interpretation of the problem, then generate solvers gents,
Resolution management Simulation (test sets, deliberation…)
Communicate Explicate Criticize
Decision Solution
Figure 1: Overview 3.1 Description of the problem The problem of space occupation is generally defined by the following: An area of position of two or three dimensions in which geometric objects will be placed with possible topological and functional characteristics. The establishment is governed by a set of constraints on the characteristics of objects and space. The aim is to occupy space by the set of objects, while satisfying the constraints, and to best achieve the goals expressed by the application. In the distributed version of a CSP variables or constraints are traditionally distributed to the agents. Each officer is responsible for solving the problem locally while contributing to the overall resolution. We consider that each agent deals with an object placed in space occupancy (Fig. 2)
E Satisfied Agent Unsatisfied Agent
Objects
Figure 2: Space Occupation 3.2 Notation and definitions In our system, the physical world is abstract and presented as states. State transitions caused by actions.
263 International Journal of Research and Reviews in Computer Science (IJRRCS)
A state models the set of allocations of objects (agents) to places in the occupied space. A transition state is the change from one state to another. Finally, action is the way by which a transition will be realized. The resolution will be seen as a sequence of transitions to move from an initial state to a final one. The final state is characterized by the satisfaction of all constraints and to achieve better goals. Consider the following notations: E: 2D or 3D space (Exp. rectangle (x 0, y 0, x d, y d)) A = {A1, ... A n} set of agents (each agent corresponds to an object) S = {S0, ..., Sm} set of states C = {c1, ..., cp} set of constraints B = {b1, ..., bq} set of goals AC = {a1, ..., ar} a set of agents's actions (operators of displacement) Action aj is considered the joint action of all agents aj = (a j1, ..., a ji, ..., a jn) P = {p 1, ..., p t} set of plans A plan p i is a set of joint actions {p i = a0, a1, ..., ak} Action Individual action a of an agent is moving this agent on the space E. This change can be made using a combination of geometric operators such as translation and rotation. For example in the plan: a = (δ δtu, δtv,) R3, if Pi = position occupied by A i in E, P i = (x i, y i, t i): coordinates (x i, yi) and orientation (ti) and if a(Pi) = P'i: change of place and direction Ai by the application of a, then P'i = (x'i, y'i, t'i) such that x'i = x t δtu, y’i = yi + δtv and t '= t i + δrw a0 = (0, 0, 0) is the action identity: the agent does not move. Place A place for an agent is defined by a position P (Coordinates, Orientation) and the geometric dimensions of the object to place. We note the Pli = (Pi, DGI), where DGI is the geometric dimensions (length and width for a rectangular object in 2D).The orientation is used here is the local frame of the object relative to the absolute frame of space occupancy.
E
P(xo, yo, Θ, Dgo)
yo
xo Figure 3: An object in a coordinate system related to E - State We define a state S k as the triple where:
Vol. 2, No. 1, March 2011
PLk = { Plk1, …, Plki,…., Plkn} is the set of places of agents occupying the space E in state Sk, (Plki is the position of agent Ai in Sk). Ck is the subset of constraints satisfied in state Sk Bk is the subset of targets achieved in the state Sk - Transition of states A transition of states is defined by the pair Sk and S1 and noted SkSl, the stat Sl is seen as a consequence of the action causing the transition SkSl from Sk, . We note (SkSl)/aj to denote the transition and its cause action aj. For example, the next transition S1S2 (Fig. 4) is performed by the joint action a =(a1, a2,a3) as a1 = a2 = (0,0,0) and a3 = (-5, 0, -10).
Figure 4: The displacement of A3 to the position (5,30,90) changes the situation from S1 to S2 3.2.1. Admissibility, Optimality and Resolution - Admissibility C being set of constraints, Cardinal (C) = | C | = P A constraint is seen as a relation (arcs in Fig. 2) between one or more quotas. A state S = < PLs,Cs,Bs > Is said admissible if and only if Cs = C = (a situation where all constraints are satisfied). Remark: The relation "same set of constraints satisfied" is an equivalence relation on the set of states S. Thus, admissible states constitute an equivalence class in this sense (They have C as a set of satisfied constraints).Let This class E,
E = {S∈ ∈S/
S = < PLs,C,Bs. >}. - Satisfaction at agent level If CAi means all constraints on the agent Ai, then: UiC Ai = C, We say that a state S=< PLs,Cs,Bs > Satisfies the agent Ai called Ai-admissible iff C Ai ⊂ Cs. In general, S = Satisfies an agent group GA iff UAi C Ai⊂ Cs Note (based on the satisfaction of individual agents): If ∀i, C Ai ⊂ Cs s then S is admissible. - Optimality The goal is a State admissible optimizing the objectives (preferences): These preferences can be regarded as less severe constraints, but will pose a difficult problem: the optimization. Some applications highlight the value in seeking more adequate models. This is the case of high integration of electronic components in a very small area (VLSI) [14]. From our side we assume the existence of an evaluation function measuring the achievement of objectives. Thus, our problem will be finding a state admissible
264 International Journal of Research and Reviews in Computer Science (IJRRCS)
maximizing this evaluation function. - Evaluation An officer may also evaluate any state S according to the satisfaction of its own constraints, the remaining constraints and goals. This evaluation is defined by ju:
ju :A x S [0,1] ju (Ai,S) is a value expressing satisfaction (constraints and preferences) of the agent Ai regarding the state S. This value is calculated by the agent A given its position in PLs, the subset of constraints met and targets achieved, both locally and globally (detailed in Section 3.4).. i
3.3 Resolution To solve his problem, the existence of E (feasible solutions) is essential in this case, the concern of search procedures is to determine the optimal solution regarding the objectives in E. Given the complexity of the problem, we issue two hypotheses: Prove the existence of E is not considered to begin the resolution. The search for the optimal solution is evaluated in terms of convergence of E (Objectives achieved on states qualify) - Find a State Ai-admissible To give a first formulation of this algorithm, we note AGi the set of agents adjacent to the agent Ai..Every agent in AGi has at least one constraint with Ai. We present an algorithm to filter pseudo-states Aiadmissible: So: Current Status, ESi = empty (list to put the possible Aiadmissible states) For Ai do: 1 - If So is Ai-admissible, then stop else 2 - search for Zi (So): zone of possible positions Satisfying constraints Ai 3 - For each Pli a place in Zi (So) do: - Determine the plan pi and Si as (SoSi) / pi with Si=< PLi,Ci,Bi > And C Ai ⊂ Ci - For any Aj of AGI, warn (Aj) and wait for (Aj) answer If negative answer (Aj), End loop End-For If all answers are positive AGI, add Si in ESi 4-End for 5 - If ESi is not empty consider Si ,save pi plans to achieve the Si from So, and evaluate Si Remarks: The loop is sequential (one agent per cycle) The response of A is compared to S and only for satisfaction. Any Si ∈ ESi is Aj-admissible ∀ Aj ∈AGi The agent looks for all Ai-admissible, this imposes a discretization Net Area of occupancy. In calculating Z (So), two cases are possible: 1: Z (So) does not exist or exists but can’t contain Ai 2.Z (So) exists and contains spaces for Ai In the first case Ai propose a plan pi allowing to have the case 2 or wait for the change of So. j
i
Vol. 2, No. 1, March 2011
In the second case ai determines a plan to find the useful place in Z (So). In all cases the agent will propose a plan pi ∈P such that pi = [ao,…ak]i, following joint actions to enable it to transit from state So to the State Ai-admissible noted Sadi (So Sadi)/pi indicate that the transition So Sadi is completed by a plane pi, We will have therefore k intermediate transitions S1,. S2, …, Sadi, such as: i
,
(S0 Sadi )/pi, = (So S1)/a1 and ...and … and (SkSadi) /ak. - Ai-Optimal State The first task of the agent is driving the plan generation, at least, Ai-qualify solutions. But given the presence of goals, the agent will seek to offer the "best course" within the meaning of appreciation ju.The agent must determine the State Ai -optimal which is the state Sopi such as: Sopi= arg(Max(ju (Ai,Si))) Si Ai-admissible Knowing Sopi suggested by Ai, each agent A can be evaluated: ju (Aj,Sopi ). The problem is to find a state which is the "most interesting" in the sense of appreciation ju. Notice uij = ju (Aj,Sopi), which expresses the utility for agent Aj regarding the state Sopi If pi is the plan completing the transition: (So Sopi)/pi then uij expresses the utility of the plan for the agent A j. We can then draw up the utilities table as following: j
,
Agents / Plans p1 ... pi ... pn
A1 U 11
U n1
...
...
Aj u 1d ... u ij
...
u nj
...
An u 1n u in u nn
Note: Some plans may be neutral (no action) Our problem is then to decide on a plan among all proposals: Expressed in this form, the problem can be solved in a centralized manner by mathematical models and techniques using multiple criteria. But often this "helps to decide" and not "decide". These techniques establish a global order on the opportunities and it is up to a decision maker (human) to decide. When there are multiple decision makers, opportunities are subject to debate and the solution may be a compromise between different makers. If we consider agents as decision makers, seeking compromise uses several other techniques including multiple criteria models. 3.3.1 Models, Methods and Selection For nearly forty years, this type of problem has attracted the attention of the scientific community from several disciplines, including operations research and artificial intelligence, and interest in this field has increased during the last ten years [23]. It should be noted that the solution of a CSP is not necessarily the optimal solution [25]. A CSP problem can be solved in multiple ways: specific heuristic, genetic algorithm, multicriteria approach, etc... ([24], [26], [27], [28]) or negotiation
265 International Journal of Research and Reviews in Computer Science (IJRRCS)
Multicriteria techniques The decision is a problem solved mathematically by multicriteria methods: Borda: For each decision maker, we established the rank of each object. Then you add up all the rows of each object in order to obtain a global rank. Condorcet An object xi is preferred to an object xj if the number of decision makers for which xi dominates xj is strictly greater than the number of those for which xj dominates xi xi is indifferent to xj if we have the same number of decisionmaker for "agree" or "don’t agree" Other methods of decision: Over-classification methods: ELECTRE I, II, III, IV Lexicographical methods. Methods "Fuzzy" Pre-topological methods. ... Limitations of the MCA The difficulties of choosing the actions or alternatives to be studied, to set benchmarks and produce rubrics are not to be underestimated. The lack of reliable data over a sufficient time to develop and validate methods may also prove to be a handicap in some situations. The difficulty of aggregation by utility functions: how to aggregate two actions scored 8 and 6 by an agent and 4 and 7 by another agent with a weighting system difficult to implement since it seeks to optimize the end of account. We must therefore find a compromise by negotiating cooperation.
Vol. 2, No. 1, March 2011
preferences for decision makers. For Bonnevey’s system decision’s makers are cognitive agents debating against other agents for achieving a consensus on two proposals. ( Xi , Xj) is the couple of proposals for evaluation, and dk a decision maker. In his approach, Bonnevay defines beliefs as follows: Pk ( Xi , Xj) = 1 dk prefer Xi to Xj Pk ( Xi , Xj) = 2 dk prefer Xj to Xi Pk (Xi, Xj) = e Xi and Xj are equals for dk Pk ( Xi , Xj) = a dk has no preference for this pair .
The various beliefs of agents can possibly change during the debate by the influences of the agents involved to defend their proposals. Changes according Bonnevay beliefs are based on 3 values: +1: Positive Influence -1: Negative influence 0: No influence
Aggregation through negotiation Negotiation is the search for agreement, focusing on material interests or quantifiable issues between two or more people (we do not negotiate with ourselves, we shall discuss), in a limited time. Negotiation is a technique of conflict resolution. Indeed, a conflict can be resolved within a multi-agent system by monitoring rules reflecting arbitration (in the case of reactive agents) or to obtain an agreement from a negotiation process (in the case of cognitive agents). The structure of a negotiation between two agents, A and B, is as follows: A made a proposal B evaluates the proposal, determines the satisfaction that results If B is satisfied, we stop there, otherwise B will develop a proposal based on its own goals and constraints We're going by exchanging the roles of A & B Two main types of negotiation: Negotiating a compromise: Each party releases the least important constraints, and there is agreement when all constraints are satisfied Negotiation integral: Seeking to identify the goals deep (change order), then find a solution that completely meets these goals and not the less important proposals 3.4 Adopted method It is inspired from the multi-agent approach of Bonnevey [17], consisting in aggregating individual
Figure 5: diagram of influence between agents 3.4.1 Preference function - Agent utility function We specify here the calculation for the utility u A agent regarding a proposed plan p by agent A i. Although it is difficult to model this evaluation using a quantitative basis, it is necessary to consider some clues: ij
j
i
Satisfaction rate constraints on the agent Rate of potential use. Overall satisfaction. Satisfaction rate of clicks (Officers who are related)
a. Rate definition S is the current situation, Either an action ai / ai(S) = Si We call satisfaction relative to Si:: rij = 1 - |CjSi|/|CAj| Called utilization in Si : zij = |ZSAj|/|E| Called overall satisfaction in Si: : gi = 1 - |CSi|/|C| b. Utility We can model the utility of the action of the agent by agent Ai A j using a linear combination as follows:
uij
=
w1j*rij
+
w2j*zij
+
w3j*gi
266 International Journal of Research and Reviews in Computer Science (IJRRCS)
Vol. 2, No. 1, March 2011
The value w1j*rij + w2j*zij expresses the interest of the agent Aj The value w3j*gi expresses the overall interest We consider:
upij = w1j*rij + w2j*zij ugij = w3j*gi
Plan A ? Plan B
If w1j = w2j = αj and w3j = β j then uij = αj *u ij + β j *u ij With: β j = 1 - αj More the self-interest is privileged, more we lose interest in the global interest and vis-versa (α αj ∈ [0,1]) p g Finally: uij = αj *u ij + (1 - αj)*u ij p
g
Each agent Ai can adopt a strategy (choice of αj) in the calculation of its preferences (Exp αj = ½ as neutral strategy) 1) - The preference function It builds on the approach Stephane Bonnevay [17] and we define our preference function as follows: Each agent k also has a fk preferably defined as follows: Are: P the set of proposed plans A = {(pi, pi) / pi in P} = Set of self preferences Uij = utility of the action of the agent Ai by agent Aj
fk : P x P - A {1,2,e,a} (pi, pj) fk (pi, pj) f k (p p j) = 1 if Uik> Ujk: The agent i prefers the action k more than the action j f k (p p ) = 2 if Uik Caxy If da is negatively influenced, and has the same preference as the agent involved, his conviction is decreasing: f (Caxy)
Caxy Depending on the nature of the problem, the change of belief can be modelled by a function. In [1] Bonnevay choses the model f(x) = xp with p=1/2, p=1 and p=2: In the case of a positive influence, p is set to 1/2, and to 2 in the case of a negative influence, and as 1 for a neutral influence. The deliberation procedure is as follows: After each negotiation of couple of plans, a new debate is starting between the winning plan and another plan designated by the supervisor. This procedure is repeated until all plans proposed are viewed and the final plan is chosen for the next move: Let P be the set of the remaining plans Let Pmin be the set of rejected plans (initially empty) 1.For each (Pi, Pj) in P do Deliberate (Pi, Pj) / / function deliberation between two detailed plan later in the article StoreRejectedPlan () / / Function to store rejected plans in Pmin End for 2.Move () / / Move according to the winner plan 3. Go to 1.
267 International Journal of Research and Reviews in Computer Science (IJRRCS)
Vol. 2, No. 1, March 2011
After selecting a couple, the supervisor should initiate the debate by appointing an agent involved (We choose the agent with maximum constraints not met)
participates in the negotiated resolution of the problem with other SABDI (each may have a potential solution of the problem).
Algorithm deliberation (Deliberate Function)
4.1.2 Description of the components of a SABD The components of a SABDI are expressed according to Figure 7, as follows:
Let (Pi, Pj) be couple of P to deliberate Let A be the set of agents (actors of deliberation) 1. DesignateAgent (Ad) / / Function allowing supervisor to designate an agent from A to defend his preference among the two plans 2. For each Ai de A PublierConviction (Ad) / / The designated officer shall publish the value of his conviction, and argues his preference by giving the impact on constraints (global and local) changerConviction (Ad, Ai) / / The designated agent changes the belief of other agents, and returns the new value of belief (Change can be positive, negative or neutral) End for.
4. BDI adopted architecture In this section, we define our approach and formally describe the proposed system components 4.1 Agent proposed generic The centrepiece of our proposed MAS architecture is a BDIlike agent. A BDI contains: - A set of beliefs (Beliefs) on the environment and its - A set of desires, which may be contradictory, - A set of intentions, goals, preferences (non-contradictory) The control mechanism of a BDI agent is based on: - Perception of changes in the environment - Updated beliefs - Taking into account the desire to meet - Production of intentions generating activities in the environment
- "Belief Base" Space E is represented predicate p space (dimensions), characteristics of the object by placing module (identificateur_Objet, Size, Place). The constraints are expressed by relations of type: contrainte_i (Argument_i, Exppressions_i) and the objectives are represented by objectif_i (Arguments_i, expression_). - "Plan Basics," "Action Base" and "Basic Rules" To solve his problem SABDI has a set of plans, solving algorithms, The rewriting of constraints and objectives, scheduling objects to place, Determination of dynamic fields validation of variables (places). Conflict resolution process and questioning, communication and negotiation protocols. - "Goal Base" and "Goal Planning Rule Base" AIM Global: overall, the agent tends towards validation of an occupation that satisfies all the constraints agents Local PURPOSE: The agent works to meet its own constraints. - "Deliberation Process" The component that collects all information, through communication with the supervisor agent, other components SABDI and the external environment during the deliberation. 4.1.3 Solving the Problem by SABDI Referencing to Article [29], it is clear that SABDI is an autonomous decision-making, so a solution is possible using a single agent in individual action The approach SABDI in his individual action can be summarized as follows: Load data from a problem Plan Rewrite Scheduling Placement process: determining the choice of valid domain and position vis-à-vis targets End investment: all objects are placed (Success) Object not set: analysis and questioning of certain objects placed (Replacement Plan) Object not placed and replacement plan fails (Fin Placement Stoppers)
Figure 7: Architecture of a BDI 4.1.1 The agent SABDI We present here the generic agent SABDI (Solver Architecture BDI) used to solve problems of occupation of space. It is developed to act on two types of shares: individual or collective. In the first, SABDI can support fully the problem and solve it using an appropriate procedure among existing methods resolution CSP problems. Collective mode, SABDI
4.2 The multi-agent system This type of resolution has the disadvantage of consuming time and load the knowledge base of a single agent, who must deal with all the objects and constraints, which makes the problem complicated is greedy (time and resources) with a consistent number of objects and constraints.
268 International Journal of Research and Reviews in Computer Science (IJRRCS)
Pb1
Pb = Pb1 + Pb2 + Pb3
?
Pb2 ?
?
Pb3 ?
Distributed resolution Multi-Agent Collective decision
Centralized resolution Single-Agent Individual decision
Vol. 2, No. 1, March 2011
In step resolution, it manages the communication between solver agents: The supervisor agent asks the proposals, decides on the strategy of deliberation and means to discuss the proposals. During deliberation, it is also the agent supervisor who manages the interferences between solver agents. At the end of the resolution, it supports the analysis and solution delivery (final result): It triggers a voting procedure in case of dispute between the agents (disagree), or deliver a final solution as output.
Figure 8: Distributed resolution To address these limitations, and many others, we made the transition from individual behavior to collective behaviour. Our system SMA consists of a supervisor agent whose role is the user interaction and coordination between solver agents to achieve an optimal solution. A solver agent is a SABDI type agent dealing only place of a single object. 4.2.1 MAS Architecture Our AMS system consists of a staff supervisor whose role is the user interaction, coordination between agents "solvers" type SABDI. In this architecture a SABDI deals only an object to place, but it may offer a solution when it has all problem data. Agents can communicate through the resolver, but they can communicate with each other for certain types of information (ie information from its current position).
4.2.1.2. The Solver Agent SABDI An agent solver is the main entity of the resolution, which communicates firstly with the supervisor to provide express its belief or be ordered to intervene to debate and also with the other solvers for belief change, share information and update their knowledge base after a possible move. The operation of a solver agent is as follows: SABDI agent proposes a displacement in first, then its usefulness and expresses its conviction for proposals from other agents. During deliberation, the solver agent affects other agents by changing their beliefs. 4.2.2 The general algorithm of resolution
Supervisor
Supervisor - Solver communication
Solver
Solver - Solver communication
Initialization: Initial state S0; Max_Rounds: the max number of rounds of deliberation authorized k = 0; While (Not Satisfactory (Sk)) and (k