490 likes | 677 Views
Finding Optimal Solutions to Cooperative Pathfinding Problems. Trevor Standley and Rich Korf Computer Science Department University of California, Los Angeles. Introduction. Pathfinding Problems A single agent must find a path from a start state to a goal state
E N D
Finding Optimal Solutions to Cooperative Pathfinding Problems Trevor Standleyand Rich Korf Computer Science Department University of California, Los Angeles
Introduction • Pathfinding Problems • A single agent must find a path from a start state to a goal state • Cooperative Pathfinding Problems • Multiple agents interact • Want to minimize the total cost
My Formulation • Gridworld pathfinding
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Related Work • Centralized Approaches • Strengths: Typically complete, can be optimal • Weaknesses: Takes forever! • Decoupled Approaches • Strengths: Fast • Weaknesses: Incomplete and suboptimal
Our Prior Work (Standley AAAI-10) • Independence Detection • Empowers centralized algorithms. • Combines the strength of centralized and decentralized approaches. • Maintains optimality and completeness.
From (Standley AAAI-10) Simple Independence Detection
From (Standley AAAI-10) Simple Independence Detection • Put each agent into its own group. • Plan paths for each group independently • Check for conflicts in new paths • Combine groups with conflicting paths • Repeat 2-4 until no conflicts
From (Standley AAAI-10) Simple Independence Detection
From (Standley AAAI-10) Simple Independence Detection Problem • Are these agents independent?
From (Standley AAAI-10) Simple Independence Detection Problem • Are these agents independent?
From (Standley AAAI-10) Better Independence Detection • When a conflict is detected between two groups, try to find an alternative path for one of the groups • If that fails try to find an alternate path for the other group • Only as a last resort do we combine the groups
From (Standley AAAI-10) Best Independence Detection • How can we make agent 2 take this path initially?
From (Standley AAAI-10) Best Independence Detection • Try to avoid future conflicts • avoid the current paths of other agents.
Reservation Tables • Illegal move table • Contains all the ways alternative paths could result in a conflict with the currently conflicting group. • Consider such moves illegal. • Conflict avoidance table • Contains all the ways alternative paths could result in a conflict with any other group • Keep track of conflict avoidance table violations and
From (Standley AAAI-10) Reservation Tables Illegal move table.
From (Standley AAAI-10) Reservation Tables Illegal move table.
From (Standley AAAI-10) Reservation Tables Illegal move table.
Reservation Tables • Illegal move table • Contains all the ways alternative paths could result in a conflict with the currently conflicting group. • Consider such moves illegal. • Conflict avoidance table • Contains all the ways alternative paths could result in a conflict with any other group • Keep track of conflict avoidance table violations
From (Standley AAAI-10) Reservation Tables Conflict avoidance table.
From (Standley AAAI-10) Reservation Tables Conflict avoidance table.
From (Standley AAAI-10) Reservation Tables Conflict avoidance table.
Complete Approximation Algorithms • Our previous work maintained optimality by: • Only accepting alternate paths if they have the same cost as original paths. • Coupling independence detection with an optimal centralized algorithm. • We recognize in our current work that we can drop these two constraints.
Complete Approximation Algorithms • Modifications to the centralized algorithm • Expand nodes with fewest violations first • Use cost to break ties
When to drop these constraints • Always • Leads to a fast and complete algorithm • When doing so avoids the creation of groups containing more than x agents • Leads to a slower but still fast algorithm • Produces higher quality paths
Parameterized Approximation • Maximum group size parameter x • Drop constraints to avoid creating groups larger than x. • x =1 : always drop the constraints. • x = ∞ : never drop the constraints (optimal) • The algorithm is complete for any choice of x
Simple Optimal Anytime Algorithm • Run the parameterized approximation with x = 1. • Then run the parameterized approximation with x = 2. • … • When we run out of time, we return the best solution found by any run.
Simple Optimal Anytime Algorithm Problem • The simple anytime algorithm suffers the cost of unused and incomplete iterations.
Optimal Anytime Algorithm Problem • Keep paths and groupings from previous iterations when possible. • Keep track of groups that might not have optimal paths. • Fix these paths one at a time starting with the easiest.
Optimal Anytime Algorithm • Keep a lower bound for each group. • When merging a group, add lower bounds
Optimal Anytime Algorithm • Update best path many times within an iteration. • Whenever the solution is conflict free we update the best solution found. • When lower bound equals cost, we’re done
Results • Our coarsest approximation is complete, has competitive running time, and produces superior solutions. • As an optimal algorithm, our anytime algorithm is competitive with our previous state-of-the-art. • If our anytime algorithm is terminated early, it often returns an optimal path.