Heuristic Ordering for Asynchronous Backtracking

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Constraint Satisfaction Problems Russell and Norvig: Chapter
Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.
Distributed Constraint Optimization Problems M OHSEN A FSHARCHI.
Adopt Algorithm for Distributed Constraint Optimization
This lecture topic (two lectures) Chapter 6.1 – 6.4, except
CompAPO: A complete version of the APO Algorithm Tal Grinshpoun and Amnon Meisels Department of Computer Science Ben-Gurion University of the Negev.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
This lecture topic (two lectures) Chapter 6.1 – 6.4, except 6.3.3
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
Multi-agent Oriented Constraint Satisfaction Authors: Jiming Liu, Han Jing and Y.Y. Tang Speaker: Lin Xu CSCE 976, May 1st 2002.
Constraint Satisfaction CSE 473 University of Washington.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Artificial Intelligence Constraint satisfaction Chapter 5, AIMA.
Constraint Satisfaction Problems
Penalties for Distributed Local Search Muhammed B. Basharu.
Chapter 5 Outline Formal definition of CSP CSP Examples
Using additional information in DisCSPs search Prof. Amnon Meisels and Mr. Oz Lavee Prof. Amnon Meisels and Mr. Oz Lavee Ben Gurion University Israel.
Impact of Problem Centralization on Distributed Constraint Optimization Algorithms John P. Davin and Pragnesh Jay Modi Carnegie Mellon University School.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Distributed Constraint Satisfaction: Foundation of Cooperation in Multi-agent Systems Makoto Yokoo Kyushu University lang.is.kyushu-u.ac.jp/~yokoo/
Distributed Constraint Satisfaction Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Chapter 5 Constraint Satisfaction Problems
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
Maintaining Arc Consistency (MAC) MAC is the same as Back-tracking, but with calls to AC-3 interleaved... function Backtracking-Search(csp) returns.
An Introduction to Artificial Intelligence Lecture 5: Constraint Satisfaction Problems Ramin Halavati In which we see how treating.
Performance of Distributed Constraint Optimization Algorithms A.Gershman, T. Grinshpon, A. Meisels and R. Zivan Dept. of Computer Science Ben-Gurion University.
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Constraint Satisfaction CSE 473 University of Washington.
ARTIFICIAL INTELLIGENCE (CS 461D) Dr. Abeer Mahmoud Computer science Department Princess Nora University Faculty of Computer & Information Systems.
Hybrid BDD and All-SAT Method for Model Checking
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Consistency Methods for Temporal Reasoning
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Constraint Satisfaction Problems Lecture # 14, 15 & 16
Constraint Satisfaction
Constraint Satisfaction
Constraint Satisfaction Problems vs. Finite State Problems
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
Computer Science cpsc322, Lecture 14
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Asynchronous Partitioning Framework
Eight-QueenS Problem: Fuzzy Constraint Satisfaction Problem Using Soar
Dynamic Ordering for Asynchronous Backtracking on DisCSPs
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Constraint Satisfaction Problems
Fast Communication and User Level Parallelism
Hierarchical Search on DisCSPs
Constraints and Search
Chapter 5: General search strategies: Look-ahead
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Constraint satisfaction problems
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Artificial Intelligence
Hierarchical Search on DisCSPs
Ch 17 - Binding Protocol Addresses
Constraint Satisfaction
CS 8520: Artificial Intelligence
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Constraint Satisfaction Problems
Constraint satisfaction problems
Presentation transcript:

Heuristic Ordering for Asynchronous Backtracking Amnon Meisels Dept. of Computer Science Ben-Gurion University With Moshe Zazon, Roie Zivan

Retroactive Ordering – Udine 2010 Overview Distributed Constraints Networks Asynchronous BackTracking - ABT Dynamic ordering for ABT Asynchronous ordering heuristics Retroactive ordering Experimental evaluation 1/13/2019 Retroactive Ordering – Udine 2010

Constraints Satisfaction Problems - CSPs {5,6} {1,2,3, } X2 X1 X1 + X2 = 7 X4 < X2 X4 X3 X1 = X4 {a,b,c} {0,1} Variables – X1, X2, X3, X4 Values – {1, 2, 3} are the domain values of X1 Constraints – X3 is constrained with X2 but not with X4 1/13/2019 Meisels and Zivan – IJCAI-09 Tutorial

Meisels and Zivan – IJCAI-09 Tutorial CSPs - Solution {5,6} X2 = 6 X1 + X2 = 7 {1,2,3, } X4 < X2 X1 = 1 X4 = 1 X1 = X4 {0,1} Assignment of a value to each variable Value from the domain of the variable All constraints are satisfied 1/13/2019 Meisels and Zivan – IJCAI-09 Tutorial

Meisels and Zivan – IJCAI-09 Tutorial CSPs – no solution {4,5} {1,2,3} X2 X1 X1 + X2 = 7 X4 < X2 X4 X3 X2 = X3 X3 < X1 X1 = X4 {2,3,4} {0,4} Each constraint can be satisfied Only the value 4 satisfies C(X1,X4) Cannot be satisfied together with C(X2,X4) 1/13/2019 Meisels and Zivan – IJCAI-09 Tutorial

Search Algorithms Backtracking When looking back one can learn conflicting assignments and backtrack to the culprit variable Back Jumping (BJ); Conflict-based Backjumping (CBJ); Dynamic Backtracking (DBT) When looking ahead one can remove incompatible values from future (unassigned) variables or enforce consistency of the remaining variables Forward checking (FC); Directional arc-consistency; Maintaining Arc-Consistency (MAC) 1/13/2019 Meisels and Zivan – IJCAI-09 Tutorial

A Distributed Constraint Network 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 A “realistic” example Three people want to meet: Avi, Beni, and Chen There are three meetings to set: (Beni, Avi) , (Avi, Chen), and (Beni, Chen) at different locations m3 Beni m1 Local Constraint m1 Inter Constraint m3 m2 m2 Avi Chen 1/13/2019 Retroactive Ordering – Udine 2010

Distributed Constraints – the Model Every Agent owns part of the constraints network Agents have no direct access to variables of other Agents To coordinate their value assignments for a solution Agents exchange messages Messages are asynchronous Any search algorithm is a distributed algorithm (since the problem is distributed) 1/13/2019 Retroactive Ordering – Udine 2010

Sequential (synchronous) BT An-1 An [V1=2],[V2=1],[V3=?] Current Partial Assignment (CPA) 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Backtracking Motivation: Concurrent computation HighLights: Agents always hold an assignment which is consistent with their view of the system When there is no consistent assignment with an Agent’s view, a backtrack operation is performed On backtrack operations, agents change their views by eliminating inconsistent assignments 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous BackTracking - ABT Agents are totally ordered Each agent assigns its variable and sends it in ok? messages to agents ordered after it All received assignments are stored in the AgentView Agents check their assignments against their AgentViews An Agent that has no consistent assignment sends a Nogood message to the relevant agent before it Nogood messages cause replacement of assignment, as long as they are consistent with the receiver’s AgentView Yokoo 1998, 2000 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Backtrack (ABT) {1,2} A1 A2 {2} ≤ ≠ ≠ [A1=1] A3 {1,2} 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Backtrack (ABT) {1,2} A1 A2 {2} ≤ ≠ ≠ [A2=2] A3 {1,2} 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Backtrack in ABT AgentView of Agent A3: A1=1, A2=2 Nogood Current Assignment A2 A3=2 A1=1, A2=2 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Backtrack (ABT) {1,2} A1 A2 {2} ≤ ≠ ≠ A3 [A1=1], [A2=2] {1,2} 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 1 2 Active: 2,3,4 1,2,3,4 Nogood message: A1=1 ^ A2=1 ⇒ A3≠1 OK? A2 OK? Active: A3 2,3,4 1,2,3,4 A4 OK? Nogood message: A1=1 ^ A2=1 ⇒ A3≠1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Cycle: A1 3 A2 A3 Active: 3 A4 Nogood message: A1=1 ⇒ A2≠3 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 5 4 Active: 3,4 2 Nogood message: A1=1 ^ A2=4 ⇒A3≠4 1/13/2019 OK? A3 Active: OK? 3,4 2 A4 Nogood message: A1=1 ^ A2=4 ⇒A3≠4 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 6 Active: 4 Nogood message: A1=1 ^ A2=4 ⇒A3≠2 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Cycle: A1 OK? 8 9 7 A2 A3 Active: 3 2 1 A4 Nogood message: A1=1 ⇒ A2≠4 Nogood message: ⇒ A1≠1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Cycle: A1 10 11 A2 A3 Active: 3 4 OK? A4 Done! 1/13/2019 Retroactive Ordering – Udine 2010

ABT – Strong Assumption All Agents are ordered by a fixed order of Priorities [Yokoo 92-2000] [BesBrMes 2001 – 2005] [Hammadi 98 – 2002] [Gomez et. al 2002 – 2005] 1/13/2019 Retroactive Ordering – Udine 2010

Motivation for dynamic reordering Sequential assigning algorithms for DisCSPs: Nguyen & Faltings 2004 Brito & Meseguer 2004 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Why is it a problem? [1] [1] V1 ≠ V2 V1 ≠ V2 A2 A1 V1 = 1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Why is it a problem? A2 A1 V1 = 1 [1] [1] V1 ≠ V2 V1 ≠ V2 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Why is it a problem? [1] [1] V1 ≠ V2 V1 ≠ V2 A1 A2 V1 = 1 V2 = 1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Why is it a problem? A2 V2 = 1 A1 [1] [1] V1 ≠ V2 V1 ≠ V2 V1 = 1 1/13/2019 Retroactive Ordering – Udine 2010

Dynamic ordering can be a problem [1] [1] V1 ≠ V2 V1 ≠ V2 V2 = 1 V1 = 1 1/13/2019 Retroactive Ordering – Udine 2010

Reordering – in standard backtracking 1 2 3 4 1/13/2019 Retroactive Ordering – Udine 2010

Reordering – sequential assignments algorithms 1 2 3 4 4 3 1/13/2019 Retroactive Ordering – Udine 2010

Reordering – sequential assignments algorithms 1 2 4 3 4 2 4 3 3 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Reordering – standard backtracking Highlights: Moving forward - choose a desirable order Backtracking is done in the same order as the forward moves Same idea can be applied in Asynchronous Backtracking 1/13/2019 Retroactive Ordering – Udine 2010

Dynamic Ordering for ABT Motivation: A general algorithm for dynamic ordering (decoupled from a specific heuristic) Apply known effective heuristics from (centralized) CSP Use polynomial space 1/13/2019 Retroactive Ordering – Udine 2010

Ordering Rules for Agents in ABT Change order only when changing assignment Enforce reordering only on Agents with lower priority Maintain a list of pairs (agent_id, counter) Time-stamps Time-stamps are lists of n counters (one for each agent) During assignment Ai increments its counter and sets to 0 counters of agents with lower priority Zivan & Meisels, 2005 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Agents change order A1 A2 A3 A4 A5 Current Order (time-stamp): A2: A3: (A1,1), (A2,2), (A3,4), (A5,0), (A4,0) (A1,1), (A2,3), (A5,0), (A4,0), (A3,0) (A1,1), (A2,2), (A3,3), (A4,1), (A5,0) 1/13/2019 Retroactive Ordering – Udine 2010

“Time-stamping” Agents’ orderings Changed time-stamp: (A1,1), (A2,3), (A5,0), (A4,0), (A3,0) 13000 > 12400 1/13/2019 Retroactive Ordering – Udine 2010

ABT with Dynamic Ordering [A1,2],[A2,1], [A4,1] A1,A3,A2,A4 A3 ≠ 1 A3 = 1 1/13/2019 Retroactive Ordering – Udine 2010

ABT with Dynamic Ordering [A1,2],[A2,1], [A4,1] A1,A3,A2,A4 A1,A3,A4,A2 A3 = 2 A1,A3,A4,A2 A3 = 2 1/13/2019 Retroactive Ordering – Udine 2010

Another example of Dynamic Ordering [A1,1],[A3,1],[A2,3],[A4,2] A3 ≠ 1 A3 = 1 1/13/2019 Retroactive Ordering – Udine 2010

Another example of Dynamic Ordering (II) [A1,1],[A3,2],[A4,0],[A2,0] [A1,1],[A3,1],[A2,3],[A4,2] [A1,1],[A3,1],[A2,3],[A4,2] [A1,1],[A3,1],[A4,2],[A2,3] [A1,1],[A3,1],[A2,3],[A4,2] A3 = 2 1/13/2019 Retroactive Ordering – Udine 2010

ABT_DO – Exploring Heuristics Random: An agent that changes its value randomly orders lower priority agents Min-Domain: based on current domain sizes (good for centralized CSPs) Nogood Triggered: the Nogood sender is positioned right after the Nogood receiver 1/13/2019 Retroactive Ordering – Udine 2010

Minimal Domain Ordering Reordering agent conflicting values A1 A2 A3 A4 unchecked values assigned value 1/13/2019 Retroactive Ordering – Udine 2010

Minimal Domain Ordering Reordering agent A1 A4 A3 A2 1/13/2019 Retroactive Ordering – Udine 2010

Nogood Triggered Ordering Ordering agent A1 A2 A3 A4 A5 1 1 [A1,1] 1 [A1,1] 1 1 [A1,1] [A3,2] [A1,1] 2 2 2 [A1,1] 2 2 [A3,2] 2 [A2,2] 3 3 3 3 3 3 3 Nogood message: A1=1 ⇒ A2≠2 1/13/2019 Retroactive Ordering – Udine 2010

Nogood Triggered Ordering Ordering agent A1 A2 A5 A3 A4 1 1 [A1,1] 1 [A1,1] 1 [A1,1] 1 2 2 [A1,1] 2 [A1,1] 2 2 3 3 3 3 3 3 1/13/2019 Retroactive Ordering – Udine 2010

Experimental evaluation Random Problems n – number of agents k – domain size p1 –density: percentage of constrained variables p2 – tightness: percentage of conflicting values Performance Measures: NCCCs: number of non-concurrent constraint checks implementation-independent run-time Network Load: total number of messages 1/13/2019 Retroactive Ordering – Udine 2010

Experimental results (2005/6) 1/13/2019 Retroactive Ordering – Udine 2010

Failure of min-domain heuristic Agents remove from their current domains only values that conflict with assignments of higher priority agents When an agent is moved to a higher position, it returns to its current domain values that are no longer conflicting The domain sizes after reordering cannot be anticipated by the ordering agent 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Asynchronous Min-Domain Ordering agent A1 A2 A3 A4 A5 1 1 [A1,1] 1 [A1,1] 1 [A3,2] 1 [A1,1] 2 2 2 [A1,1] 2 2 [A3,2] 2 [A1,1] 3 3 3 3 3 3 3 [A2,2] Nogood message: A1=1 ⇒ A2≠2 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Min-Domain swap! Asynchronous Min-Domain Ordering agent A1 A2 A5 A4 A3 1 1 [A1,1] 1 [A1,1] 1 1 [A1,1] 2 2 [A1,1] 2 [A1,1] 2 2 3 3 3 3 3 3 1/13/2019 Retroactive Ordering – Udine 2010

Improved Min-domain ordering Keeping the Min-Domain property Triggered by Nogoods The Nogood generator triggers the move and can check its relative domain size “on its way up” The Nogood generator can be moved to any position in the new order, but only before agents with larger domain sizes 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive ordering for ABT If the Nogood generator is moved to a position which is before the second last in the Nogood, all the agents included in the Nogood must keep the Nogood A predefined Nogood size limit k, defines the ordering flexibility – unlimited moves up are allowed only below k Enabling “deep” moves back (“retroactive”) Keeping Nogoods in memory implies a cost in checking against the kept Nogoods Is it worthwhile ? 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Nogood size limit: 2 A1 A2 A3 A4 A5 1 1 1 1 [A3,1] 1 [A1,1] 2 2 2 2 2 2 [A1,1] 3 3 3 3 3 [A2,1] 4 4 4 4 4 4 [A4,2] [A1,1],[A2,1] Current order: (A1,1), (A2,2), (A3,4), (A4,0), (A5,0) Generated nogood: A1=1 ^ A2=1 ⇒ A4≠2 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Nogood size limit: 2 A1 A2 A5 A3 A4 1 1 1 [A1,1] 1 1 [A3,1] 2 2 2 [A1,1] 2 2 2 3 3 3 [A2,1] 3 3 4 4 4 4 4 [A1,1],[A2,1] New order: (A1,1), (A2,2), (A5,5), (A3,0), (A4,0) 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Nogood messages Nogood size limit: 3 A1 A2 A3 A4 A5 1 1 1 1 [A3,1] 1 [A1,1] 2 2 2 2 2 2 [A1,1] 3 3 3 3 3 [A2,1] 4 4 4 4 4 4 [A4,2] [A1,1],[A2,1] Generated nogood: A1=1, A2=1, A4=2 Current order: (A1,1), (A2,2), (A3,4), (A4,0), (A5,0) 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Nogood size limit: 3 A1 A5 A2 A3 A4 1 1 [A1,1] 1 1 1 [A1,1] 2 2 [A1,1] 2 2 2 2 3 3 3 3 3 4 4 4 4 4 [A1,1],[A2,1] New order: (A1,1), (A5,3), (A2,0), (A3,0), (A4,0) 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Conclusions Moving agents to the highest position possible was found to deteriorate the performance of the algorithm The best heuristic moves to a higher position only agents whose domains are small Avoids the return of values to domains as a result of asynchronous reordering 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Thank You 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 One variable per agent The choice of most studies in the field Simplifies the problem Two major justifications: Single-variable agents can be perceived as virtual agents Multiple-variable assignments (to a local constraint network) can be viewed as a value for a single complex variable 1/13/2019 Retroactive Ordering – Udine 2010

Virtual agents in a local network [0,1,2,3] V6 A6 V4 [0,1] A4 [0,1,2] Agent1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Single local variable V1 [0,1,2,3] [V1=0,V2=0,V3=0 V1=1,V2=0,V3=0 V1=0,V2=1,V3=0 ………………….. ..………………….] V6 Var1 V4 [0,1] [0,1,2] Agent1 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Pros and Cons of ABT Advantages: Concurrent Computation Backjumping Forward-checking Drawbacks: Computation is done against inconsistent partial assignments Order is static - high priority agents are idle 1/13/2019 Retroactive Ordering – Udine 2010

ABT – Improvements & Versions Read all messages in the mailbox and respond accordingly Resolve Nogoods, to send back shorter inconsistent partial assignments Use dynamic backtracking techniques, to keep only a polynomial number of Nogoods Performance improvements can be substantial Yokoo 2000 , Bessiere & Meseguer 2001, 2005 1/13/2019 Retroactive Ordering – Udine 2010

Which order is most up-to-date? Time-Stamping method of Nguyen & Faltings 2004: Each order is time-stamped A time-stamp is an array of integers of size n, all initialized to 0 Each agent that assigns its variable, updates the time-stamp as follows: Counters of higher priority agents are untouched The counter of the assigning agent is incremented by 1 The counters of lower priority agents are set to zero Time-stamps are compared lexicographically 1/13/2019 Retroactive Ordering – Udine 2010

Choosing the right heuristic Heuristics that work well for sequential assignment algorithms fail for ABT_DO (min-domain) After each change of order, relevant Nogoods are discarded Nogood-triggered heuristic [Ginsberg-93] Agent changes its current order only when it receives a Nogood which causes an assignment change The Nogood sender is moved to a place immediately following that of the assigning agent The only agent that moves up has no conflicts with newly formed lower priority agents  few Nogoods are removed 1/13/2019 Retroactive Ordering – Udine 2010

Yokoo’s comparison ABT vs SBT 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Weak Commitment - AWC Motivation: Re-exmination of the queen problem shows that there is no solution as long as the first queen does not change its assignment. A large search space is therefore explored for vain with ABT. HighLights: Agents always hold an assignment which is consistent with their view on higher position agents When agent has no consistent assignment with its view a backtrack operation is performed On backtrack operations, agents change their position in the order. 1/13/2019 Retroactive Ordering – Udine 2010

Asynchronous Weak Commitment -AWC Each agent holds non-negative value which represents its priority order. Agent sends its order priority and current value to its neighbors through ok? messages. Priority value is stored in the AgentView When agent cannot find a consistent value, it sends Nogoods to other agents and increment its priority value. If the same Nogood was already sent the agent just waits for incoming messages Yokoo 2000 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 1 2 Active: 1,2,3,4 4 (0) (0) (0) (0) (1) Nogood message: A1=1, A2=3, A3=2 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 3 2 Active: 4 3 (0) (0) (0) (2) (1) Nogood message: A4=3, A1=1 , A2=4 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Cycle: A1 (0) (0) 3 4 A2 (0) A3 Active: (0) (2) 1 3 A4 (1) Done! 1/13/2019 Retroactive Ordering – Udine 2010

Yokoo’s comparison ABT vs AWC 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Pros and Cons of AWC Advantages: Concurrent Computation Forward-checking Ordering is not static Computation is shared more equally by agents Drawbacks: Agents need to store and maintain an exponential number of Nogoods. The algorithm is coupled with specific ordering and value selection. The algorithm performs well for sparse problems but shows poor results for hard instances. 1/13/2019 Retroactive Ordering – Udine 2010

Why does AWC perform well on sparse problems ? Search Space Non-Solution Space Solution Space 1/13/2019 Retroactive Ordering – Udine 2010

Retroactive Ordering – Udine 2010 Why does AWC perform well on sparse problems ? Search Space Solution Space Non-Solution Space 1/13/2019 Retroactive Ordering – Udine 2010

Cycle: 2 1 Active: 1,2,3,4 3,4 (0) (0) (0) (0) (0) (1) Nogood message: A1=1, A2=4, A3=2 1/13/2019 Retroactive Ordering – Udine 2010