Hierarchical Search on DisCSPs

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.
Distributed Constraint Optimization Problems M OHSEN A FSHARCHI.
CompAPO: A complete version of the APO Algorithm Tal Grinshpoun and Amnon Meisels Department of Computer Science Ben-Gurion University of the Negev.
HyperCuP – P2P Network Boyko Syarov. 2 Outline  HyperCup: What is it?  Basic Concepts  Broadcasting Algorithm  Topology Construction  Ontology Based.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Hierarchical Constraint Satisfaction in Spatial Database Dimitris Papadias, Panos Kalnis And Nikos Mamoulis.
Penalties for Distributed Local Search Muhammed B. Basharu.
Semi-Supervised Clustering Jieping Ye Department of Computer Science and Engineering Arizona State University
Strategies for Implementing Dynamic Load Sharing.
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.
ICDE A Peer-to-peer Framework for Caching Range Queries Ozgur D. Sahin Abhishek Gupta Divyakant Agrawal Amr El Abbadi Department of Computer Science.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Distributed Constraint Optimization * some slides courtesy of P. Modi
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
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/
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Distributed Constraint Satisfaction Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
Performance of Distributed Constraint Optimization Algorithms A.Gershman, T. Grinshpon, A. Meisels and R. Zivan Dept. of Computer Science Ben-Gurion University.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Semi-Supervised Clustering
Data Driven Resource Allocation for Distributed Learning
BackTracking CS255.
BnB vs Label Relaxation.
SINGLE-LEVEL PARTITIONING SUPPORT IN BOOM-II
A Study of Group-Tree Matching in Large Scale Group Communications
Parallel Programming By J. H. Wang May 2, 2017.
Dynamic Graph Partitioning Algorithm
Michael Langberg: Open University of Israel
Controlling the Cost of Reliability in Peer-to-Peer Overlays
A Distributed Algorithm for Minimum-Weight Spanning Trees
Chapter 6 Delivery & Forwarding of IP Packets
Wireless Sensor Network Architectures
Constraint Satisfaction Problems vs. Finite State Problems
Parallel Algorithm Design
Parallel Programming in C with MPI and OpenMP
Computer Science cpsc322, Lecture 14
Host Multicast: A Framework for Delivering Multicast to End Users
Finding Heuristics Using Abstraction
Constraint Propagation
Asynchronous Partitioning Framework
Computer Science cpsc322, Lecture 14
Dynamic Ordering for Asynchronous Backtracking on DisCSPs
Paraskevi Raftopoulou, Euripides G.M. Petrakis
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Design Hierarchy Guided Multilevel Circuit Partitioning
Heuristic Ordering for Asynchronous Backtracking
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
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Hierarchical Search on DisCSPs
Sudoku.
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EE 122: Intra-domain routing: Distance Vector
Parallel Programming in C with MPI and OpenMP
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
Constraint satisfaction problems
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

Hierarchical Search on DisCSPs Michael Orlov and Amnon Meisels Department of Computer Science Ben-Gurion University

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Overview Motivation - why search hierarchically ? Two parts Intelligent partition Descending Requirements Search (DesRS) Experimental evaluation Distributed partition… 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Why hierarchically ? Asynchronous search on DisCSPs comes in two forms Single search process – ABT Multiple search processes – ConcDB How to enhance concurrency ? Hierarchy can facilitate smart mechanisms for combining partial assignments (PAs) Independency of hierarchy and search 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

HS - Algorithms Overview Partition (forming a hierarchy) Agents select joining neighbors Formed components select a leader Leaders negotiate higher level joins Distributed formation of a binary tree Descending Requirements Search (DesRS) Start search processes at leaves Send PAs through leaders to all agents Keep Nogoods for backjumping 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Criteria for forming a partition Join strongly constraining agents Discarding small partial solutions Use Constraint weight: probability that a pair of values is not in conflict Higher level components - Virtual constraints Combination of constraints’ weights, approximated by multiplication 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Example: Partition Small graph-coloring problem Domains of a, c and d are {1,2,3} Domain of b is {1,2,3,4} 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Partition – 1st level Each agent sends Join to a minimal-weight neighbor a → c, b → a, c → d, d → c c and d join, send each other info about components – c is selected as leader c sends Done to a, b 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Partition – 2nd level a and b remove c from list of neighbors a and b join, and send Done to c a, b, c, d send Leader messages to selected leaders, b is selected as leader of {a, b} Leaders are activated at the next level (cannot be confused by previous levels messages) b and c join, picking d as leader 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

The resulting Partition a hierarchy of agents d sends Search message to all agents in order to initiate the search process 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Example: DesRS Each agent initiates a backtracking process Processes are independent Consider one originating at a Note: numbers of processes and of agents are independent 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs DesRS – search example a to leader b: <a = 1> Leader b forwards to leaf b  sends <a = 1,b = 2> up Leader b forwards to leaf d via leaders d, c Leaf d to leader c: <a = 1,b = 2,d = 1> 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DesRS – completing the search Leaf c sends to leader c a complete solution <a = 1,b = 2,d = 1,c = 3> Leader c forwards it to USER via leader d No backtracking! But backtracking works as expected (Nogoods) 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Algorithm: Partition Agents try to join neighbors with minimal weight: Join and NoJoin messages Joining agents exchange component information with Component messages Removing joined neighbors and environment for next level: Done messages Leader activation: Leader messages Agents can be self-leaders 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Partition (large example I ) Randomly generated CSP, p1 = p2 = 0.4 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Partition (large example II) Subsequent levels during partitioning 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Partition (large example III) Resulting hierarchy 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Algorithm: DesRS Agents initiate a backtracking search Representative agents serve as routers Search processes are independent Run concurrently Assignment and Nogood messages Hierarchy serves as de-facto ordering 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DesRS - Algorithm Outline Input : agent s, partition output, domain D, child agents Output : a global solution is sent to USER Upon Search message: each primitive agent sends empty Assignment message to itself, with unique ID: (PA, Domain, United-Explanation) Upon Assignment message to representative agent: route message up or down 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Algorithm Outline Upon Nogood message: expand United-Explanations in the corresponding mapping Additionally, upon Assignment or Nogood message to primitive agent: find new non-conflicting value v in domain (expanding United-Explanations) If such v exists, send extended Assignment message up, otherwise send Nogood with United-Explanations to the “culprit” 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Experimental Results DesRS vs. ABT & ConcDB

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Runtime (NCCCs) DesRS, ABT on random problems with 10 agents, domain size of 10, and p1 = 0.5 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Total number of messages DesRS, ABT on random problems with 10 agents, domain size of 10, and p1 = 0.5 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Larger problems 20 agents, domain size of 10, and p1 = 0.4 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Larger problems - messages 20 agents, domain size of 10, and p1 = 0.4 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Concurrent search DesRS vs. ConcDB [Zivan and Meisels, 2006] random problems with 10 agents 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Concurrent search - messages DesRS vs. ConcDB [Zivan and Meisels, 2006] random problems with 10 agents 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Importance of Partition What if we change the order of neighbors during partition (20 agents, 10 values, p1 = 0.4) ? 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Opposite order - messages Minimally constrained first (20 agents, 10 values, p1 = 0.4) 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

Beyond Search

Partition: Additional applications Social networks P2P communication load balancing Partition is fast! 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs

DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs Conclusions Hierarchical search produces concurrent computation Better than asynchronous backtracking in both run-time and communication load Comparable run-time to concurrent search More than one form of search that uses a hierarchy – many possible improvements Partition into a hierarchy is useful for multiple goals 17/01/2019 DisCSP_06 (ECAI-06) - Hierarchical Search on DisCSPs