1 / 28

Asynchronous Forward-Bounding for DisCOPs

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.

Télécharger la présentation

Asynchronous Forward-Bounding for DisCOPs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Asynchronous Forward-Bounding for DisCOPs Amir Gershman, Amnon Meiselsand Roie Zivan Dept. of Computer Science Ben-Gurion University ECAI-06 - Asynchronous Forward-Bounding

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Comparing run-time ECAI-06 - Asynchronous Forward-Bounding

  22. Zoom in ECAI-06 - Asynchronous Forward-Bounding

  23. Communication load ECAI-06 - Asynchronous Forward-Bounding

  24. 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

  25. 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

  26. 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

  27. 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

  28. Thank you ECAI-06 - Asynchronous Forward-Bounding

More Related