CS483/683 Multi-Agent Systems Lecture 2: Distributed variants of 2 important AI problems: Search and Constraint Satisfaction 21 January 2010 Instructor: Kostas Bekris Computer Science & Engineering, University of Nevada, Reno
CS483 Search on a Graph Consider a weighted directed graph n nodes N directed links L a weight function w: L → R + a start node s ∈ N a goal node t ∈ N or more generally a set of goal nodes T ⊂ N a b c d st Objective: Find a directed path from s to t having minimal total weight. Difference from typical AI view of the problem: Distributed solutions Each node performs only a local computation Each node has access only to the state of its neighbors
CS483 Distributed Path Planning procedure ASYNCH DP if i is a goal node then h(i) ← 0 else h(i) ←∞ repeat forall neighbors j do f(j) ← w(i,j) + h(j) h(i) ← min j f(j) a b c d st ∞ ∞ ∞∞ ∞ 0 a b c d st ∞ ∞ ∞1 3 0 a b c d st ∞
CS483 Learning Real-Time A* a b c d st procedure LRTA* i ← s while i is not a goal node do foreach neighbor j do f(j) ← w(i,j) + h(j) i’ ← argmin j f(j) h(i) ← max(h(i),f(i’)) i ← i’
CS483 Learning Real-time A* a b c d st a b c d st a b c d st a b c d st
CS483 Learning Real-Time A* - Multiple Agents a b c d st a b c d st a b c d st
CS790E Distributed Constraint Satisfaction Example: Sensor Networks Multiple processing units: local sensing capabilities limited processing power limiter power supply limited communication bandwidth Must provide, however, a global service as a team What algorithm should each agent run so that the center can still piece together a reliable global picture?
CS790E Running example: 3 sensors Three sensors with overlapping coverage regions Each sensor can choose 1 of 3 possible frequencies All frequencies work well as long as no two sensors with overlapping coverage areas share the same frequency Sensors have to decide frequencies for themselves Abstraction: Graph Coloring Problem Nodes: Sensors Frequencies: Colors Edges: If corresponding nodes share coverage area Choose a color for each node so that no 2 neighboring nodes have same color {red, blue, green} ≠≠ ≠
CS790E Distributed CSP Two types of algorithms 1. A least-commitment approach: Domain Pruning Rule out impossible values without losing any possible solutions 2. More exploratory techniques: Heuristic Search Select tentative variable values, backtracking when these choices prove unsuccessful