Multiagent Constraint Optimization on the Constraint Composite Graph - - PowerPoint PPT Presentation

multiagent constraint optimization on the constraint
SMART_READER_LITE
LIVE PREVIEW

Multiagent Constraint Optimization on the Constraint Composite Graph - - PowerPoint PPT Presentation

Multiagent Constraint Optimization on the Constraint Composite Graph Ferdinando Fioretto Hong Xu Sven Koenig T. K. Satish Kumar University of Michigan University of Southern California OptMAS 2018 2 Content


slide-1
SLIDE 1

Multiagent Constraint Optimization

  • n the Constraint Composite Graph

Ferdinando Fioretto
 University of Michigan

OptMAS 2018

Hong Xu Sven Koenig T. K. Satish Kumar University of Southern California

slide-2
SLIDE 2

2

slide-3
SLIDE 3

Content

  • Distributed Constraint Optimization Problems
  • The Constraint Composite Graph (CCG) 

  • CCG-MaxSum
  • Experimental Evaluation
  • Conclusions

3

slide-4
SLIDE 4

Distributed Constraint Optimization

4

<X, D, F, A, α>:

  • X: Set of variables.
  • D: Set of finite domains for each variable.
  • F: Set of constraints between variables.
  • A: Set of agents, controlling the variables in X.
  • α: Mapping of variables to agents. 

  • GOAL: Find a cost minimal assignment.

F

min min

DCOP | CCG | CCG-MaxSum | Results | Conclusions

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

slide-5
SLIDE 5
  • Agents coordinate an assignment for their

variables.

  • Agents operate distributedly.

Communication:

  • By exchanging messages.
  • Restricted to agent’s local neighbors. 


Knowledge:

  • Restricted to agent’s sub-problem.

5

fab fbc fac xc xb xa xd fbd

Distributed Constraint Optimization

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-6
SLIDE 6

6

DCOP: Algorithms

  • OPT-APO
  • AFB
  • ADPOT; BnB-ADPOT

Complete Incomplete

Search Search Inference Sampling Inference

  • PC-DPOP
  • DPOP and variants
  • D-Gibbs
  • DSA
  • MGM
  • Max-Sum and variants

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-7
SLIDE 7

DCOP: Representation

7

a2 a1 a3

x1 x2 x3 x1 x2 x3

a3 a2 a1

x1 x2 x3 f2

a3 a2 a1

f1 f3

Constraint Graph Pseudo-Tree Factor Graph

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-8
SLIDE 8

DCOP: Representation

8

a2 a1 a3

x1 x2 x3 x1 x2 x3

a3 a2 a1

x1 x2 x3 f2

a3 a2 a1

f1 f3

Constraint Graph Pseudo-Tree Factor Graph

This work investigate the use of the CCG, an alternative representation, to solve DCOPs

Assumption: The focus of this talk is restricted to Boolean DCOPs

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-9
SLIDE 9

Constraint Composite Graph

9

a2 a1 a3

x1 x2 x3

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

Graphical Structure Numerical Structure

  • DCOP structure:
  • Graphical Structure: Interaction of

cost functions and joint assignments

  • Numerical Structure: Values

associated to cost functions


  • How can we exploit both these

structures during problem solving?

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-10
SLIDE 10

Constraint Composite Graph

10

  • The Constraint Composite Graph (CCG)

[Kumar:08] is a graph
 
 
 
 
 Represents explicitly both structures

  • Can be constructed in polytime


 


a2 a1 a3

x1 x2 x3

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

Graphical Structure Numerical Structure

G = (X ∪ Y ∪ Z, E, w)

DCOP 
 variables auxiliary variables weights

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-11
SLIDE 11

Constraint Composite Graph

11

  • The Constraint Composite Graph (CCG)

[Kumar:08] is a graph
 
 
 
 
 Represents explicitly both structures

  • Can be constructed in polytime
  • Solving a DCOP can be reformatted as solving a

Minimum Weighted Vertex Cover on its associated CCG
 [extended result from Kumar:16]

a2 a1 a3

x1 x2 x3

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

Graphical Structure Numerical Structure

G = (X ∪ Y ∪ Z, E, w)

DCOP 
 variables auxiliary variables weights

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-12
SLIDE 12

The Nemhauser-Trotter (NT) Reduction

12

  • Polytime kernelization technique used to

reduce the size of the MWVC

  • Minimum Weighted Vertex Cover

a2 a1 a3

x1 x2 x3

Minimize

|V |

X

i=1

wiZi ∀vi ∈ V : Zi ∈ {0, 1} ∀(vi, vj) ∈ E : Zi + Zj ≥ 1

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-13
SLIDE 13

The Nemhauser-Trotter (NT) Reduction

13

  • Polytime kernelization technique used to

reduce the size of the MWVC

  • Minimum Weighted Vertex Cover

a2 a1 a3

x1 x2 x3

Minimize

|V |

X

i=1

wiZi ∀vi ∈ V : Zi ∈ [0, 1] ⊆ R ∀(vi, vj) ∈ E : Zi + Zj ≥ 1

  • Relax LP is half integral
  • NT: There is a MWVC that includes vi if Zi=1 and exclude vi if

Zi=0

Z ∈ {0, 1 2, 1}

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-14
SLIDE 14

CCG Construction

14

  • Each agent, expresses its cost function as a polynomial

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

Its coefficients can be computed by standard 
 Gaussian Elimination so that:

p1(0, 0) = 0.5 p1(0, 1) = 0.6 p1(1, 0) = 0.7 p1(1, 1) = 0.3.

#1 Construct Polynomial

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-15
SLIDE 15

CCG Construction

15

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

#2 Construct Gadget for each polynomial

x1 x2 y1 0.5 x1 0.2 x2 0.1

c00 + c11x1x2

1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

c01x1 c10x2

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-16
SLIDE 16

CCG Construction

16

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

#2 Construct Gadget for each polynomial

x1 x2 y1 0.2 0.1 0.5

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-17
SLIDE 17

0.5

CCG Construction

17

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

#2 Construct Gadget for each polynomial

x1 x2 y1 0.2 0.1

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-18
SLIDE 18

CCG Construction

18

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

#2 Construct Gadget for each polynomial

0.5 x1 x2 y1 0.2 0.1

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-19
SLIDE 19

CCG Construction

19

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

#2 Construct Gadget for each polynomial

0.5 x1 x2 y1 0.2 0.1

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-20
SLIDE 20

CCG Construction

20

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2 1 1

p1(x1, x2) = c00 + c01x1 + c10x2 + c11x1x2.

#2 Construct Gadget for each polynomial

0.5 x1 x2 y1 0.2 0.1

c00 = 0.5, c01 = 0.2, c10 = 0.1, c11 = -0.5.

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-21
SLIDE 21

CCG Construction

21

  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

#2 Construct Gadget for each polynomial

0.5 x1 x2 y1 0.2 0.1

0 0 ∞ 0 1 0 1 0 0 1 1 0

xi y1

i = 1, 2

x1

0 0 1 0.2

x2

0 0 1 0.1

y1

0 0 1 0.5

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-22
SLIDE 22
  • Construct a “lifted representation” or a gadget graph for

each term of a polynomial of each cost function

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

0.5 x1 x2 y1 0.2 0.1

0 0 ∞ 0 1 0 1 0 0 1 1 0

xi y1

i = 1, 2

x1

0 0 1 0.2

x2

0 0 1 0.1

y1

0 0 1 0.5

CCG Construction

22

#2 Construct Gadget for each polynomial

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-23
SLIDE 23

CCG Construction

23

  • Each agent merge their constructed gadget graphs into a

CCG

#3 Merge Gadget Graphs into a CCG

a2 a1

x1 x2 y1

0 0 ∞ 0 1 0 1 0 0 1 1 0

xi y1

0 0 0.5 0 1 0.6 1 0 0.7 1 1 0.3

f1 x1 x2

i = 1, 2

x1

0 0 1 0.2

x2

0 0 1 0.1

y1

0 0 1 0.5

a3 a2

x2 x3 y2

0 0 ∞ 0 1 0 1 0 0 1 1 0

xi y2

0 0 0.6 0 1 1.3 1 0 1.0 1 1 1.1

f2 x2 x3

i = 2, 3

x2

0 0 1 0.4

x3

0 0 1 0.7

y2

0 0 1 0.6

a3 a1

x1 x3 y3

0 0 ∞ 0 1 0 1 0 0 1 1 0

xi y2

0 0 0.4 0 1 0.9 1 0 0.7 1 1 0.8

f3 x1 x3

i = 1, 3

x1

0 0 1 0.3

x3

0 0 1 0.5

y3

0 0 1 0.4

a1

x1 y1

a2

x2 x3 y2

a3

y3

x1

0 0 1 0.5

x3

0 0 1 1.2

x2

0 0 1 0.5 (a) (b) (c) (d)

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-24
SLIDE 24

CCG-MaxSum

24

  • An MWVC on the CCG encodes an optimal solution of

the Original DCOP

a1

x1 y1

a2

x2 x3 y2

a3

y3

x1

0 0 1 0.5

x3

0 0 1 1.2

x2

0 0 1 0.5 (d)

y3

0 0 1 0.4

y1

0 0 1 0.5

y2

0 0 1 0.6

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-25
SLIDE 25

CCG-MaxSum

25

  • Use an instance of the MaxSum algorithm to solve the

MWVC encoding on the CCG

  • Messages are passed between adjacent vertices

µi

u→v = max

8 < :wu − X

t∈N(u)\{v}

µi−1

t→u, 0

9 = ;

#4 Message Passing Phase

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-26
SLIDE 26

CCG-MaxSum

26

  • When the algorithm terminates, for a node v, if 



 
 then v is included into the MWVC.

  • Variables are assigned values 1 if they are in the MWVC

and 0 otherwise.

  • Extracting the values associated to the decision variables

(X) gives a solution to the original DCOP

#4 Message Passing Phase

wv < P

u∈N(v) µu→v, t

A variable is assigned

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-27
SLIDE 27

Evaluation

27

  • CCG-MaxSum
  • CCG-MaxSum with NT reduction
  • MaxSum — with damping (0.7)
  • DSA

Algorithms

  • Federated Social Network
  • Random Benchmarks (grid, scale-free, random)

Benchmarks

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-28
SLIDE 28

Evaluation: Federated Social Networks

28

  • Multiple servers (agents) are used to store information of a social network
  • Each server ai fetches from server aj if a user in ai follows a user in aj
  • Fetching strategies:
  • freq-fetch: fatches frequently and caches less (high bandwidth costs, low

storage costs). xi = 1

  • more-cache, fetches less frequently and caches more (low bandwidth

costs, high storage costs). xi = 0

  • cib, cis = bandwidth and storage costs
  • ⍺ij = amount of information ai need to fetch from aj

( αij(cb

i + cb j),

if xi =xj =1 αijcs

i,

  • therwise

( (αij + αji)(cb

i + cb j),

if xi =xj =1 αijcs

i + αjics j,

  • therwise

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-29
SLIDE 29

29 Max-Sum CCG-Max-Sum CCG-Max-Sum-k DSA

  • Fig. 5: FSN based on Twitter network data: 100 agents (left), 500 agents (center),

and 1000 agents (right).

  • Input: Twitter network data (456k nodes and 15M edges).
  • 100, 500, 1000 servers

Evaluation: Federated Social Networks

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-30
SLIDE 30

30

Max-Sum CCG-Max-Sum CCG-Max-Sum-k DSA

grid scale-free random p2=0.2 random p2=0.6

Evaluation: Random Benchmarks

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-31
SLIDE 31

Conclusions and Future Work

  • Motivated by the exciting results obtained in the centralized setting
  • Adapted the CCG for encoding DCOPs, a novel representation for multi-agent

reasoning.

  • Proposed CCG-MaxSum, to solve DCOPs on the CCG
  • Results:
  • CCG MaxSum finds solutions of better qualities and within fewer iteration on several

benchmarks.

  • On-going/Future Work:
  • We believe this encoding can also be exploited with other classes of DCOP

algorithms.

  • Extending this approach to non-Boolean DCOPs

31

DCOP | CCG | CCG-MaxSum | Results | Conclusions

slide-32
SLIDE 32

Conclusions and Future Work

32

Thank You!

DCOP | CCG | CCG-MaxSum | Results | Conclusions

  • Motivated by the exciting results obtained in the centralized setting
  • Adapted the CCG for encoding DCOPs, a novel representation for multi-agent

reasoning.

  • Proposed CCG-MaxSum, to solve DCOPs on the CCG
  • Results:
  • CCG MaxSum finds solutions of better qualities and within fewer iteration on several

benchmarks.

  • On-going/Future Work:
  • We believe this encoding can also be exploited with other classes of DCOP

algorithms.

  • Extending this approach to non-Boolean DCOPs