280 likes | 302 Views
This paper introduces the concept of Asynchronous Forward-Bounding for Distributed Constraint Optimization Problems (DisCOPs), which improves upon existing centralized and asynchronous methods. It presents the main ideas of the framework and discusses the benefits and challenges of implementing this approach.
E N D
Asynchronous Forward-Bounding for DisCOPs Amir Gershman, Amnon Meiselsand Roie Zivan Dept. of Computer Science Ben-Gurion University ECAI-06 - Asynchronous Forward-Bounding
Constraint Optimization Problems • variables, each with a finite domain of values • Variables are connected by constraints • Constraints assign a non-negative cost to every value assignment of the constrained variables – Weighted CSPs • A solution is a full assignment (to all variables) with minimal accumulated cost a g 1 b h 2 c k 5 2 3 d e f ECAI-06 - Asynchronous Forward-Bounding
Distributed Problem – Variables held by agents. Each agent knows only the constraints involving its variables Subclasses – MaxCSP, DisMaxCSP Distributed Constraint Optimization Problems a g 1 b h 2 c k 5 2 3 d e f ECAI-06 - Asynchronous Forward-Bounding
Branch and Bound X1=a Upper-Bound =∞ Upper-Bound =1 Upper-Bound =2 Lower-Bound = 2 Lower-Bound = 1 Lower-Bound = 0 X2=f X2=e X2=d X3=v2 X3=v1 X3=v2 X3=v1 X4=w2 X4=w1 X4=w1 X4=w2 X4=w1 X4=w2 ECAI-06 - Asynchronous Forward-Bounding
Evidence from Centralized B & B • Centralized B&B can be improved by maintaining local consistency [Larrosa Meseguer and Schiex (96,99,2004)] • Several methods (DAC,NC*,AC*) show a dramatic performance improvement over standard B&B • Consistency maintenance produces a “phase-transition” for extremely tight problems (high p2) • Only for a strong enough consistency method [Larrosa, Schiex 04] ECAI-06 - Asynchronous Forward-Bounding
ADOPT • Asynchronous complete algorithm for DisWCSP • Uses a pseudo-tree • Agents send their value assignment down the tree and report lower and upper bounds up the tree • ADOPT is “greedy” - values may be revisited • Thresholds were added to prevent thrashing – requires a heuristic • Observed in our empirical evaluation – number of messages increases exponentially with time • Not easy to fix - asynchronous updates ECAI-06 - Asynchronous Forward-Bounding
Asynchronous Forward Bounding (AFB) – Main ideas • Synchronous B&B – sequential assignments by agents • Asynchronous maintain distributed local consistency – bounds computed concurrently with assignments ECAI-06 - Asynchronous Forward-Bounding
AFB – the framework • A CPA message carries the Current Partial Assignment • Agents extend the CPA by adding an assignment to their variable and passing the CPA forward to the next agent • When an agent exhausts its value domain, it backtracks by undoing its assignment and sending the CPA to the previous agent ECAI-06 - Asynchronous Forward-Bounding
A1 A3 2 a g 1 b h c k A2 5 2 3 d CPA = {A1 = a}CPA.cost = 0 e f ECAI-06 - Asynchronous Forward-Bounding
A1 A3 2 a g 1 b h c k A2 5 2 3 d e f CPA = {A1 = a, A2=d}CPA.cost = 0 ECAI-06 - Asynchronous Forward-Bounding
A1 A3 2 a g 1 b h c k A2 5 2 3 d e CPA = {A1 = a, A2=d, A3=g}CPA.cost = 5 f ECAI-06 - Asynchronous Forward-Bounding
AFB – Asynchronous forward-bounding • After assigning (extending) the CPA, copies, FB-CPA, are sent forward to all unassigned agents • Agents receiving a FB_CPA, compute a Lower Bound on the cost of assigning a value to their variable and report it back to the sending agent ECAI-06 - Asynchronous Forward-Bounding
A1 A7 A3 A8 A6 a 2 v1 g v1 v1 … 1 b v2 h v2 v2 c v3 k v3 v3 5 A2 2 3 d e CPA = {A1 = a, A2=d}CPA.cost = 0 f FB_CPA = {A1 = a, A2=d}cost = 0 ECAI-06 - Asynchronous Forward-Bounding
A7 A6 A6 - Accumulated cost v1 v2 2 5 v1 4 v3 7 v2 9 3 v3 4 2 1 6 A8 v1 FB_CPA = {A1 = a, A2=d}cost = 0 v2 v3 ECAI-06 - Asynchronous Forward-Bounding
A7 A6 local cost + forward look v1 v2 2 5 + 1 v1 4 v3 7 + 0 v2 9 3 + 2 v3 4 2 LB6 = min{6,7,5} = 5 1 6 A8 FB_CPA = {A1 = a, A2=d}cost = 0 v1 v2 FB_EST = {A1 = a, A2=d}LB6 = 5 v3 ECAI-06 - Asynchronous Forward-Bounding
AFB - backtracking • Early detection of the need for backtrack: • Cost of CPA + Lower Bounds on future assignments ≥ Upper Bound • If this condition holds, the agent changes its assignment to the next possible value, or backtracks if its domain of values is exhausted ECAI-06 - Asynchronous Forward-Bounding
CPA = {A1 = a, A2=d}CPA.cost = 0 A2 FB_EST = {A1 = a, A2=d}LB3 = 1 d e FB_EST = {A1 = a, A2=d}LB4 = 2 f FB_EST = {A1 = a, A2=d}LB5 = 1 0 + {1+2+1+5} ≥ UB ? Yes -> create No -> do nothing CPA = {A1 = a, A2=e}CPA.cost = 0 FB_EST = {A1 = a, A2=d}LB6 = 5 ECAI-06 - Asynchronous Forward-Bounding
AFB – Determining Relevance • Several CPAs can “co-exist” in the system at the same time (as a result of backtracking) • Need to know which CPAs are obsolete and discard them • Each message includes a timestamp • Receiving agents can determine relevancy • Timestamp mechanism of [Nguyen et al. 2004] • Used also for dynamically ordered ABT [Zivan et al. 2005,6] ECAI-06 - Asynchronous Forward-Bounding
AFB – Summary • A CPA travels between agents, assignments are added sequentially • Concurrently, bounds are gathered to ensure the CPA’s consistency • If inconsistent – new CPA generated, with higher timestamp, and search continues • Agents receiving a higher timestamp eventually “kill” (received) obsolete CPAs • An agent reaching a full assignment – globally broadcasts the new upper bound ECAI-06 - Asynchronous Forward-Bounding
Experimental Evaluation • Random distributed Max-CSPs • Size: • 10 Variables • 10 Values • Density: p1 = 0.4 • Tightness: p2 = 0.4 – 0.99 • Measures: • Total number of messages • Number of non-concurrent computation steps • In ADOPT - a step includes reading and processing ALL the messages in the agent’s buffer, in order to increase performance ECAI-06 - Asynchronous Forward-Bounding
Comparing run-time ECAI-06 - Asynchronous Forward-Bounding
Zoom in ECAI-06 - Asynchronous Forward-Bounding
Communication load ECAI-06 - Asynchronous Forward-Bounding
Concurrency of Computation • AFB – Forward-Bounds by unassigned agents are computed while the CPA accumulates a larger partial assignment • ADOPT – arises from pseudo-tree ordering • good ordering = wide, low depth tree -> increases concurrency and performance • In dense (high p1) problems parallelism suffers • In the extreme, p1=1.0, the tree is a chain ECAI-06 - Asynchronous Forward-Bounding
Conclusions • Previous studies measured scalability – increasing number of agents. Present study measures performance by increasing problem difficulty (tightness) • ADOPT’s performance, on MAX-DCOP, increases exponentially while AFB shows a “phase-transition” • AFB’s performance is a result of maintaining local consistency. Similar to other algorithms in the centralized case ECAI-06 - Asynchronous Forward-Bounding
Conclusions (II) • Unreported exponential growth in ADOPT’s communication load was observed • AFB is simpler than ADOPT Easier to extend and implement ECAI-06 - Asynchronous Forward-Bounding
Future Work • Extending AFB – • Value / Variable orderings • Stronger form of consistency • Empirical evaluation of WCSPs • Full spectrum of density (p1) and tightness (p2) • How to select costs ? ECAI-06 - Asynchronous Forward-Bounding
Thank you ECAI-06 - Asynchronous Forward-Bounding