Improving function filtering for computationally demanding DCOPs Marc Pujol-Gonzalez, Jesus Cerquides, Pedro Meseguer, and Juan Antonio Rodriguez-Aguilar Artificial Intelligence Research Institute (IIIA-CSIC), Universitat Aut`onoma de Barcelona, E-98324 Catalonia (Spain) {mpujol,cerquide,pedro,jar}@iiia.csic.es http://www.iiia.csic.es/ Abstract. In this paper we focus on solving DCOPs in computation- ally demanding scenarios. GDL optimally solves DCOPs, but requires exponentially large cost functions, being impractical in such settings. Function filtering is a technique that reduces the size of cost functions. We improve the effectiveness of function filtering to reduce the amount of resources required to optimally solve DCOPs. As a result, we enlarge the range of problems solvable by algorithms employing function filtering. 1 Introduction Distributed constraint optimization (DCOP) is a model for representing multi- agent systems in which agents cooperate to optimize a global objective. There are several complete DCOP algorithms that guarantee global optimality such as ADOPT [7], DPOP [8], and its generalization GDL [1, 13]. Since DCOPs are NP-Hard [7], solving them requires either an exponential number of linear size messages (ADOPT), or a linear number of exponentially large messages (DPOP, GDL). Nonetheless, some application domains are specially resource constrained. For instance, in wireless sensor networks, memory, bandwith, and computation are severely limited [15]. As computational requirements grow, so does the rele- vance of resource constraints. Hence, in this paper we focus on computationally demanding scenarios. An approach in these domains is to drop optimality in favor of lower complexity approximate algorithms with weaker guarantees [10]. As an alternative, we aim at reducing resource usage while keeping optimality. Function filtering [12] is a technique that reduces the size of cost functions by filtering out those tuples that are found unfeasible to be extended into an optimal solution. Function filtering can be applied to GDL, as detailed in [3], where they present the so-called DIMCTEf algorithm. Provided a lower bound on the cost of the best extension of the tuple, and an upper bound on the cost of the optimal solution, a tuple is filtered out when its lower bound is greater than the upper bound. Thus, the amount of filtered tuples strongly depends on 99