Jump to content

Distributed constraint optimization

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Erel Segal (talk | contribs) at 11:44, 12 April 2021 (DCOP: - clarify definitions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Distributed constraint optimization (DCOP or DisCOP) is the distributed analogue to constraint optimization. A DCOP is a problem in which a group of agents must distributedly choose values for a set of variables such that the cost of a set of constraints over the variables is minimized.

Distributed Constraint Satisfaction is a framework for describing a problem in terms of constraints that are known and enforced by distinct participants (agents). The constraints are described on some variables with predefined domains, and have to be assigned to the same values by the different agents.

Problems defined with this framework can be solved by any of the algorithms that are designed for it.

The framework was used under different names in the 1980s. The first known usage with the current name is in 1990. [citation needed]

Definitions

DCOP

A DCOP can be defined as a tuple , where:

  • is the set of agents, .
  • is the set of variables, .
  • is the set of variable-domains, , where each is a finite set containing the possible values of variable .
  • is the cost function. It is a function[1]
    that maps every possible partial assignment to a cost. Usually, only few values of are non-zero, and it is represented as a list of the tuples that are assigned a non-zero value. Each such tuple is called a constraint. Each constraint in this set is a function mapping a real value to each possible assignment of the variables. Some special kinds of constraints are:
    • Unary constraints - constraints on a single variable, i.e., for some .
    • Binary constraints - constraints on two variables, i.e, for some .
  • is the ownership function. It is a function mapping each variable to its associated agent. means that variable "belongs" to agent . This implies that it is agent 's responsibility to assign the value of variable . Note that is not necessarily an injection, i.e., one agent may own more than one variables. It is also not necessarily a surjection, i.e., some agents may own no variables.
  • is the objective function. It is an operator that aggregates all of the individual costs for all possible variable assignments. This is usually accomplished through summation:
    .

The objective of a DCOP is to have each agent assign values to its associated variables in order to either minimize or maximize for a given assignment of the variables.

Context

A context is a variable assignment for a DCOP. This can be thought of as a function mapping variables in the DCOP to their current values:

Note that a context is essentially a partial solution and need not contain values for every variable in the problem; therefore, implies that the agent has not yet assigned a value to variable . Given this representation, the "domain" (i.e., the set of input values) of the function f can be thought of as the set of all possible contexts for the DCOP. Therefore, in the remainder of this article we may use the notion of a context (i.e., the function) as an input to the function.

Example problems

Distributed graph coloring

The graph coloring problem is as follows: given a graph and a set of colors , assign each vertex, , a color, , such that the number of adjacent vertices with the same color is minimized.

As a DCOP, there is one agent per vertex that is assigned to decide the associated color. Each agent has a single variable whose associated domain is of cardinality (there is one domain value for each possible color). For each vertex , create a variable in the DCOP with domain . For each pair of adjacent vertices , create a constraint of cost 1 if both of the associated variables are assigned the same color:

The objective, then, is to minimize .

Distributed multiple knapsack problem

The distributed multiple- variant of the knapsack problem is as follows: given a set of items of varying volume and a set of knapsacks of varying capacity, assign each item to a knapsack such that the amount of overflow is minimized. Let be the set of items, be the set of knapsacks, be a function mapping items to their volume, and be a function mapping knapsacks to their capacities.

To encode this problem as a DCOP, for each create one variable with associated domain . Then for all possible contexts :

where is a function such that

Algorithms

DCOP algorithms can be classified according to the search strategy (best-first search or depth-first branch-and-bound search), the synchronization among agents (synchronous or asynchronous), the communication among agents (point-to-point with neighbors in the constraint graph or broadcast) and the main communication topology (chain or tree).[2] ADOPT, for example, uses best-first search, asynchronous synchronization, point-to-point communication between neighboring agents in the constraint graph and a constraint tree as main communication topology.

Algorithm Name Year Introduced Memory Complexity Number of Messages Correctness (computer science)/
Completeness (logic)
Implementations
NCBB
No-Commitment Branch and Bound[3]
2006 Polynomial (or any-space[4]) Exponential Proven Reference Implementation: not publicly released

DCOPolis (GNU LGPL)

DPOP
Distributed Pseudotree Optimization Procedure[5]
2005 Exponential Linear Proven Reference Implementation: FRODO (GNU Affero GPL)

DCOPolis (GNU LGPL)

OptAPO
Asynchronous Partial Overlay[6]
2004 Polynomial Exponential Proven, but proof of completeness has been challenged[7] Reference Implementation: "OptAPO". Artificial Intelligence Center. SRI International. Archived from the original on 2007-07-15.

DCOPolis (GNU LGPL); In Development

Adopt
Asynchronous Backtracking[8]
2003 Polynomial (or any-space[9]) Exponential Proven Reference Implementation: Adopt

DCOPolis (GNU LGPL)
FRODO (GNU Affero GPL)

Secure Multiparty Computation For Solving DisCSPs
(MPC-DisCSP1-MPC-DisCSP4)[citation needed]
2003 [citation needed] [citation needed] Note: secure if 1/2 of the participants are trustworthy [citation needed]
Secure Computation with Semi-Trusted Servers[citation needed] 2002 [citation needed] [citation needed] Note: security increases with the number of trustworthy servers [citation needed]
ABTR[citation needed]
Asynchronous Backtracking with Reordering
2001 [citation needed] [citation needed] Note: eordering in ABT with bounded nogoods [citation needed]
DMAC[citation needed]
Maintaining Asynchronously Consistencies
2001 [citation needed] [citation needed] Note: the fastest algorithm [citation needed]
AAS[citation needed]
Asynchronous Aggregation Search
2000 [citation needed] [citation needed] aggregation of values in ABT [citation needed]
DFC[citation needed]
Distributed Forward Chaining
2000 [citation needed] [citation needed] Note: low, comparable to ABT [citation needed]
DBA
Distributed Breakout Algorithm
1995 [citation needed] [citation needed] Note: incomplete but fast FRODO version 1[permanent dead link]
AWC[citation needed]
Asynchronous Weak-Commitment
1994 [citation needed] [citation needed] Note: reordering, fast, complete (only with exponential space) [citation needed]
ABT[citation needed]
Asynchronous Backtracking
1992 [citation needed] [citation needed] Note: static ordering, complete [citation needed]
CFL
Communication-Free Learning[10]
2013 Linear None Note: no messages are sent, but assumes knowledge about satisfaction of local constraint Incomplete

Hybrids of these DCOP algorithms also exist. BnB-Adopt,[2] for example, changes the search strategy of Adopt from best-first search to depth-first branch-and-bound search.

See also

Notes and references

  1. ^ "" denotes the Cartesian product.
  2. ^ a b Yeoh, William; Felner, Ariel; Koenig, Sven (2008), "BnB-ADOPT: An Asynchronous Branch-and-Bound DCOP Algorithm", Proceedings of the Seventh International Joint Conference on Autonomous Agents and Multiagent Systems, vol. 2, pp. 591–8, ISBN 9780981738116
  3. ^ Chechetka, Anton; Sycara, Katia (May 2006), "No-Commitment Branch and Bound Search for Distributed Constraint Optimization" (PDF), Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 1427–9, doi:10.1145/1160633.1160900, ISBN 1595933034, S2CID 43918609
  4. ^ Chechetka, Anton; Sycara, Katia (March 2006), "An Any-space Algorithm for Distributed Constraint Optimization" (PDF), Proceedings of the AAAI Spring Symposium on Distributed Plan and Schedule Management
  5. ^ Petcu, Adrian; Faltings, Boi (August 2005), "DPOP: A Scalable Method for Multiagent Constraint Optimization", Proceedings of the 19th International Joint Conference on Artificial Intelligence, IJCAI 2005, Edinburgh, Scotland, pp. 266-271
  6. ^ Mailler, Roger; Lesser, Victor (2004), "Solving Distributed Constraint Optimization Problems Using Cooperative Mediation" (PDF), Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, IEEE Computer Society, pp. 438–445, ISBN 1581138644
  7. ^ Grinshpoun, Tal; Zazon, Moshe; Binshtok, Maxim; Meisels, Amnon (2007), "Termination Problem of the APO Algorithm" (PDF), Proceedings of the Eighth International Workshop on Distributed Constraint Reasoning, pp. 117–124
  8. ^ The originally published version of Adopt was uninformed, see Modi, Pragnesh Jay; Shen, Wei-Min; Tambe, Milind; Yokoo, Makoto (2003), "An asynchronous complete method for distributed constraint optimization" (PDF), Proceedings of the second international joint conference on autonomous agents and multiagent systems, ACM Press, pp. 161–168. The original version of Adopt was later extended to be informed, that is, to use estimates of the solution costs to focus its search and run faster, see Ali, Syed; Koenig, Sven; Tambe, Milind (2005), "Preprocessing Techniques for Accelerating the DCOP Algorithm ADOPT" (PDF), Proceedings of the fourth international joint conference on autonomous agents and multiagent systems, ACM Press, pp. 1041–8, doi:10.1145/1082473.1082631, ISBN 1595930930, S2CID 10882572. This extension of Adopt is typically used as reference implementation of Adopt.
  9. ^ Matsui, Toshihiro; Matsuo, Hiroshi; Iwata, Akira (February 2005), "Efficient Method for Asynchronous Distributed Constraint Optimization Algorithm" (PDF), Proceedings of Artificial Intelligence and Applications, pp. 727–732, CiteSeerX 10.1.1.408.7230
  10. ^ Duffy, K.R.; Leith, D.J. (August 2013), "Decentralized Constraint Satisfaction", IEEE/ACM Transactions on Networking, 21 (4): 1298–1308, arXiv:1103.3240, doi:10.1109/TNET.2012.2222923, S2CID 11504393

Books and surveys