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. Assignments A value assignment is a pair where is an element of the domain . A partial assignment is a set of value-assignments where each appears at most once. It is also called a context. 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" (that is, 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. A full assignment is an assignment in which each appears exactly once, that is, all variables are assigned. It is also called a solution to the DCOP. An optimal solution is a full assignment in which the objective function is optimized (i.e., maximized or minimized, depending on the type of problem). Example problems Various problems from different domains can be presented as DCOPs. 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 , there is a variable with domain . For each pair of adjacent vertices , there is 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