Constraint Composite Graph-Based Lifted Message Passing for Distributed Constraint Optimization Problems Ferdinando Fioretto 1 Hong Xu 2 Sven Koenig 2 T. K. Satish Kumar 2 fjoretto@umich.edu, hongx@usc.edu, skoenig@usc.edu, tkskwork@gmail.com January 5, 2018 1 University of Michigan, Ann Arbor, Michigan 48109, United States of America 2 University of Southern California, Los Angeles, California 90089, United States of America The 15th International Symposium on Artifjcial Intelligence and Mathematics (ISAIM 2018) Fort Lauderdale, Florida, the United States of America
Summary For solving distributed constraint optimization problems (DCOPs), we develop CCG-Max-Sum, a distributed variant of the lifted min-sum message passing algorithm (Xu et al. 2017) based on the Constraint Composite Graph (Kumar 2008). We experimentally showed that CCG-Max-Sum outperformed other competitors. 1
Agenda Distributed Constraint Optimization Problems (DCOPs) The Constraint Composite Graph (CCG) CCG-Max-Sum Max-Sum and CCG-Max-Sum The Nemhauser-Trotter (NT) Reduction Experimental Evaluation Conclusion and Future Work 2
Agenda Distributed Constraint Optimization Problems (DCOPs) The Constraint Composite Graph (CCG) CCG-Max-Sum Max-Sum and CCG-Max-Sum The Nemhauser-Trotter (NT) Reduction Experimental Evaluation Conclusion and Future Work
Distributed Constraint Optimization Problems (DCOPs): Motivation Cooperative multi-agent system interact to optimize a shared goal. This can be elegantly characterized by DCOPs (Modi et al. 2005; Yeoh et al. 2012). • Coordination and resource allocation (Léauté et al. 2011; Miller et al. 2012; Zivan et al. 2015) • Sensor networks (Farinelli et al. 2008) • Device coordination in smart homes (Fioretto et al. 2017; Rust et al. 2016) 3
Distributed Constraint Optimization Problems (DCOPs) • Known to be NP-hard. 4 • There are N agents A = { a 1 , a 2 , . . . , a N } , each of which controls one or more variables in X = { X 1 , X 2 , . . . , X N } , specifjed by a mapping function α . No single variable is controlled by two agents. • Each variable X i has a discrete-valued domain D i . • There are M cost functions (constraints) F = { f 1 , f 2 , . . . , f M } . • Each cost function f i specifjes the cost for each assignment a of values to a subset x f i of the variables (denoted by f i ( a | x f i ) ). • Find an optimal assignment a = a ∗ of values to these variables so as to minimize the total cost: f ( a ) = � M i = 1 f i ( a | x f i ) .
DCOP Example on Boolean Variables 5 X 1 X 2 X 3 X 2 0 0.7 0 0.3 0 0.1 1 0.2 1 0.8 1 1.0 X 1 X 3 X 2 X 3 X 3 X 1 X 2 X 1 0 1 0 1 0 1 0 0.5 0.6 0 0.6 1.3 0 0.4 0.9 1 0.7 0.3 1 1.0 1.1 1 0.7 0.8 f ( X 1 , X 2 , X 3 ) = f 1 ( X 1 ) + f 2 ( X 2 ) + f 3 ( X 3 ) + f 12 ( X 1 , X 2 ) + f 13 ( X 1 , X 3 ) + f 23 ( X 2 , X 3 )
6 (This is not an optimal solution.) DCOP Example: Evaluate the Assignment X 1 = 0 , X 2 = 0 , X 3 = 1 X 1 X 2 X 3 X 2 0 0.7 0 0.3 0 0.1 1 0.2 1 0.8 1 1.0 X 1 X 3 X 2 X 3 X 3 X 1 X 2 X 1 0 1 0 1 0 1 0 0.5 0.6 0 0.6 1.3 0 0.4 0.9 1 0.7 0.3 1 1.0 1.1 1 0.7 0.8 f ( X 1 = 0 , X 2 = 0 , X 3 = 1 ) = 0 . 7 + 0 . 3 + 1 . 0 + 0 . 5 + 1 . 3 + 0 . 9 = 4 . 7
7 This is an optimal solution. Using brute force, it requires exponential time to fjnd. DCOP Example: Evaluate the Assignment X 1 = 1 , X 2 = 0 , X 3 = 0 X 1 X 2 X 3 X 2 0 0.7 0 0.3 0 0.1 1 0.2 1 0.8 1 1.0 X 1 X 3 X 2 X 3 X 3 X 1 X 2 X 1 0 1 0 1 0 1 0 0.5 0.6 0 0.6 1.3 0 0.4 0.9 1 0.7 0.3 1 1.0 1.1 1 0.7 0.8 f ( X 1 = 1 , X 2 = 0 , X 3 = 0 ) = 0 . 2 + 0 . 3 + 0 . 1 + 0 . 7 + 0 . 6 + 0 . 7 = 2 . 6
Agenda Distributed Constraint Optimization Problems (DCOPs) The Constraint Composite Graph (CCG) CCG-Max-Sum Max-Sum and CCG-Max-Sum The Nemhauser-Trotter (NT) Reduction Experimental Evaluation Conclusion and Future Work
Two Forms of Structure in DCOPs • Graphical: Which computationally? forms of structure How can we exploit both the variables in it? each cost function relate • Numerical: How does cost functions? variables are in which 8 X 2 X 1 Graphical Structure 0 1 0 0.5 0.6 1 0.7 0.3 X 2 X 1 X 3 X 4 Numerical Structure
Minimum Weighted Vertex Cover (MWVC) Each vertex is associated with a non-negative weight. Sum of the weights on the vertices in the vertex cover is minimized. 9 1 1 1 1 0 2 2 0 2 1 2 1 (a) ✗ (b) ✓ 1 1 1 1 2 0 2 0 2 1 2 1 (c) ✗ (d) ✗
Projection of Minimum Weighted Vertex Cover onto an Independent Set (Kumar 2008, Fig. 2) 10 1 1 X 4 X 2 X 5 X 1 0 1 1 = necessarily present in the vertex cover 0 4 7 1 3 2 X 1 X 4 X 7 0 = necessarily absent 1 5 6 from the vertex cover X 3 X 6 1 1 1 1 X 2 X 5 1 + X 1 ∞ X 4 2 X 7 X 6 X 3 1 1
Projection of MWVC onto an Independent Set Assuming Boolean variables in DCOPs • Observation: The projection of MWVC onto an independent set looks similar to a cost function. • Question 1: Can we build the lifted graphical representation for any given cost function? This is answered by (Kumar 2008). • Question 2: What is the benefjt of doing so? 11
Lifted Representation: Example 12 X 1 X 2 X 3 X 2 0 0.7 0 0.3 0 0.1 1 0.2 1 0.8 1 1.0 X 1 X 3 X 2 X 3 X 3 X 1 X 2 X 1 0 1 0 1 0 1 0 0.5 0.6 0 0.6 1.3 0 0.4 0.9 1 0.7 0.3 1 1.0 1.1 1 0.7 0.8 f ( X 1 , X 2 , X 3 ) = f 1 ( X 1 ) + f 2 ( X 2 ) + f 3 ( X 3 ) + f 12 ( X 1 , X 2 ) + f 13 ( X 1 , X 3 ) + f 23 ( X 2 , X 3 )
Lifted Representations: Example 13 X 2 X 1 X 1 0 1 X 1 0.2 X 1 0.2 X 2 0.1 0 0.7 0 0.5 0.6 1 0.2 1 0.7 0.3 A 4 0.7 A 1 0.5 X 3 X 2 X 2 0 1 X 2 0.8 X 2 0.4 X 3 0.7 0 0.3 0 0.6 1.3 1 0.8 1 1.0 1.1 A 5 0.3 A 2 0.6 X 3 X 3 X 1 0 1 X 3 1.0 X 1 0.3 X 3 0.5 0 0.1 0 0.4 0.9 1 1.0 1 0.7 0.8 A 6 0.1 A 3 0.4
Constraint Composite Graph (CCG) 14 X 1 0.7 X 2 1.3 X 3 2.2 A 1 0.5 A 3 0.4 A 4 0.7 A 5 0.3 A 6 0.1 A 2 0.6
MWVC on the Constraint Composite Graph (CCG) An MWVC of the CCG encodes an optimal solution of the original DCOP! 0. X i MWVC 1; X i X i MWVC X i 15 X 1 0.7 X 2 1.3 X 3 2.2 A 3 0.4 A 4 0.7 A 5 0.3 A 1 0.5 A 2 0.6 A 6 0.1
Agenda Distributed Constraint Optimization Problems (DCOPs) The Constraint Composite Graph (CCG) CCG-Max-Sum Max-Sum and CCG-Max-Sum The Nemhauser-Trotter (NT) Reduction Experimental Evaluation Conclusion and Future Work
Agenda Distributed Constraint Optimization Problems (DCOPs) The Constraint Composite Graph (CCG) CCG-Max-Sum Max-Sum and CCG-Max-Sum The Nemhauser-Trotter (NT) Reduction Experimental Evaluation Conclusion and Future Work
Max-Sum and CCG-Max-Sum • Max-Sum (Farinelli et al. 2008; Stranders et al. 2009) • is a distributed variant of belief propagation • has information passed locally between variables and constraints • CCG-Max-Sum Algorithm • Perform message passing iterations on the MWVC problem instance of the CCG • Messages are passed between adjacent vertices • Is a distributed variant of the lifted min-sum message passing algorithm (Xu et al. 2017) 16 • Despite the names, since our goal is to minimize the total cost, all max operators are replaced by min operators.
Operations on Tables: Min 4 3 1 1 0 X 1 = 3 1 2 1 0 1 0 X 2 X 1 17 � � min X 1
Operations on Tables: Sum 1 3 + 6 = 9 4 + 6 = 10 1 2 + 5 = 7 1 + 5 = 6 0 1 0 X 2 X 1 = 6 5 X 1 0 X 1 + 3 4 1 2 1 0 1 0 X 2 18
Max-Sum • A message is a table over the single variable, which is the sender or the receiver. • A vertex of k neighbors neighbors and internal cost function, and summation result and sends the resulting table 19 1. applies sum on the messages from its k − 1 2. applies min on the to its k th neighbor.
Max-Sum (a) C 12 X 2 0 1 0 2 3 1 1 2 X 2 X 1 X 3 0 1 0 1 4 1 2 2 (b) C 23 X 1 20–1 C 12 X 2 C 23 X 3 ν X 1 → C 12 = � 0 , 0 � − − − − − − − − − ← − → − − − − − − ˆ − − ν C 12 → X 1 = � 0 , 0 � − − ν C 12 → X 2 = � 0 , 0 � − − − − ˆ − − − − − − ← → − − − − − − � − − − − � = , 0 0 → ν C 1 2 X 2 ν X 2 → C 23 = � 0 , 0 � − − − − − − − − − ← − → − − − − − − ˆ − − ν C 23 → X 2 = � 0 , 0 � − − ν C 23 → X 3 = � 0 , 0 � − − − − ˆ − − − − − − ← → − − − − − − � − − − − � = , 0 0 → ν C 2 3 X 3
Max-Sum (a) C 12 X 2 0 1 0 2 3 1 1 2 X 2 X 1 X 3 0 1 0 1 4 1 2 2 (b) C 23 X 1 20–2 C 12 X 2 C 23 X 3 ν X 1 → C 12 = � 0 , 0 � − − − − − − − − − ← − → − − − − − − ˆ − − ν C 12 → X 1 = � 0 , 0 � − − ν C 12 → X 2 = � 0 , 1 � − − − − ˆ − − − − − − ← → − − − − − − � − − − − � = , 0 0 → ν C 1 2 X 2 ν X 2 → C 23 = � 0 , 0 � − − − − − − − − − ← − → − − − − − − ˆ − − ν C 23 → X 2 = � 0 , 0 � − − ν C 23 → X 3 = � 0 , 0 � − − − − ˆ − − − − − − ← → − − − − − − � − − − − � = , 0 0 → ν C 2 3 X 3
Recommend
More recommend