User:SyntaxPC/Distributed constraint optimization
From Wikipedia, the free encyclopedia
Distributed constraint optimization (DCOP) is the distributed analogue to constraint optimization.
[edit] Definition
A DCOP can be defined as a tuple , where:
- A is a set of agents;
- V is a set of variables, ;
- is a set of domains, , where each is a finite set containing the values to which its associated variable my be assigned;
- f is function (where "" denotes the power set of ) that maps every possible grouping of variable assignments to a cost. This function can also be thought of as defining constraints between variables;
- α is a function mapping variables to their associated agent. implies that it is agent aj's responsibility to assign the value of variable vi. Note that it is not necessarily true that α is either an injection or surjection; and
- σ is an operator that aggregates all of the individual costs for all possible variable assignments. This is usually accomplished through summation of the costs.
The objective of a DCOP is to have each agent assign values to its associated variables in order to either minimize or maximize σ(f) for a given assignment of the variables.
[edit] Example
Consider 3-coloring a graph; 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 3 (there is one domain value for each possible color). Given the graph , the following would be its representation as a DCOP for solving the 3-coloring problem:
- , where each
- f returns 0 in all but the following cases:
- (i.e. whenever D1 equals the value of D2, the cost is infinite)
The objective, then, is to minimize σ(f).