• No results found

Distributed Constraint Satisfaction Problems – Systematic Review

N/A
N/A
Protected

Academic year: 2020

Share "Distributed Constraint Satisfaction Problems – Systematic Review"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Distributed Constraint Satisfaction Problems

– Systematic Review

1Apoorva Shukla, 2Rinkaj Goyal

1M.Tech (CSE) IV Semester, University School of Information Technology, G.G.S I.P. University 2Astt. Professor, Dept. of C.S.E., University School of Information Technology, G.G.S I.P. University

1[email protected], 2[email protected]

ABSTRACT

Constraint Satisfaction problems are well known problems in theoretical computer science and social sciences, and its variance, Distributed constraint Satisfaction problem is a major thrust of research nowadays. A constraint satisfaction problem can be modeled with following some rules and finish the job assigned to them keeping the constraint followed. In distributed constraint satisfaction problem this final job is distributed among many nodes which are referred as agents in literature, and through mutual communication among them they have to finish the assigned job. Many algorithms are proposed to solve these problems, some of them are studied in this paper and an empirical comparison is concluded at the end of this paper.

KEYWORDS

Agents, Multi Agents, Constraints, DisCSP.

1. INTRODUCTION

A Constraint satisfaction problem (CSP) is to find a consistent assignment of values to variables under the given constraint. Well known n-queen problem is a constraint satisfaction problem wherein the objective is to place n chess queens on a board with n x n squares so that these queens should not face each other vertically, horizontally or diagonally. The objective is to find a configuration that satisfies the given conditions (constraints). Many traditional artificial intelligence problems can be modeled as constraint satisfaction problems [2], and due to this reason, the research on CSP has a long and distinguished history in AI.

A distributed CSP is a CSP in which variables and constraints are distributed among multiple automated agents. Various application problems in Multi-agent Systems (MAS), are concerned with finding a consistent combination of agent actions e.g., distributed resource allocation problems [1], distributed scheduling problems [2], distributed constraint optimization problems [12], distributed propositional

satisfiability problem [11]. Therefore, we can consider distributed algorithms for solving distributed CSPs as an important infrastructure in MAS.

In this paper we are presenting a systematic review of the existing DisCSP solving algorithms.

2. PROBLEM FORMULATION

Lemma 1: Formally, A CSP has three components:

1) Finite set of variables, x={x1, x2, …, xn};

2) Domain set D, containing a finite and discrete domain for each and every variable: D={D1, D2, …, Dn}, xi Di=d1, d2,…, d|Di |, i=1, 2, …, n ;

3) A constraint set, C = {C1(x1), C2(x2)… Cm(xm)}, where xi, i=1, 2, …, m is a subset of x, and Ci(xi) denotes the values that the variables in xicannot take simultaneously. For example, given a constraint C({x1, x2})=ۃd1, d2ۄ, it means when x1=d1, d2 cannot be assigned to x2, and when x2=d2, d1 cannot be assigned to x1 [13].

Thus, the search space of a CSP, S, is a Cartesian product of

the n sets of finite domains, namely, S=DD2×…×Dn. A solution for a CSP, ss1, s2…snۄ S, is an assignment to all variables such that the values satisfy all constraints [13]. These types of the CSPs are typically known as the

Hard CSPs. Other variances of this problem as found in literature are as follows:

Lemma 2: A valued CSP is defined by a classical CSP (X, D, C), a valuation structure S = (E, , ), and an

(2)

An assignment A of values to some variables x is a subset of y can now be simply evaluated by combining the valuations of all the violated constraints using :

Lemma 3: When original constraint problem is altered in some way then Dynamic CSPs are useful. A sequence of

static CSP can be viewed as DCSPs, each one a transformation of the previous one in which variables and constraints can be added (restriction) or removed (relaxation). Information found in the initial formulations of the problem can be used to refine the next ones.

Lemma 4: Classic CSPs treat constraints as hard, meaning that they are imperative and inflexible. Flexible CSPs

relax those assumptions, partially relaxing the constraints and allowing the solution to not comply with all them. Some types of flexible CSPs include:

MAX-CSP, where a number of constraints are allowed to be violated, and the quality of a solution is

measured by the number of satisfied constraints.

Weighted CSP, a MAX-CSP in which each violation of a constraint is weighted according to a predefined

preference.

Fuzzy CSP model constraints as fuzzy relations in which the satisfaction of a constraint is a continuous

function of its variables' values, going from fully satisfied to fully violated.

Lemma 5: A distributed CSP is, in which the variables and constraints are distributed among automated agents.

Finding a value assignment to variables that satisfies inter agent constraints can be viewed as achieving coherence or consistency among agents. Achieving coherence or consistency is one of the main research topics in MAS. As described in Section 4, various application problems in MAS can be formalized as distributed CSPs, by extracting the essential part of the problems. Once we formalize our problem as a distributed CSP, we don't have to develop the algorithms for solving it from scratch, since various algorithms for solving distributed CSPs have been developed [3].

There are some assumptions [3] that are taken before working on these algorithms. These are as follows I. Every agent has one and only one variable associated to it.

II. They communicate with each other via messages only.

III. Messages are delivered in the same order in which they were sent. IV. The delay between the messages is finite but random.

V. All constraints are binary.

VI. Each agent knows all constraint predicates relevant to its variable.

Every agent tries to determine its constraint value which will satisfy its all constraints. However, there exist inter-agent constraints, and the value assignment must satisfy these inter-inter-agent constraints. Formally, there exist m inter-agents 1, 2….m. Each variable xj belongs to one agent i (this relation is represented as belongs (xj, i)). Constraints are also distributed among agents. The fact that an agent l knows a constraint predicate pk is represented as known (pk, l).

We say that a Distributed CSP is solved if the following conditions are satisfied

 For every i, for every xj where belongs (xj, i), the value of xj is assigned to dj, And for every r, for every pk where known (pk, r), pk is true under the assignment xj = dj.

3. SOLVING TECHNIQUES FOR DISCSP

The reported algorithms for solving DisCSP can be categorized into following:

I. TRADITIONAL APPROACH

Makoto Yokoo proposes the first ever algorithm known as distributed asynchronous backtracking (ABT) [4, 5]. Some others are as follows:

 Asynchronous Weak Commitment Search  Synchronous Backtracking

 Distributed Breakout algorithm

II. EVOLUTIONARY METHOD

There are basically two types of algorithms are proposed

(3)

kind of representation does not support the standard crossover functions. Therefore a number of order-based crossovers have been invented so that the children of permutations are permutations as well [14, 16].

Brief discussion of algorithms under these categories is presented here

3.1. ASYNCHRONOUS BACKTRACKING ALGORITHM

The asynchronous backtracking algorithm [4, 5] is a distributed asynchronous version of a backtracking algorithm. The main message types communicated among agents are “ok?” messages to communicate the current value, and “nogood” messages to communicate a new constraint.

In the asynchronous backtracking algorithm, the priority order of variables/agents is determined, and each agent communicates its tentative value assignment to neighbouring agents via ok? messages. Each agent maintains the current value assignment of other agents from its viewpoint called agent view. The priority order is determined by the alphabetical order of the variable identifiers, i.e., preceding variables in alphabetical order have higher priority. An agent changes is required to change its assignment if its current value assignment is not consistent with the assignments of higher priority agents. However, if there exists no value that is consistent with the higher priority agents, a new constraint is generated by the agent (called a nogood), which further communicates the nogood to a higher priority agent; resulting in a change in value of the higher priority agent.

The completeness of the algorithm (i.e., always finds a solution if one exists, and terminates if no solution exists) is guaranteed [5]. The outline of the proof is as follows. First, we can show that the highest priority agent x1, never falls into an infinite processing loop. Then, assuming that agents x1 to xk-1 (k > 2) are in a stable state, we can show that agent xk never falls into an infinite processing loop. Hence by Mathematical Induction we can prove that the agents never fall into an infinite processing loop. The original algorithm is as follows,

 First of all the highest priority node sends the ok? with its current assignment value to all the other nodes.  When agents received any ok? message it adds this ok? message to its local_view and then checks for the

consistency.

 When the local_view and current value of the agent are contradictory they look for their view domains, if view domain has all the contradictory values then backtrack to find out new constraint, else otherwise choose one value which is consistent with the local view and multicast the ok? Message to the neighbors.  While generating any nogoods a track is maintained that if nogood set is blank then no solution is

broadcasted and the algorithm is terminated, or else otherwise nogood to the lowest priority node in the nogood is forwarded..

 Upon receiving any nogood message the local view is updated by adding that nogood to it, and if that nogood has any agent which is not the neighbour node, receiver’s neighbour list is updated, and a check for consistency is done.

 Algorithm terminates when all the nodes have consistent values for their variables.

3.2. ASYNCHRONOUS WEAK-COMMITMENT

In order to reduce the risk of making bad decisions, the asynchronous weak-commitment search algorithm [4, 5] introduces the concept of min-conflict heuristics. Furthermore, the agent ordering is dynamically changed so that a bad decision can be revised without performing an exhaustive search.

Initially two types of messages are transferred between agents in this algorithm, namely ok? and nogood messages. In ok? messages, agents communicates each other their current assignments and new constraints are generated using nogood messages. This algorithm has following few key terms that leads to the accuracy of this algorithm, which are as follows:

Priorityvalue- A priority value is associated with each each variable and agent, which are communicated

through ok? messages. Priority orders are directly proportional to the priority values.

 If no consistency is found between the current value and the current local view of the agent, i.e., some constraint with variables of higher priority agents is not satisfied, the agent changes its value using the min conflict heuristic.

 In case no consistent value with its local or agent view exists, a nogood message is generated followed by an increment in its priority value. In addition to it, if that agent is unable to generate a new nogood, its priority value will not change but will wait for the next message.

(4)

 Upon receiving ok? message all the agents add that message to their local view and a checks for the consistency with that assignment is made.

 Their current value is chosen to check the consistency. If the current value is inconsistent and also if the domain for the assignment is empty, a new nogood is generated by backtracking. Otherwise any value d from domain which is consistent with the current agent view is selected and d minimizes the number of constraint violations with lower priority agents, and send the ok? message to all the other neighbors.

 While generating the new nogoods (constraints), agent first generates any new nogood V and checks whether V is empty or not. If it is empty then there is no solution to the problem, otherwise they send that nogood message to the lowest priority node in the nogood and increase their priority value.

 And then send the ok? Message with new nogood and current priority to all the other nodes which are the neighbours.

3.3.SYNCHRONOUS BACKTRACKING ALGORITHM

This algorithm is usually called Synchronous Backtracking Algorithm (SBT). It is clear that no two agents are performing computations at the same time in SBT. It is also correct; by a clear analogy to chronological backtrack. This naive algorithm is the base point for all distributed algorithms. The main drawback Yokoo was seeking to improve was the idleness of agents through most of the search. He has done so by allowing agents to perform computations asynchronously. But idleness of agents is not the major flaw in SBT. By using BackJumping we can improve immensely the performance of SBT though the algorithm stays synchronous. SBT defines a base line from which algorithms which exploit the asynchronous nature of the problems are developed. One approach, asynchronous search, was investigated extensively during the last decade. Other approaches, which used some

coordination among agents in order to explore different parts of the search space concurrently, or to use one variable ordering according to a selected heuristic, and to avoid computation against inconsistent partial assignment were suggested, tested, and found very effective.

The original algorithm is as follows:  Order all agents.

 Let agent #1 (A1) perform an assignment to its variable.  Next, agent A1 sends the assignment on a message to agent A2.  Every agent awaits a message from the agent before it.

 When agent Ai receives the message, it attempts to assign its variable, such that all constraints with former assigned variables are satisfied.

 If a compatible assignment is found, agent Ai adds it to the message and sends the message agent Ai+1.  If not, it sends the same message back to agent Ai-1.

 A solution is reached when the last agent (An) finds an assignment for its variable.

 A no-solution is declared after the first agent (A1) receives a backtrack message on its last value, i.e., its domain empties.

3.4.ASYNCHRONOUS BREAKOUT ALGORITHM

Hirayama and Yokoo presented distributed breakout algorithms for solving the DisCSP [7]. These are inspired by the breakout algorithm for the (centralized) CSP [6, 8]. This section describes the simplest distributed breakout algorithm on a high level. The algorithm, called Single DB, is designed for the setting in which every agent holds one variable and its related constraints. It consists of three main operations:

1. Core operation: At the onset of the algorithm each agent selects a starting value for their variables and

communicates the same with their neighbors. It’s an iterative process which ends when a solution is found or until a predetermined upper bound is reached. Each agent chooses that value which will maximize the reduction in local cost. Then this information is exchanged between the agent and its neighbors and the agent that can realize the highest improvement gets to change its value, the other agents must stick with their current values.

2. Breakout operation: When agents come to know that they are in a state where not all constraints are

(5)

3. Termination detection: A counter tracking of how far in the neighborhood agents are completely

satisfying all constraints is maintained. When this counter reaches a distance that covers all of the agents, then no more constraints are violated and so a solution to the DisCSP is found.

3.5.EVALUTIONAY METHODS

The basic idea of this approach is to divide the set of constraints in the CSP into two subsets. One subset is represented directly in the allowability condition and the GA is adapted by defining suitable genetic recombination operators that respect this condition. [18]

Hence every agent satisfies the constraints in the allowablity conditions, and the fitness function represents the other subset of the constraint.

For instance, one can define the fitness as the number of satisfied constraints in the second subset. In this case, candidates with maximal fitness satisfy all the constraints of the second subset. Thus, the (allowed) individuals with maximal fitness are solutions of the given CSP. The fitness should thus measure to what extent the constraints are satisfied. This can be achieved in a number of ways. For technical reasons, this is assumed that the fitness value is always positive, and the fittest element has 0 as fitness value. The most straightforward possibility is to consider the number of violated constraints. This measure, however, does not distinguish between difficult and easy constraints. A difference between constraints can be reflected by assigning weights to the constraints [14, 15, 18]

4. EMPIRICAL INVESTIGATION OF THE ALGORITHMS

An empirical evaluation can be made of these algorithms on the following parameters.

4.1.MODE OF APPLICATION

Except SBT all the other algorithm are asynchronous in nature, which leads to the conclusion that all the agents communicate with each other simultaneously, which saves a lot of time in terms of the operation of the algorithms, unlike in SBT where all the other agents have to wait for the one who is sending messages at a particular time and hence, most of the time gets wasted in waiting only.

4.2.COMPLETENESS OF THE ALGORITHM

The completeness of the algorithm (i.e., always finds a solution if one exists, and terminates if no solution exists) is guaranteed [9]. The outline of the proof is as follows. First, we can show that the highest priority agent x1, never falls into an infinite processing loop. Then, assuming that agents x1 to xk-1 (k > 2) being in a stable state, it can be shown that agent xk never falls into an infinite processing loop. Therefore by Mathematical Induction, we can prove that the agents never fall into an infinite processing loop. Similarly, in distributed weak commitment search algorithm, priority values are changed if and only if a new nogood is found. As the number of possible nogoods is finite, the priority values cannot be changed infinitely. Therefore, after a certain time point, the priority values will be stable. If the priority values are stable, it can be concluded that the asynchronous weak-commitment search algorithm is basically identical to the asynchronous backtracking algorithm. Since the asynchronous backtracking is guaranteed to be complete, hence it follows that the asynchronous weak-commitment search algorithm is also complete.

4.3.NUMBER AND TYPES OF MESSAGES

Asynchronous backtracking algorithm uses two kinds of messages namely, ok? and nogood. ok? messages are used to communicate the currently assigned values to all the neighbour agents and nogood message is only used to generate a new constraint. While in weak commitment search, ok? messages are used to communicate the currently assigned values as well as the current priority value of the sending agents, and nogood messages are same as they were in ABT. Breakout algorithm also uses two messages called as the ok? and improve messages. ok? messages are again used to communicate the current values and improve messages are used to communicate the possible improvement of the evaluation values.

4.4.INFORMATION IN AGENT VIEW

(6)

assignments and determines their consistency with the current agent view and its own currently assigned values. Information in agent view of ABT may be obsolete. In other words, since each agent acts asynchronously and concurrently and agents communicate by sending messages; the agent view may contain obsolete information. Even if xi's agent view says that xj 's current assignment is 1, xj may already have changed its value. SBT has no such problem. However the drawback being that it is very slow and time consuming algorithm.

4.5.ORDERING OF THE AGENTS

All the agents are completely ordered in asynchronous versions of these algorithms but SBT has no provision for such ordering. In ABT the priority order of variables or agents are determined in their alphabetical order of variable identifiers that is, preceding variables in alphabetical orders have higher priority values, but this priority assignment scheme is hardcore and suffers from some drawbacks. If the value selection of a higher priority agent is bad, the lower priority agents are supposed to perform an exhaustive search to revise the bad decision. The asynchronous weak-commitment search algorithm [4, 9] introduces the min-conflict heuristic to reduce the risk of making bad decisions. Furthermore, the agent ordering is dynamically changed so that a bad decision can be revised without performing an exhaustive search [10].

4.6.NATURE OF THE CONSTRAINTS

Except the breakout algorithm nature of constraints is similar in every algorithm, they are non weighted and have no priority values assigned for them, only agents are prioritized in other algorithms, but in breakout algorithm a weight is defined for each constraint, and the summation of the weights of constraint violating pairs is used as an evaluation value. To guarantee that the evaluation value is improved, neighboring agents exchange values of possible improvements, and only the agent that can maximally improve the evaluation value is given the right to change its value. Note that if two agents are not neighbors, it is possible for them to change their values concurrently [10].

4.7.EFFECTS OF BAD DECISIONS

One limitation of the asynchronous backtracking algorithm is that the agent/variable ordering is statically determined. If the value selection of a higher priority agent is bad, the lower priority agents need to perform an exhaustive search to revise the bad decision. The asynchronous weak-commitment search algorithm [4, 9] introduces the min-conflict heuristic to reduce the risk of making bad decisions. Furthermore, the agent ordering is dynamically changed so that a bad decision can be revised without performing an exhaustive search. Bad decisions can never be taken in breakout algorithm as their decisions are taken with the help of all the agents in the view, To guarantee that the evaluation value is improved, neighboring agents exchange values of possible improvements, and only the agent that can maximally improve the evaluation value is given the right to change its value. Note that if two agents are not neighbors, it is possible for them to change their values concurrently.

5. SUMMERY IN TABLES

In this section I am providing the summarized view of the complete paper work in the form of tables for better and easy understanding. Table 1, 2, 3, 4 are hereby containing the summery of the research. One column contains the name of the algorithm and the other is containing the parameters on which the comparisons are concluded.

PARAMETERS MODE OF OPERATION

COMPLETENESS OF ALGORITHM

ALGORITHMS

ABT Asynchronous Guaranteed

AWC Asynchronous Guaranteed

SBT Synchronous Guaranteed

BREAKOUT

ALGORITHM Asynchronous Guaranteed

(7)

PARAMETERS NUMBER OF MESSAGES

TYPES OF MESSAGES

ALGORITHMS

ABT Two messages ok? And nogood

AWC Two messages

ok? And nogood (ok? Message contains the priority

value.)

SBT Single ok? message

BREAKOUT

ALGORITHM Two messages ok? And Improve

Table 2: Final comparison between the algorithms

PARAMETERS ORDERING OF AGENTS

EFFECTS OF BAD DECISIONS

ALGORITHMS

ABT Hardcore High

AWC Dynamic Null

SBT Static High

BREAKOUT

ALGORITHM Static Low

Table 3: Final comparison between the algorithms

PARAMETERS NATURE OF

CONSTRAINTS AGENT_VIEW

ALGORITHMS

ABT Non weighted May not be

consistent

AWC Non weighted Always consistent SBT Non weighted 100% consistent BREAKOUT

ALGORITHM Weighted Always consistent

Table 4: Final comparison between the algorithms

6. CONCLUSION AND FUTURE ISSUES

In this paper an overview of existing research in distributed constraint satisfaction has been provided, a series of algorithms that can be used in solving the DisCSP has also been described, and finally a proper comparisons of those algorithms based on different parameters has also been described and the summery is also presented in form of a table for better understanding. There are many remaining research issues concerning distributed CSPs, including the following items.

 No single algorithm can solve all types of problems, so more theoretical and practical evolutions are required to clarify the characteristics of the algorithms.

 More emphasis should be given on the dynamic and real time aspects of the algorithms, as it is very likely for the agents to make their decisions under real time constraints.

 Much more work is needed to develop better algorithms, especially for multiple local variables and distributed partial constraint satisfaction problems [3].

7. REFERENCES

[1] Conry, S. E., K. Kuwabara, V. R. Lesser, and R. A. Meyer: 1991, 'Multistage Negotiation for Distributed Constraint Satisfaction'. IEEE Transactions on Systems, Man and Cybernetics 21(6), 1462{1477.

[2] Sycara, K. P., S. Roth, N. Sadeh, and M. S. Fox: 1991, 'Distributed Constrained Heuristic Search'. IEEE Transactions on Systems, Man and Cybernetics 21(6), 1446{1461.

(8)

[4] Yokoo, M.: 1995, 'Asynchronous Weak-commitment Search for Solving Distributed Constraint Satisfaction Problems'. In: Proceedings of the First International Conference on Principles and Practice of Constraint Programming (CP-95). pp. 88{102. Lecture Notes in Computer Science 976.

[5] Yokoo, M., E. H. Durfee, T. Ishida, and K. Kuwabara: 1998, 'The Distributed constraint satisfaction problem: formalization and algorithms'. IEEE Transactions on Knowledge and Data Engineering 10(5), 673-685.

[6] Tommy Messelis, Patrick De Causmaecker “Distributed breakout algorithm for the distributed propositional satisfiability problem [7] K. Hirayama, M. Yokoo: The distributed breakout algorithms. In: Artificial Intelligence, 2005, Vol. 161, pp. 89-115

[8] P. Morris: The breakout method for escaping local minima. In: Proceedings of the Eleventh National Conference on Artificial Intelligence (AAAI-93), 1993, pp. 40-45

[9] Yokoo, M., E. H. Durfee, T. Ishida, and K. Kuwabara: 1998, 'The Distributed constraint satisfaction problem: formalization and algorithms'. IEEE Transactions on Knowledge and Data Engineering 10(5), 673{685.

[10] Yokoo, M. and K. Hirayama: 1998, 'Distributed constraint satisfaction algorithm for complex local problems'. In: Proceedings of the Third International Conference on Multi-Agent Systems.

[11] Tommy Messelis, Patrick De Causmaecker, Distributed breakout algorithm for the distributed propositional satisfiability problem. [12] Pragnesh Jay Modi, Wei-Min Shen, Milind Tambe, “ADOPT: Asynchronous Distributed Constraint Optimization with Quality

Guarantees”.

[13] Weicai Zhong, Jing Liu, and Licheng Jiao “A Multiagent Evolutionary Algorithm for Constraint Satisfaction Problems”.

[14] Starkweather, T., Mc Daniel, S., Mathias, K., Whitley, D. and Whitley, C., A comparison of genetic sequenceing operators, In Proc. of Int. Conference on Genetic Algorithms-91, 1991, pp 69-76.

Figure

Table 1:  Final comparison between the algorithms
Table 2:  Final comparison between the algorithms

References

Related documents

Identification of camel milk and shubat microflora provides a theoretical foundation for developing starter cultures by using local LAB strains for industrial production of

The aim of this study is to compare the CALPUFF and LAMBDA models and evaluate the regulatory model CALPUFF accuracy in situations of line instant source emissions.. Line

Given that Bodt’s data was missing po- tentially crucial witnesses for a historical reconstruction of the subgroup, and List just finished his draft on the algorithm that could be

This being said, even with state-of-the-art techniques, there are a few patients with very severe Moyamoya disease, in which ASL imaging of CBF is practically

The progressive introduction of IL bonds denominated in euros and with an indexation to the euro-area HICP has made it possible to extract the in‡ation compensation, also known

• develop and practice essential project management skills needed to design a project development and implementation plan; • develop skill in use of project management tools

In both settings, when a monopolist adds the new product total quantity stays unchanged, so this is not the source of divergence... and not buying at all, hence gets zero surplus.

Blended learning, when it is the “ thoughtful integration of classroom face-to-face learning experiences with online learning experiences” (Garrison & Kanuka, 204, 96),