210 likes | 437 Views
Distributed Constraint Satisfaction Problems. Chris Ray. Constraint Satisfaction Problems (CSPs). Textbook Definition: Set of variables V = {X 1 , X 2 , …,X n }, with each having an associated nonempty domain of possible values
E N D
Constraint Satisfaction Problems (CSPs) • Textbook Definition: • Set of variables V = {X1, X2, …,Xn}, with each having an associated nonempty domain of possible values • set of constraints C1, C2, …,Cm which contain subsets of V and specify a relationship within that subset among those variables according to some constraint language • An assignment that does not violate any constraints is called consistent
Constraint Satisfaction Problems (CSPs)1 • Well developed branch of Artificial Intelligence • Numerous Applications • Configuring, planning, scheduling, resource allocation • Advent of Internet has expanded their application
Distributed Constraint Problems(DisCSP)1 • One agent has all the information about the problem vs. multiple agents, each having some information about the problem (but not all) • Why have multiple agents?
Disadvantages of Traditional CSP Techniques for Distributed1 Problems • Cost of creating a central agent • Sensor networks, meeting schedule • Knowledge transfer costs • If internal decision processes for a variable (agent) are complex, centralized solver would have to discern constraints for all possible situations
Disadvantages of Traditional CSP Techniques for Distributed Problems • Privacy • If agents have to communicate constraints to a central solver, heightened risk of information being compromised • Robustness • A Distributed Solution would allow for agent failure, whereas if a central solver crashed, the problem can not be solved
Early DisCSP Algorithms • Work Pioneered by Makoto Yokoo • Assumptions • Each agent represents a variable • Agents communicate by sending messages • Finite, random delay between messages • Messages received in order that they are sent
Asynchronous Backtracking2 • Each agent starts with instantiated variables, and knows all constraints that concern it • Agent graph is connected, but not necessarily fully connected. Each agent has a set of values for the agents connected to it by incoming links (agent view) • agents can change their values or message agents that are linked to them • Messages are either Ok? Or noGood
Asynchronous Backtracking • Agent view: the values of all agents linked to a particular agent • Message Handling • Ok? -> Agent wants to know if it can assign a certain value to itself, so it asks another agent • Receiving agent updates agent view and checks for consistency, makes sure updated agent view is not a “noGood” • Oks only sent to lower priority agents • NoGood -> in evaluating an Ok? Message, an agent cannot find a value for itself that is consistent, then its updated agent view is noGood and a NoGood (backtracking) message is sent to another agent. • Nogoods only sent to higher priority agents • NoGoods can be seen as derived constraints
Preventing Infinite Loops • Have total order among agents for communication • Only need to know order of agents that one agent is linked to
Example: Asynchronous Backtracking Source: M. Yokoo, E.H. Durfee, T. Ishida, K. Kuwabara, Distributed constraint satisfaction for formalizing distributed problem solving, in: 12th International Conference on Distributed Computing Systems (ICDCS-92), 1992, pp. 614–621.
Comparison Source: M. Yokoo, E.H. Durfee, T. Ishida, K. Kuwabara, Distributed constraint satisfaction for formalizing distributed problem solving, in: 12th International Conference on Distributed Computing Systems (ICDCS-92), 1992, pp. 614–621.
Asynchronous Weak-Commitment Search (AWC)2 • Improvement over asynchronous backtracking • Uses local dynamic priority values rather than static global ordering • When an agent generates a nogood value, it promotes itself within its local network
How to think about ABT and AWC • In ABT, an agent backtracks at dead-ends by sending a nogood to a higher priority agent • in AWC, an agent gives up the attempt to satisfy its constraints and delegates the problem to other agents by raising its own priority
Comparison Source: M. Yokoo, E.H. Durfee, T. Ishida, K. Kuwabara, Distributed constraint satisfaction for formalizing distributed problem solving, in: 12th International Conference on Distributed Computing Systems (ICDCS-92), 1992, pp. 614–621.
Distributed Breakout Algorithm3 • Agents have a starts state which they repeatedly change in attempt to minimize “cost”, or the amount of constraint violation • Constraints are weighted with an initial value of 1 • The cost of a proposed solution is the sum of the weights of all the constraints that it violates • Communication between agents tells them information about the “costs” of their proposed changes • If an agent gets trapped in a local minimum for cost, it alters the weights to escape
Distributed Breakout Algorithm • Outperforms Multi-AWC (AWC with multiple variables for each agent) • Sometimes shows very poor performance for a few specific test cases • However, algorithm is incomplete
Other Algorithms Out There4 • Distributed Stochastic Algorithms • Controversy over their performance in comparison to these benchmark algorithms
Persisting Issues for DisCSP1 • High price paid in message traffic (efficiency) • Current algorithms make strict assumptions about what agents know • High trade off between privacy and efficiency • More research needed in characterizing agent failure with respect to different algorithms
Works Cited • 1. M. Yokoo, E.H. Durfee, T. Ishida, K. Kuwabara, “The distributed constraint satisfaction problem: formalization and algorithms”, IEEE Trans. Knowledge Data Engrg. 10 (5) (1998) 673–685. • 2. Faltings, Boi, and Yokoo, Makoto, “Introduction: Special Issue on Distributed Constraint Satisfaction”, Artificial Intelligence 161 (2005) 1–5. • 3. Hirayama, Katsutoshi, and Yokoo, Makoto, “The Distributed Breakout Algorithms”, Artificial Intelligence 161 (2005) 89-115. • 4. W. Zhang, Z. Xing, Distributed breakout vs. distributed stochastic: a comparative evaluation on scan scheduling, in: Proceedings of the Third International Workshop on Distributed Constraint Reasoning, 2002, pp. 192–201.