Distributed constraint optimization

This is an old revision of this page, as edited by SyntaxPC (talk | contribs) at 13:57, 27 April 2007 (Added a definition of "context".). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Distributed constraint optimization (DCOP) 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 either minimized or maximized.

Definitions

DCOP

A DCOP can be defined as a tuple  , where:

  •   is a set of agents;
  •   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;
  •   is function[1][2]
     
    that maps every possible variable assignment 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:
     .

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

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)
    •  
    •  
    •  
    •  
    •  
    •  
  •  

The objective, then, is to minimize  .

Notes

  1. ^ " " denotes the power set of  
  2. ^ " " and " " denote the Cartesian product.