with privacy Vincent Armant Laurent Simon Philippe Dague Outline - - PowerPoint PPT Presentation

with privacy
SMART_READER_LITE
LIVE PREVIEW

with privacy Vincent Armant Laurent Simon Philippe Dague Outline - - PowerPoint PPT Presentation

Distributed tree decomposition with privacy Vincent Armant Laurent Simon Philippe Dague Outline Introduction Distributed tree decomposition Preserve network structure Keep local information local Centralized tree decomp. VS


slide-1
SLIDE 1

Distributed tree decomposition with privacy

Vincent Armant Laurent Simon Philippe Dague

slide-2
SLIDE 2
  • Introduction
  • Distributed tree decomposition

Preserve network structure Keep local information local

  • Centralized tree decomp. VS concurrent approaches
  • Token elimination
  • Experimental results on small-world graphs
  • Conclusion / perspectives

Vinccent Armant CP2012 2

Outline

slide-3
SLIDE 3

Primal graph

Vinccent Armant CP2012 3

Introduction

Its primal graph centralized problem description

          Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) h l1 a b l2 l3 c l4 g l5 d e l4'

slide-4
SLIDE 4

Primal graph

Vinccent Armant CP2012 4

          Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) h l1 a b l2 l3 c l4 g l5 d e l4'

  • Each variable labels exactly one node
  • All variables contained in the scope of a function in the problem description

are neighbors in the primal graph

Introduction

slide-5
SLIDE 5

Tree Decomposition

Vinccent Armant CP2012 5

Primal graph A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection

Ct2 Ct4

Ct1

a l2 l3 b h l2 l3 l1 l1 c c l1 l4 l4' d l1 l4 e d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' l2 l3 g

Introduction

slide-6
SLIDE 6

Vinccent Armant CP2012 6

Tree Decomposition

Ct2 Ct4 a l2 l3 b h l2 l3 l1 c l1 l4 l4' d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' Ct1 l1 c d l1 l4 e l2 l3 g

A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection

Introduction

Primal graph

slide-7
SLIDE 7

Vinccent Armant CP2012 7

Tree Decomposition

Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 c l1 l4 l4' l1 g g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' d e l1 c d l1 l4 e l2 l3 g

A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection

Introduction

Primal graph

slide-8
SLIDE 8

Vinccent Armant CP2012 8

Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 l1 c c l1 l4 l4' d l1 l4 e d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 f5(l3, a, b) f3(l2, a, b) f1(l1, h) f4(l2, h)

f7(l3, h)

f6(l3, c) f10(l5, d , g) f2(l1, d , e, g) f9(l4, e, d) f8(l4, l4', c)           Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) l3 l2 g

1) Good points:

  • divides the initial problem into sub-problems organized in a tree structure
  • allows concurrent resolution and /or backtrack free search
  • bounds time and space complexity by the size of the largest cluster ( width )

e.g. allows succinct representation (OBDD, MDD, DNNF, ..) 2) Limitations:

  • finding an optimal tree-decomposition is NP-Hard

wCmax(init pb)= O(d13) Cmax ( T decomposed pb) = O(d4)

Introduction Why is it useful ?

slide-9
SLIDE 9
  • Introduction
  • Distributed tree decomposition

Preserve network structure Keep local information local

  • Centralized tree decomp. VS concurrent approaches
  • Token elimination
  • Experimental results on small-world graphs
  • Conclusion / perspectives

Vinccent Armant CP2012 9

Outline

slide-10
SLIDE 10

Vinccent Armant CP2012 10

Initial problem setting is distributed among a set of peers 1) each peer can only interact with its neighbors by acquaintance links 2) local variables remain local

p2 p4 p1 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p1) : Pb(p5) :           Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) p1 p2 p3 p4 p5 p3

acquaintance links of p1

Distributed system

slide-11
SLIDE 11

Vinccent Armant CP2012 11

each « li » represents a local variable of pi p2 p4 p1 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p1) : Pb(p5) :           Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) p1 p2 p3 p4 p5 p3

Initial setting is distributed among a set of peers 1) each peer can only interact with neighbors by acquaintance links 2) local variables remain local

Distributed system

slide-12
SLIDE 12

Vinccent Armant CP2012 12

The classical notion of tree decomposition is not sufficient it does not respect the privacy of local variables it does not preserve the peer acquaintances

a primal graph its tree decomposition

h l1 a b l2 l3 c l4 g l5 d e l4' Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 l1 c l3 c l1 l4 l4' l1 l4 l1 g g l5 d Ct3 Ct5 Ct6 Ct7 d e d e l2 g

How to decompose a distributed system respecting privacy and the peer acquaintances ?

slide-13
SLIDE 13

Vinccent Armant CP2012 13

Distributed system

Distributed Tree Decomposition

Acquaintance Graph G((P,V), ACQ) 1) P represents the set of peers 2) V labels each peer by its set of variables 3) ACQ  P x P represents is acquaintance links

p4 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p5) : p3 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p2 p4 p1 p5 p3 p2 p1 Pb(p1) :

Acquaintance Graph

slide-14
SLIDE 14

Vinccent Armant CP2012 14

Acquaintance Graph

Distributed Tree Decomposition

Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables

d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 p2 p1 c h c

slide-15
SLIDE 15

Vinccent Armant CP2012 15

Distributed Tree Decomposition

a h b l2 l3 b c a c d l4 e g l5 d l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 c h c d g h l1 e p2 p1

Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables

slide-16
SLIDE 16

Vinccent Armant CP2012 16 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 c h c

Distributed Tree Decomposition

Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables

slide-17
SLIDE 17

Vinccent Armant CP2012 17

  • a cluster is created by one peer
  • 2 neighboring clusters come from:
  • the same peer
  • neighboring peers

d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c c ct1 p3 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p2 p4 p1 p5 p3 p2 p1 p1 p1 p4

Distributed Tree Decomposition

Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respects the privacy of local variables

slide-18
SLIDE 18

Vinccent Armant CP2012 18

A local variable from pi can only appear in a cluster created by pi

p3 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c c ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 p2 p1 p1 p1 p4 p2 p1

Distributed Tree Decomposition

Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respects the privacy of local variables

slide-19
SLIDE 19
  • Introduction
  • Distributed tree decomposition

Preserve network structure Keep local information local

  • Centralized tree decomp. VS concurrent approaches
  • Token elimination
  • Experimental results on small-world graphs
  • Conclusion / perspectives

Vinccent Armant CP2012 19

Outline

slide-20
SLIDE 20

Vinccent Armant CP2012 20

Lesson learned from centralized context

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order

a b d h l5 l1 l2 l4 c e f g l3

1) Choose a variable v 2) Add edges between unconnected neighbors 3) Create a cluster (v  neighbors) 4) Eliminate v Elimination process Primal graph Elimination

  • rder

Clusters While the graph is not empty l3

It is always possible to build a TD from the clusters induced by Elimination order

slide-21
SLIDE 21

Vinccent Armant CP2012 21

a b d h l5 l1 l2 l4 c e f g l3

1) Choose a variable v 2) Add edges between unconnected neighbors 3) Create a cluster (v  neighbors) 4) Eliminate v Elimination process Primal graph Elimination

  • rder

Clusters While the graph is not empty l3

Lesson learned from centralized context

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-22
SLIDE 22

Vinccent Armant CP2012 22

a b d h l5 l1 l2 l4 c e f g l3

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty l3

e l3 ctl3

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

It is always possible to build a TD from the clusters induced by Elimination order Finding optimal Tree Decomposition  Finding optimal Elimination Order

slide-23
SLIDE 23

Vinccent Armant CP2012 23

a b d h l5 l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty l3

e l3 ctl3

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

It is always possible to build a TD from the clusters induced by Elimination order Finding optimal Tree Decomposition  Finding optimal Elimination Order

slide-24
SLIDE 24

Vinccent Armant CP2012 24

a b d h l5 l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty l3 l5

e l3 ctl3

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-25
SLIDE 25

Vinccent Armant CP2012 25

a b d h l5 l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3

l3 l5

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-26
SLIDE 26

Vinccent Armant CP2012 26

a b d h l5 l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l3 a

l3 l5

ctl5

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-27
SLIDE 27

Vinccent Armant CP2012 27

a b d h l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l3 a

l3 l5

ctl5

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-28
SLIDE 28

Vinccent Armant CP2012 28

a b d h l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l3 a

l3 l5 a

ctl5

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-29
SLIDE 29

Vinccent Armant CP2012 29

a b d h l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l5 a

l3 l5 a

ctl5

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-30
SLIDE 30

Vinccent Armant CP2012 30

a b d h l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l5 a

l3 l5 a

ctl5 cta l1 a b h

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-31
SLIDE 31

Vinccent Armant CP2012 31

b d h l1 l2 l4 c e f g

1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v  neighbors) 3) Eliminate v Elimination process Elimination

  • rder

Clusters While the graph is not empty

e l3 ctl3 e l5 a

l3 l5 a

ctl5 cta l1 a b h

Lesson learned from centralized context

Primal graph

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-32
SLIDE 32

Vinccent Armant CP2012 32

e l3 a l5 b l1 b a h

. . . . . . . . . Elimination

  • rder

Clusters

e l3 ctl3 a l5 b

l3 l5 a

ctl5 cta l1 a b h

. . .

ctl3 ctl5 cta

. . . Tree Decomposition

Lesson learned from centralized context

What are the good tree decomposition techniques? Why?

Finding optimal Tree Decomposition  Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order

slide-33
SLIDE 33

Vinccent Armant CP2012 33

b d h l1 l2 l4 c e f g

Observation: The edge added between l1 and h will increase the size of the cluster induced l1 or h Remark: If we add no edges  Perfect elimination Heuristic: Eliminate first the variable that minimizes the number of additional edges : (Min Fill)

a b d h l5 l1 l2 l4 c e f g

3 1 2 2 1 8 4 2 5 1 1 8

l3

3

Idea : Weight each node by the quality of the clusters that the node will produce if it is the next to be eliminated Pb: elimination order cannot be directly applied No privacy, No notion of acquaintance links

Lesson learned from centralized context

slide-34
SLIDE 34

Vinccent Armant CP2012 34

Lesson learn from distributed context

Concurrent eliminations can be bad for tree decomposition

Intuition: distributed settings can speed up the elimination process by concurrent eliminations

a b d c

2 3

e

3 3 2

b a d e d c b a b d c

2 3

e

3 3 2

b a d e b d c

2 3 2

d c c b b d

2 2

d b

concurrent eliminations {a, c ,e }

d

1

d c

1

c

width:3 width:2 concurrent eliminations {a, e } concurrent eliminations {b, d }

slide-35
SLIDE 35
  • Introduction
  • Distributed tree decomposition

Preserve network structure Keep local information local

  • Centralized tree decomp. VS concurrent approaches
  • Token elimination
  • Experimental results on small-world graphs
  • Conclusion / perspectives

Vinccent Armant CP2012 35

Outline

slide-36
SLIDE 36
  • Distributed algorithm

– Phase 1: Implicit building of a DTD

  • Elimination
  • Local elections and votes
  • Token passing

– Phase 2: clusters reconnection (acquaintance property).

  • Heuristics:

– Min-Cluster: Each peer estimates the size of the cluster that it will produce if it is the next to be eliminated. – Min-Proj : Each peer estimates the size of additional variables that it will add to the token if it is the next to be eliminated.

Vinccent Armant CP2012 36

Token Elimination: Principle

slide-37
SLIDE 37

Vinccent Armant CP2012 37

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

Distributed algorithm

p receives the token

  • organizes a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

slide-38
SLIDE 38

Vinccent Armant CP2012 38 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

5 3 5 4

Token Elimination: Min Cluster

Distributed algorithm

p receives the token

  • organizes a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

On going Distributed Tree Decomposition

slide-39
SLIDE 39

Vinccent Armant CP2012 39 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

5 3 5 4

Token Elimination: Min Cluster

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

On going Distributed Tree Decomposition

slide-40
SLIDE 40

Vinccent Armant CP2012 40 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

5 3 5 4

Token Elimination: Min Cluster

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

On going Distributed Tree Decomposition

slide-41
SLIDE 41

Vinccent Armant CP2012 41 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

Token Elimination: Min Cluster

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

On going Distributed Tree Decomposition

slide-42
SLIDE 42

Vinccent Armant CP2012 42 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

5 5 3

Token Elimination: Min Cluster

Distributed algorithm

p receives the token

  • organizes a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

On going Distributed Tree Decomposition

slide-43
SLIDE 43

Vinccent Armant CP2012 43 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3

5 5 3 p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token

Token Elimination: Min Cluster

Distributed algorithm On going Distributed Tree Decomposition

slide-44
SLIDE 44

Vinccent Armant CP2012 44 d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3

5 5 3

g l5 d ct_p5 ct_p5

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token

Token Elimination: Min Cluster

p5 creates the cluster for l5 (privacy) On going Distributed Tree Decomposition Distributed algorithm

slide-45
SLIDE 45

Vinccent Armant CP2012 45

On going Distributed Tree Decomposition

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

{ d g }

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token

separator

Token Elimination: Min Cluster

(running intersection)

slide-46
SLIDE 46

Vinccent Armant CP2012 46

On going Distributed Tree Decomposition

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token

{ d g }

6 5 g

Token Elimination: Min Cluster

slide-47
SLIDE 47

Vinccent Armant CP2012 47

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token

{ d g }

6 5 l5 d ct_p5

{ d g }

c d l4 e l4' g p4 6 g g

If p4 is the next to be eliminated, it will produce a cluster of 6 variables

slide-48
SLIDE 48

Vinccent Armant CP2012 48

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token

{ d g }

6 5 l5 d ct_p5

{ d g }

c d l4 e l4' g p4 6 g g p1 d g h l1 e

5

{ d g }

l5 d ct_p5 g

slide-49
SLIDE 49

Vinccent Armant CP2012 49

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

6 5 g

slide-50
SLIDE 50

Vinccent Armant CP2012 50

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p receives the token

  • organize a local election
  • peers vote , p is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

g

slide-51
SLIDE 51

Vinccent Armant CP2012 51

On going Distributed Tree Decomposition

d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p1 receives the token

  • organize a local election
  • peers vote , p1 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

g 5 4 6

Token Elimination: Min Cluster

slide-52
SLIDE 52

Vinccent Armant CP2012 52

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

d g h l1 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }

Distributed algorithm

p2 receives the token

  • organize a local election
  • peers vote , p2 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

5 4 6 5 a h b l2 ct_p2 ct_p2

slide-53
SLIDE 53

Vinccent Armant CP2012 53

On going Distributed Tree Decomposition

d g h l1 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5

{ d g }, { a,b,h }

Distributed algorithm

p2 receives the token

  • organize a local election
  • peers vote , p2 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

5 4 6 5 a h b l2 ct_p2 ct_p2

{ a b h }

Token Elimination: Min Cluster

slide-54
SLIDE 54

Vinccent Armant CP2012 54

On going Distributed Tree Decomposition

d g h l1 c d l4 e e l4' p2 p4 p1 p5 p3 g l5 d ct_p5 ct_p5

{ d g }, { a,b,h }

Distributed algorithm

p3 receives the token

  • organize a local election
  • peers vote , p3 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

4 6 5 a h b l2 ct_p2 ct_p2

{ d g }, { a b h }

l3 b c a h p3 ct_p3 ct_p3

{ d g }, { c h } { a,b,h }

Token Elimination: Min Cluster

slide-55
SLIDE 55

Vinccent Armant CP2012 55

On going Distributed Tree Decomposition

d g h l1 c d l4 e e l4' p2 p4 p1 p5 p3 g l5 d ct_p5 ct_p5

{ d g }, { a,b,h }

Distributed algorithm

p3 receives the token

  • organize a local election
  • peers vote , p3 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

{ d g }

4 6 5 a h b l2 ct_p2 ct_p2

{ d g }, { a b h }

l3 b c a h p3 ct_p3 ct_p3

{ d g }, { c h } { c,h }

Token Elimination: Min Cluster

slide-56
SLIDE 56

Vinccent Armant CP2012 56

On going Distributed Tree Decomposition

Token Elimination: Min Cluster

p2 p4 p1 p5 p3 ct_p5

Distributed algorithm

p3 receives the token

  • organize a local election
  • peers vote , p3 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

ct_p2 ct_p3 g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 ct_p4 ct_p1

slide-57
SLIDE 57

Vinccent Armant CP2012 57

On going Distributed Tree Decomposition

p2 p4 p1 p5 p3 ct_p5

Distributed algorithm

p3 receives the token

  • organize a local election
  • peers vote , p3 is a local minimal ?

. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token

ct_p2 ct_p3 g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 ct_p4 ct_p1

Pb : link between p3 and p1 does not follow acquaintance link

Token Elimination: Min Cluster

slide-58
SLIDE 58

Vinccent Armant CP2012 58

Final Distributed Tree Decomposition Distributed structured network

g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 c h d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c p2 p3 p1 p5 p4 c

Token Elimination: Min Cluster

slide-59
SLIDE 59
  • Preliminary: Tree Decomposition
  • Problematic: How to decompose a distributed

system respecting privacy and acquaintances

  • Distributed Tree Decomposition
  • Token Elimination
  • Experimental results on small world graph
  • Conclusion et perspectives

Vinccent Armant CP2012 59

Outline

slide-60
SLIDE 60
  • Properties

– low average distance between 2 nodes – heterogeneity (degree distribution follows a power law ) – represents interaction graph of a lot of real world applications

Vinccent Armant CP2012 60

Tree Decomposition of small world graphs

Barabasi and Albert (B.A.) graphs

slide-61
SLIDE 61

Vinccent Armant CP2012 61

width of tree decomposed BA Graphs

slide-62
SLIDE 62

Vinccent Armant CP2012 62

CPU-Time of the tree decomposed BA Graphs

slide-63
SLIDE 63
  • Properties

– Short average distance between nodes – Homogenous (degree distribution follows Poisson law) – Represents some applications s.t. ISCAS circuits…

Vinccent Armant CP2012 63

Watts and Strogatz (W.S.) graphs

slide-64
SLIDE 64

Vinccent Armant CP2012 64

width of the tree decomposed WS Graphs

slide-65
SLIDE 65

Vinccent Armant CP2012 65

CPU time of the tree decomposed de WS graph

slide-66
SLIDE 66

Conclusions

  • Distributed Tree Decomposition respecting

– privacy (main reason for distributed systems) – preserving network acquaintance

  • Token Elimination relying

– elimination – on votes, token passing

  • Results: Token Elimination

– outperforms classical distributed decomposition methods – is competitive with centralized methods

  • Vinccent Armant CP2012

66

slide-67
SLIDE 67

Applications

  • Challenge of distributed diagnosis:

How to explain the global behavior of a distributed ? Each peer have only a local view of the system description

  • Challenge of DCSP:

How to solve a distributed problem ? Each agent has a strong privacy policy

  • Vinccent Armant CP2012

67

Answer: Distributed Tree Decomposition

slide-68
SLIDE 68

Thanks for your Attention 

– Questions? – vincent.armant@lri.fr

  • Vinccent Armant CP2012

68