Task Passing Task Passing as Resource Allocation as Resource Allocation Matching agents (which are resources for task accomplishment) to tasks (which consume resources) can be viewed as a supply-and-demand problem Market mechanisms can be employed to make the most efficient allocations – Assuming a static set of supply/demand – Otherwise, “continuously clearing” auction can make fewer guarantees The University of Michigan The University of Michigan
Example 2: Cooperative Mazes Example 2: Cooperative Mazes Do you search a maze from start to end, or end back to start? For cooperative search, you can work bidirectionally in parallel Try it! The University of Michigan The University of Michigan
Example 2: Cooperative Mazes Example 2: Cooperative Mazes The University of Michigan The University of Michigan
Example 2: Discussion Example 2: Discussion Perhaps not as easy as you might have thought? Issues in “connecting up” the partial paths? Redirecting partner’s search to approach your partial path? No longer could really do your task without having a sense of the partial result of someone else The University of Michigan The University of Michigan
Result Sharing Result Sharing For some problems, task assignment isn’t the hard part: – Might be inherently given based on goals agents are “born” with – Might be trivially accomplished However, how a task is done could be very dependent on how other tasks are done! The University of Michigan The University of Michigan
Performance Measures Performance Measures Completeness: Amount of the task(s) accomplished Timeliness: How soon tasks will be completed Precision: How close to optimal (rather than only satisfactory) the results will be Confidence: Certainty that task results are (or will be) satisfactory The University of Michigan The University of Michigan
Distributed Constraint Satisfaction Distributed Constraint Satisfaction A simple example of result sharing An agent has the “task” of binding values to one or more variables Interdependence arises because of constraints that must hold between the values assigned to variables that are managed by different agents The University of Michigan The University of Michigan
Constraint Satisfaction Constraint Satisfaction x 1 {1, 2} • Variables Variables • • Domains Domains • <> • Constraints Constraints • x 2 {1, 3} The University of Michigan The University of Michigan
Solving a CSP Solving a CSP {1, 2, 3} {1, 2} 2 + x 1 x 2 x 2 x 1 gets x 1 <> x 2 x 1 gets = 1 3 2 x 3 x 2 gets x 4 <> x 3 x 2 gets 1 2 1 2 1 2 x 4 x 3 x 3 gets x 3 gets 1 1 1 3 1 1 3 3 3 1 3 3 {1} {1, 3} x 4 gets x 4 gets 1 1 1 1 1 1 1 1 1 1 1 1 The University of Michigan The University of Michigan
Variable Ordering Variable Ordering • Better Average Case Performance • Better Average Case Performance {1, 2} {1, 2, 3} x 1 2 x 4 = 1 = 1 + x 1 x 2 x 2 = x 1 <> x 2 x 2 x 3 = 2 = 3 x 3 x 4 <> x 3 x 3 x 2 = ? = 1 x 4 x 3 x 4 x 1 = 2 {1} {1, 3} Most Constrained Variable Heuristic Most Constrained Variable Heuristic The University of Michigan The University of Michigan
Challenges With Agent Agent Ordering Ordering Challenges With Agents with Agents with • A total ordering of the agents Variables Variables controls the concurrent search A A – Information flow – Conflict resolution • The total order greatly affects average search time B B • Ordering heuristics aggregate information about variables, domains, and constraints on agents C C The University of Michigan The University of Michigan
Least- -Constrained Agent Ordering Constrained Agent Ordering Least • Harder in general since (in • Harder in general since (in CDPS) each agent has CDPS) each agent has Package Delivery Agents Package Delivery Agents many local variables many local variables • Degree of constraint on an • Degree of constraint on an agent (its variables) agent (its variables) evolves over time as some evolves over time as some (combinations of) values (combinations of) values are ruled out are ruled out The University of Michigan The University of Michigan
Example DCSP Protocols Example DCSP Protocols (Yokoo Yokoo) ) ( • Asynchronous Backtracking Asynchronous Backtracking • – parallel local CSP solving parallel local CSP solving – – concurrent, asynchronous, and optimistic passing of concurrent, asynchronous, and optimistic passing of – bindings downward in agent ordering bindings downward in agent ordering – no no- -goods passed back up triggering re goods passed back up triggering re- -search search – • Weak Commitment Search Weak Commitment Search • – agent who discovers a no agent who discovers a no- -good is moved to the top of good is moved to the top of – the agent ordering the agent ordering – assumed to reflect more constrained agent assumed to reflect more constrained agent – The University of Michigan The University of Michigan
Analysis of Protocols Analysis of Protocols Advantages Disadvantages Advantages Disadvantages • Parallelism Parallelism • Fixed ordering strategies Fixed ordering strategies • • – ABT: Static ABT: Static – • Some search for a Some search for a • – WC: Fixed trigger/response WC: Fixed trigger/response good ordering – good ordering • Potential rediscovery of no Potential rediscovery of no- - • = A 1 = A 1 goods due to different goods due to different = B 3 = B 3 = B 3 = B orderings 3 orderings NG (A 1 B 3 ) NG (A 1 B 3 ) = A 1 = A 1 NG (A 1 B 3 ) NG (A 1 B 3 ) The University of Michigan The University of Michigan
Overall Protocol Overall Protocol • Designated agent initiates an epoch upon start up Designated agent initiates an epoch upon start up • or when reprioritization conditions met or when reprioritization conditions met • Epochs continue until a solution is found or an Epochs continue until a solution is found or an • agent has an empty domain agent has an empty domain – Each agent calculates a local priority measure. Each agent calculates a local priority measure. – – The agents form a total order by exchanging priority The agents form a total order by exchanging priority – information. information. – The agents search for a solution using the modified The agents search for a solution using the modified – version of asynchronous backtracking. version of asynchronous backtracking. The University of Michigan The University of Michigan
Agent Behavior During Epoch Agent Behavior During Epoch • Repeat until instructed to halt or Repeat until instructed to halt or • reprioritize reprioritize – Pick values for the local variables consistent Pick values for the local variables consistent – with the constraints and the (known) values of with the constraints and the (known) values of higher priority agents higher priority agents – If the values differ from the previous iteration If the values differ from the previous iteration – then alert the next agent in the linear order then alert the next agent in the linear order – Else if no values possible then alert the Else if no values possible then alert the – previous agent of a no- -good good previous agent of a no The University of Michigan The University of Michigan
Reprioritization Conditions Reprioritization Conditions • When “Significant” No When “Significant” No- -good Discovered good Discovered • – Avoid Frequent Restarts Avoid Frequent Restarts – – The significance approximated by the number The significance approximated by the number – of agents involved in the no- -good good of agents involved in the no • Reprioritize when the size of the no Reprioritize when the size of the no- -good < good < • m, a constant a constant m, The University of Michigan The University of Michigan
Reordering Between Reordering Between Problem- -Solving Epochs Solving Epochs Problem Dynamically Better? Bad Ordering Good Ordering Good Ordering B A A B A A C C B C C B A B C A B C The University of Michigan The University of Michigan
Most Constrained Agent Heuristics Most Constrained Agent Heuristics • How Many Local Solutions? How Many Local Solutions? • Agent A with Constraint Graph Agent A with Constraint Graph The University of Michigan The University of Michigan
Finding Most Constrained Agents: Finding Most Constrained Agents: Reduce agent to a variable Reduce agent to a variable A A A: 1 Path A: 1 Path C C B B B: 6 Paths B: 6 Paths (3 x) (3 x) C A C A C: 2 Paths C: 2 Paths B B The University of Michigan The University of Michigan
Finding Most Constrained Agents: Finding Most Constrained Agents: Approximations Approximations • Use total, average, or weighted average of Use total, average, or weighted average of • variable’s domain sizes variable’s domain sizes • Use number of no Use number of no- -goods discovered or a goods discovered or a • decaying average of no- -goods discovered goods discovered decaying average of no – with exponential decay -> weak commitment • Search with a Genetic Algorithm Search with a Genetic Algorithm • The University of Michigan The University of Michigan
Subset of Results Subset of Results Messages Time Messages Time 600 600 400 400 400 400 200 200 200 200 0 0 0 0 Random No Goods Local Solutions Random No Goods Local Solutions Random No Goods Local Solutions Random No Goods Local Solutions The University of Michigan The University of Michigan
Evaluation of the Heuristics Evaluation of the Heuristics • Good orderings had a significant impact. Good orderings had a significant impact. • • The number of local solutions heuristic is best. The number of local solutions heuristic is best. • • The number of no The number of no- -goods heuristic worked well. goods heuristic worked well. • • The total number of no The total number of no- -goods is more important goods is more important • than a decaying average of the number of no- -goods. goods. than a decaying average of the number of no The University of Michigan The University of Michigan
DCSP Summary DCSP Summary • Older algorithms were generalized to allow Older algorithms were generalized to allow • flexible reordering between epochs of flexible reordering between epochs of (modified) ABT (modified) ABT • Agent Agent- -level heuristics for aggregating level heuristics for aggregating • variable information performed well variable information performed well • Dynamically acquired information can help Dynamically acquired information can help • The University of Michigan The University of Michigan
Negotiated Search Negotiated Search What if, as in distributed design, the constraints aren’t well-defined at outset, and problem might be overconstrained? – Use a shared repository (e.g., blackboard) so that decisions made by one agent can be noticed by affected agents – Permit agents to relax some “constraints” Now, distributed search involves initiating, extending, and critiquing posted partial solutions, along with relaxation The University of Michigan The University of Michigan
Constrained Heuristic Search Constrained Heuristic Search Essentially, view a variable as having an agent associated with it Agent receives competing demands for the variable’s value assignment Agent aggregates demands, and can inform agents that submitted demands of the aggregate demand Process iterates until demands converge and assignments are made The University of Michigan The University of Michigan
DCHS for Resource Allocation DCHS for Resource Allocation 1. Each agent has tasks and constraints between them (e.g., ordering) 2. Agent determines how much of which resources it needs and when 3. Agent sends these to “resource” agents 4. Resource tells agents of aggregate demands 5. An agent uses aggregate demands to adjust ordering decisions and resource assignment requests 6. Process can repeat, or an agent might ask resource to commit to a particular assignment 7. If request granted, propagate commitment effects and go to step 2; else change request The University of Michigan The University of Michigan
Auctions for Resource Allocation Auctions for Resource Allocation Enough said? The University of Michigan The University of Michigan
Functionally Accurate, Functionally Accurate, Cooperative Cooperative Consider extreme case: which partial results should be pieced together and how is entirely unpredictable! In that case, each agent should share with all other agents each of its partial results Eventually, pieces will come together at right agents to be combined into larger and larger results Much effort could be wasted: functionally accurate means overall outcome achieves outcome but individual activities might be unproductive Agents cannot act independently: cooperative means that co-routining is crucial The University of Michigan The University of Michigan
Improving FAC Improving FAC “Each agent should share with all other agents each of its partial results” can be far too costly! Avoid sharing every single partial result – but what if a crucial one isn’t shared? Avoid sharing partial results with all other agents – but what if the right agent doesn’t get it? The University of Michigan The University of Michigan
Communication Strategies Communication Strategies Sending too many partial results can consume bandwidth and computational resources, and can distract recipients into unproductive efforts, such as duplicating search going on elsewhere Chicken-and-egg problem: Hard to know if a partial result is useful until it is sent! Role of partial result: – Contribute to solution: in that case, wait until the whole partial result is done before sending – Redirect other agents: in that case, send early piece to provide guidance Example: Distributed Theorem Proving The University of Michigan The University of Michigan
Organizational Structuring Organizational Structuring If agents know something about “interests” or responsibilities of others, can avoid sending them uninteresting messages Knowledge of local organization can be used by an agent to target messages In simple form, have templates for other agents: if a partial result matches its template, then send it to the agent Richer forms to prioritize communication and processing, and even meta-level! The University of Michigan The University of Michigan
OS Example: OS Example: Distributed Vehicle Monitoring Distributed Vehicle Monitoring The University of Michigan The University of Michigan
Organization Design Organization Design Given that what is desired is a combination of static roles/guidance (called the organization).. ... and runtime coordination mechanisms to revise/refine organizational structure... ... how do we analyze/predict the performance of such combinations to codesign the organization and the agents’ coordination mechanisms. The University of Michigan The University of Michigan
Multilevel Hierarchical Organization ((A B C D E F G H I)) 1 ((A B C)) ((G H I)) ((D E F)) 2 3 4 5 6 7 8 9 10 11 12 13 ((A)) ((B)) ((C)) ((D)) ((E)) ((F)) ((G)) ((H)) ((I)) • N tasks (in example, 9: A-I) • k subordinates (in example, 3) • m tasks per role at leaves (in example, 1) Task results passed back up and synthesized; A-I must all be done. The University of Michigan The University of Michigan
Organization Reliability Through Redundancy Organization Reliability Through Redundancy ((A B C D E F G H I)) 1 ((A B C) ((G H I) ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) 5 6 7 8 9 10 11 12 13 ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) • o out of k subordinates can fail (example, 1) • potential duplication of effort (e.g., D, E, F, I) • delays in completing tasks (in example, A) The University of Michigan The University of Michigan
Purposes of Runtime Coordination Purposes of Runtime Coordination • When agents don’t fail, they should be working on complementary tasks – less coordination needed if no redundancy • When agents do fail, the remaining agents should occupy the most important roles – less coordination needed if total redundancy The University of Michigan The University of Michigan
Performance Measures: Performance Measures: Response Time Response Time • Besides N , k , m , and o , parameters are – γ = task execution time / comm delay (assumed to be 1 here) – s = coordination strategy – f = agent failure probability (assumed constant and independent here) • Response time also depends on: – which agents fail – what the others do The University of Michigan The University of Michigan
Response Distribution Response Distribution for a Configuration for a Configuration ((A B C D E F G H I)) • For a For a 1 • particular ((A B C) ((G H I) particular ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) configuration configuration 5 6 7 8 9 10 11 12 13 of failed of failed ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) agents, agents, Response Time Distribution response response 0.25 0.2 0.15 depends on depends on 0.1 0.05 task ordering 0 task ordering 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 Response Time The University of Michigan The University of Michigan
Response Distribution Response Distribution for an Organization for an Organization ((A B C D E F G H I)) 1 For an For an ((A B C) ((G H I) ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) organization, , organization 5 6 7 8 9 10 11 12 13 response time response time ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) is combined is combined Distribution Across Configurations 0.12 distribution distribution 0.1 given f f (for (for given 0.08 0.06 probabilities of probabilities of 0.04 0.02 configurations) configurations) 0 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 Response Time The University of Michigan The University of Michigan
Performance Measures: Performance Measures: Reliability Reliability • Response time data only for when Response time data only for when • organization responds organization responds – minimized when no redundancy! • Need to factor in reliability Need to factor in reliability • – penalize organization for brittleness The University of Michigan The University of Michigan
Performance Measures: Performance Measures: Combined RT and Reliability Combined RT and Reliability • Give problem to organization Give problem to organization • • Restart if no result by max response time Restart if no result by max response time • (assume random configuration) (assume random configuration) • Repeat until succeeds Repeat until succeeds • th iteration is Probability of success on i i th iteration is Probability of success on i- -1 1 x (1 f i x (1- -f) f) f f is probability of failure on an iteration is probability of failure on an iteration f The University of Michigan The University of Michigan
Summary Performance Profile Summary Performance Profile Overall performance is Distribution Across Configurations 0.12 the expected response 0.1 0.08 time of this profile 0.06 0.04 0.02 0 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 Response Time Total area sums to 1 The University of Michigan The University of Michigan
Runtime Coordination Strategies: Runtime Coordination Strategies: Role/Task Assignment Role/Task Assignment ((A B C D E F G H I)) 1 ...by (re)allocating roles ...by (re)allocating roles ((A B C) ((G H I) (same as tasks) at runtime (same as tasks) at runtime ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) ((A B C D E F G H I)) 5 6 7 8 9 10 11 12 13 1 ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) ((A B C) ((G H I) ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) Increase the chances of a Increase the chances of a 5 6 7 8 9 10 11 12 13 working configuration... working configuration... ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) The University of Michigan The University of Michigan
Effects of Role/Task (Re)Allocation Effects of Role/Task (Re)Allocation Expected response Expected response Area increases time decreases time decreases Area decreases Area decreases Total area still sums to 1 The University of Michigan The University of Michigan
Runtime Coordination Strategies: Runtime Coordination Strategies: Task Coordination/Scheduling Task Coordination/Scheduling ((A B C D E F G H I)) 1 ...by (re)ordering tasks at ...by (re)ordering tasks at ((A B C) ((G H I) runtime runtime ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) ((A B C D E F G H I)) 5 6 7 8 9 10 11 12 13 1 ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) ((A B C) ((G H I) ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) Decrease the runtime of a Decrease the runtime of a 5 6 7 8 9 10 11 12 13 working configuration... working configuration... ((A D) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((I H) ((I G) (B E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) The University of Michigan The University of Michigan
Effects of Local Task Reordering Effects of Local Task Reordering Expected response Expected response time decreases time decreases Area under each curve constant The University of Michigan The University of Michigan
Runtime Coordination Strategies: Runtime Coordination Strategies: Combined Combined ((A B C D E F G H I)) 1 ...by (re)allocating roles ...by (re)allocating roles ((A B C) ((G H I) and (re)ordering tasks and (re)ordering tasks ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) ((A B C D E F G H I)) 5 6 7 8 9 10 11 12 13 1 ((A B) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((H I) ((I G) (D E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) ((A B C) ((G H I) ((D E F) (D E F)) (A B C)) 2 3 4 (G H I)) Decrease runtime and Decrease runtime and 5 6 7 8 9 10 11 12 13 number of tries... number of tries... ((A D) ((B C) ((C A) ((D E) ((E F) ((F D) ((G H) ((I H) ((I G) (B E)) (E F)) (F D)) (G H)) (H I)) (I G)) (A B)) (B C)) (C A)) The University of Michigan The University of Michigan
Effects of Combined Strategies Effects of Combined Strategies Expected response Expected response time decreases time decreases The University of Michigan The University of Michigan
Experimental Comparisons Experimental Comparisons • Number of tasks N=36 • Organization 1: branching factor 3, 4 leaf tasks -> 13 roles 1 2 3 4 5 6 7 8 9 10 11 12 13 • Organization 2: branching factor 2, 9 leaf tasks -> 7 roles 1 3 2 6 4 5 7 The University of Michigan The University of Michigan
Organizational Structure Organizational Structure Comparison Comparison Small org more robust Organization Comparison: r-o-s Large org faster Redundancy crucial at 160 140 high failure rates 120 7-0-ALL 100 For same redundancy, 7-1-NONE 80 13-0-ALL ( o =1) larger org 13-1-NON 60 13-2-NON 40 better at low failures, 20 smaller better at high 0 0 0.1 0.2 0.3 0.4 agent failure prob f Figure 6 The University of Michigan The University of Michigan
Runtime Coordination Strategy Runtime Coordination Strategy Comparison Comparison Strategy Comparison for r=13, o=2 Low failure: Local Task 120 Reordering 100 dominates 80 13-2-NONE 13-2-LTR High failure: 60 13-2-RR 13-2-BOTH Role Realloc 40 dominates 20 0 0 0.1 0.2 0.3 0.4 0.5 agent failure prob f The University of Michigan The University of Michigan
Organizational Features Organizational Features and Runtime Coordination and Runtime Coordination • When o =0 (no redundancy) neither strategy helps • As o grows – LTR matters more, due to more bad orders – RR matters more, due to configurations that tolerate even more failures The University of Michigan The University of Michigan
Factoring in Coordination Costs Factoring in Coordination Costs ∆ RT = [ α *(m(o+1)) a + β∗ a 2 ] * RT Comparisons Including Coordination Coordination costs Costs rise as number of live 400 agents and number of 350 possible redundancies 300 rise 7-1-NONE 250 13-1-NONE 13-2-NONE 200 7-1-BOTH-C Choice of org and 13-1-BOTH-C 150 13-2-BOTH-C coord strategies 100 based on expected 50 operating conditions 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 agent failure prob f The University of Michigan The University of Michigan
Task Structures Task Structures An analysis about the relationships among the distributed tasks permits identification of agent relationships Which (partial) results an agent shares, with whom, and when, can enable (or disable) another agent in accomplishing its tasks, or can facilitate or hinder its performance, along with affecting timeliness, confidence, and precision The University of Michigan The University of Michigan
Other “Sharing” Strategies Other “Sharing” Strategies Sharing of knowledge or expertise (capabilities) – Instead of moving tasks to agents that know how to do them, move “know how” to agents that have tasks – Essentially allows “replication” of agent capabilities in the MAS – Depending on the nature of the application, moving capabilities might be more efficient (especially for prolonged/repeated tasks) than moving tasks The University of Michigan The University of Michigan
Planning Planning How does planning differ from problem solving? – Russell and Norvig: Planning combines PS and logic – assumes a logical representation of states, goals, and operators – State is really of knowledge, and thus can be partial, representing multiple “real” states – Operators manipulate logical expressions, and thus can also remain agnostic about specific worlds (recall Kripke structures?) The University of Michigan The University of Michigan
Distributed Planning Distributed Planning In a sense, it is a subset of DPS – Makes stronger assumptions about the representations of problem states and operators – Assumes that the purpose of problem solving is to construct and/or execute a plan Typically goes on concurrently with DPS – DPS requires agents to work together in a coordinated manner – Coordinating their current and future activities can be done, among other ways, by planning The University of Michigan The University of Michigan
Kinds of Distributed Planning Kinds of Distributed Planning Goal is to formulate a plan, but capabilities or expertise to do so is distributed: DPS with heterogeneous agents where the problem is to construct a plan Goal is to have a distributed plan, where each agent has its piece of the plan that, in concert with others, achieves goal – Could be formed in a centralized manner – Could be formed in a distributed manner The University of Michigan The University of Michigan
Cooperative Plan Construction Cooperative Plan Construction Employ DPS techniques: allocate portions of plan construction task to “experts”, discover and reconcile constraint conflicts, share and extend partial plans Recall cooperative maze solving Requires a plan representation and ontology that is understood across multiple agents Requires implications of some design decisions to be understood by other agents The University of Michigan The University of Michigan
Cooperative Plan Construction Cooperative Plan Construction Examples Examples Manufacturing: general fabrication planner calls on specialists in geometry, fixturing Logistics planning: overall mission requires contributions from specialists in path planning, vehicle loading and dispatching End-to-end communications: experts in routing messages through regions cooperate to form an end-to-end plan The University of Michigan The University of Michigan
Example 3: Pursuit Task Example 3: Pursuit Task The University of Michigan The University of Michigan
Example 3: Discussion Example 3: Discussion Deciding on an assignment of goals to agents Finding non-conflicting plans for agents to achieve their goals Timing the pursuit of those plans to converge at a solution at the right time Assuming global awareness and control, a centralized planner can be very effective! The University of Michigan The University of Michigan
Centralized Planning for Centralized Planning for Distributed Plans Distributed Plans For known agents, search for a sequence of simultaneous operator executions (including no-op) that lead to a goal state: – Model state as the global state – Branching factor is the number of combinations of applicable local operators The University of Michigan The University of Michigan
Centralized Planning for Centralized Planning for Distributed Plans Distributed Plans For exploiting available (homogeneous) agents: 1. Generate a partial order plan with minimal ordering constraints 2. Assign strongly ordered threads to different agents 3. Insert synchronization actions to maintain ordering between agents 4. Allocate partial plans to agents using task- passing 5. Initiate execution The University of Michigan The University of Michigan
Example 4a: “Blocks World” Example 4a: “Blocks World” Either vertically or horizontally: Arrange the letters to have “B” and “S” next to each other The University of Michigan The University of Michigan
Example 4a: “Blocks World” Example 4a: “Blocks World” Either vertically or horizontally: Arrange the letters to have “O” and “K” next to each other The University of Michigan The University of Michigan
Example 4a: Discussion Example 4a: Discussion When agents are pursuing goals that can be achieved via independent plans, having each agent plan separately and not worry at all about the other(s) suffices How would the agents have known? Compare plans? Compare goals? Execute and deal with conflicts if and when they arise? The University of Michigan The University of Michigan
Example 4b: “Blocks World” Example 4b: “Blocks World” Either vertically or horizontally: Arrange the letters to have the sequence “LOCK” appear The University of Michigan The University of Michigan
Example 4b: “Blocks World” Example 4b: “Blocks World” Either vertically or horizontally: Arrange the letters to have the sequence “SOB” appear The University of Michigan The University of Michigan
Example 4b: Discussion Example 4b: Discussion In some sense, plans/goals were independent, but shared a (sharable) resource How could you have quickly determined how to coordinate? – Compared plans? – Compared specific goal state options? The University of Michigan The University of Michigan
Plan Merging Plan Merging Given the candidate plans of the agents, consider all possible combinations of plans, executed in all possible orderings (interleavings or even simultaneous) Generate all possible reachable sequences of states For any illegal (inconsistent or otherwise failure) states, insert constraints on which actions are taken or when to ensure that the actual execution cannot fail The University of Michigan The University of Michigan
Plan Merging Algorithm- -1 1 Plan Merging Algorithm Each action has pre-conditions, post-conditions, and during-conditions (optional) 1. Compare an agent’s actions against each action of the other agents (O(n 2 a) comparisons) to detect contradictions between pre, post, and during conditions 2. If none, pair of actions commute and can be carried out in any order. 3. If some, determine if either can precede the other (post-conditions of one compatible with pre-conditions of other) 4. All simultaneous or ordered executions not safe are deemed “unsafe” The University of Michigan The University of Michigan
Plan Merging Algorithm- -2 2 Plan Merging Algorithm Ignore actions that commute with all others Complete safety analysis by propagation 1. Beginning actions a and b is unsafe if either consequent situation (adding post-conds of a to b, or b to a) leads to an unsafe ordering 2. Beginning a and ending b is unsafe if ending a and ending b is unsafe 3. Ending a and ending b is unsafe if both of the successor situations are unsafe The University of Michigan The University of Michigan
Plan Merging Algorithm- -3 3 Plan Merging Algorithm In planning, assumption is that plan step interactions are exception Therefore, dropping commuting actions leaves very few remaining actions Examining possible orderings and inserting synchronization actions (messages or clock-times) therefore becomes tractable The University of Michigan The University of Michigan
Example 4c: “Blocks World” Example 4c: “Blocks World” Either vertically or horizontally: Arrange the letters to have the sequence “SLOB” appear The University of Michigan The University of Michigan
Example 4c: “Blocks World” Example 4c: “Blocks World” Either vertically or horizontally: Arrange the letters to have the sequence “LOCK” appear The University of Michigan The University of Michigan
Recommend
More recommend