This is an old revision of this page, as edited by SyntaxPC(talk | contribs) at 00:31, 3 March 2006(Fixed up the definition and added an example.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.Revision as of 00:31, 3 March 2006 by SyntaxPC(talk | contribs)(Fixed up the definition and added an example.)
is a set of domains, , where each is a finite set containing the values to which its associated variable my be assigned;
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 's responsibility to assign the value of variable . 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 for a given assignment of the variables.
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
returns 0 in all but the following cases:
(i.e. whenever equals the value of , the cost is infinite)