Third International Conference on Multiagent Systems (ICMAS-98), pp.372–379, 1998 Distributed Constraint Satisfaction Algorithm for Complex Local Problems Makoto Yokoo NTT Communication Science Laboratories 2-4 Hikaridai, Seika-cho, Soraku-gun, Kyoto 619-0237 Japan yokoo@cslab.kecl.ntt.co.jp Katsutoshi Hirayama Kobe University of Mercantile Marine 5-1-1 Fukae-minami-machi, Higashinada-ku, Kobe 658-0022, Japan hirayama@ti.kshosen.ac.jp Abstract A distributed constraint satisfaction problem can formal- ize various application problems in MAS, and several algo- rithms for solving this problem have been developed. One limitation of these algorithms is that they assume each agent has only one local variable. Although simple modifica- tions enable these algorithms to handle multiple local vari- ables, obtained algorithms are neither efficient nor scalable to larger problems. We develop a new algorithm that can handle multiple lo- cal variables efficiently, which is based on the asynchronous weak-commitment search algorithm. In this algorithm, a bad local solution can be modified without forcing other agents to exhaustively search local problems. Also, the num- ber of interactions among agents can be decreased since agents communicate only when they find local solutions that satisfy all of the local constraints. Experimental evaluations show that this algorithm is far more efficient than an algo- rithm that uses the prioritization among agents. 1 Introduction A constraint satisfaction problem (CSP) is a general framework that can formalize various problems in AI, and many theoretical and experimental studies have been per- formed [8]. In [13], a distributed constraint satisfaction problem (distributed CSP) is formalized as a CSP in which variables and constraints are distributed among multiple au- tomated agents. Various application problems in Multia- gent Systems (MAS) that are concerned with finding a con- sistent combination of agent actions (e.g., distributed re- source allocation problems [5], distributed scheduling prob- lems [11], distributed interpretation tasks [9], and multi- agent truth maintenance tasks [7]) can be formalized as dis- tributed CSPs. Therefore, we can consider distributed algo- rithms for solving distributed CSPs as an important infras- tructure in MAS. It must be noted that although algorithms for solving dis- tributed CSPs seem to be similar to parallel/distributed pro- cessing methods for solving CSPs [4, 15], research moti- vations are fundamentally different. The primary concern in parallel/distributed processing is the efficiency, and we can choose any type of parallel/distributed computer ar- chitecture for solving a given problem efficiently. In con- trast, in a distributed CSP, there already exists a situation where knowledge about the problem (i.e., variables and con- straints) is distributed among automated agents. Therefore, the main research issue is how to reach a solution from this given situation. The authors have developed a series of algorithms for solving distributed CSPs, i.e., (a) a basic algorithm called asynchronous backtracking [13], in which agents act asyn- chronously and concurrently based on their local knowl- edge without any global control, (b) a more efficient algo- rithm called asynchronous weak-commitment search [12], in which the priority order of agents is changed dynamically, and (c) distributed iterative improvement algorithms [6, 14]. One limitation of these algorithms is that they assume each agent has only one local variable. This assumption can- not be satisfied when the local problem of each agent be- comes large and complex. Although these algorithms can be applied to the situation where one agent has multiple local variables by the following methods, both methods are nei- ther efficient nor scalable to large problems. Method 1: each agent finds all solutions of its local prob- lem first. By finding all solutions, the given problem can be re-