# Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.

## Presentation on theme: "Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI."— Presentation transcript:

Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI

(Centralized) Constraint Satisfaction Problem - CSP (X, D, C) where: X is a set of n variables {x 1,..., x n } D = {D(x 1 ),...,D(x n )} is a set of n domains, where D(x i ) is a finite set of possible values for variable x i C is a set of binary constraints, c ij ⊆ D(x i )D(x j ) Solution: combination of assignments of values to all variables in a way that all the constraints are satisfied.

Applications of Centralized CSP Resource Allocation Planning Timetabling DNA sequencing Circuit analysis … 3

Distributed Meeting Scheduling Problem Meeting 3 Meeting 1 Meeting 2 Meeting 4 M4 3 M3 3 M4 4 M2 3 ≠ M4 1 M1 1 M3 1 M1 2 M2 2 ≠ ≠ = = = = Agent 2 Agent 1 Agent 3 Agent 4 July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 4

Distributed Target Tracking 5

In SensorDCSP we have multiple sensors S = {s1,...,sm} and multiple mobiles T ={t1,...,tn} which are to be tracked by the sensors. The goal is to allocate three sensors to track each mobile node, such that all these triplets of sensors are pair-wise disjoint and consistent with two sets of constraints: visibility constraints and compatibility constraints. Each mobile has a set of sensors that can possibly detect it, as depicted by the bipartite visibility graph in Fig. 1(a). In addition, it is required that each mobile be assigned three sensors that satisfy a compatibility relation with each other; this compatibility relation is depicted by the graph in Fig. 1(b). Finally, it is required that each sensor only track at most one mobile 6

Distributed CSP - DisCSP CSP where variables and constraints are distributed among several agents. (A, X, D, C) where: A is a set of agents {A 1,..., A p } X is a set of variables {x 1,..., x n } D = {D(x 1 ),...,D(x n )} is a set of n domains C is a set of binary constraints, c ij ⊆ D(x i )D(x j ) We assume all agents hold exactly one variable (p = n) 7

Solving DisCSP Agents must assign values to their variables so that all constraints are satisfied Agents exchange messages about the variable assignments Synchronous Search: – Agents perform assignments in a sequential way Asynchronous Search: – Agents perform assignments asynchronously 8

The standard DisCSP synchronous algorithm: Asynchronous Forward Checking (AFC) CPA:[(x 1,v 1 );…;(x i,v i )] Search: synchronous (Current Partial Assignment - CPA) CPA : ordered set of assignments CPA = {[(x 1,v 1 );…;(x i,v i )] | x 1 ≺ ··· ≺ x i } FC_CPA:[(x 1,v 1 );…;(x i,v i )] xjxj xjxj xnxn xnxn x1x1 x1x1 xkxk xkxk xixi xixi x i+1 … … xkxk xkxk Forward-Checking Empty domain FC: asynchronous Not_OK : [(x 1,v 1 ),…,(x i,v i )] xjxj xjxj xnxn xnxn xkxk xkxk CPA:[(x 1,v 1 );…;(x j-1,v j-1 )] Back_CPA:[(x 1 =v 1 ),…,(x i =v i )] 9

July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 10 Asynchronous Forward Checking (AFC)

11 Asynchronous Forward Checking (AFC)

The standard DisCSP asynchronous algorithm: Asynchronous Backtracking (ABT) 12 Agents are totally ordered: [A 1, …, A i-1, A i, A i+1, …, A n ] [A 1, …, A i-1 ] higher priority agents [A i+1, …, A n ] lower priority agents Agents exchange messages (assignment/backtrack...) ABT is correct, complete and terminates

Asynchronous Backtracking (ABT) 13

Asynchronous Backtracking (ABT) 14

The standard DisCSP asynchronous algorithm: Asynchronous Backtracking (ABT) 15 x i informs a lower connected agent x k of its assignment x k evaluates the constraint, with its own assignment If permitted, no action Else, x k looks for a value consistent with (x i = v i ) If it exists, assign it Else, backtrack xkxk xkxk xixi xixi ok?(x i = v i ) Backtrack

The standard DisCSP algorithm: Asynchronous Backtracking (ABT) x3x3 x3x3 x5x5 x5x5 x2x2 x2x2 x1x1 x1x1 x4x4 x4x4 x 1 =a ok?(x 1 =a) abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd x 1 =a x 2 =b x 3 =b x 4 =c x 3 =b x 2 =b x 4 =c resolving the nogoods ¬(x 1 =a ∧ x 2 =b ∧ x 4 =c) ngd: x 1 =a ∧ x 2 =b x 4 ≠c x 1 =a ∧ x 2 =b 16

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 17

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 18

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 19

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 20

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 21

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 22

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 23

Asynchronous Backtracking (Example) July 3rd, 2012 Algorithms and Ordering Heuristics for Distributed Constraint Satisfaction Problem 24

Asynchronous Weak Commitment 1. The algorithm uses the min-conflict heuristic as a value ordering heuristic. 2. It abandons the partial solution and restarts the search process if there exists no consistent value with the partial solution. When selecting a variable value, if there exist multiple values consistent with the agent view (those that satisfy all constraints with variables of higher priority agents), the agent prefers the value that minimizes the number of constraint violations with variables of lower priority agents. 25

Asynchronous Weak Commitment 26