Multi-Agent Pathfinding, Challenges and Solutions
Multi-Agent Pathfinding, Challenges and Solutions
K (# agents)
MAPF
solvers
Non- Optimal
optimal
Main approaches
MAPF
solvers
Non- Optimal
optimal
CA*:
1. For each agent
1.2 p plan a path to goal //ignore other agents
1.3 for each step in p //(time,location) pair
1.3.2 block p for other agents
Return list of paths //path per agent
Cooperative A* (David Silver)
Step 1:
Plan blue agent
Cooperative A* (David Silver)
Step 1:
Plan blue agent
0
Cooperative A* (David Silver)
Step 1:
Plan blue agent
1 0
Cooperative A* (David Silver)
Step 1:
Plan blue agent
1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2:
Plan red agent
2
1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2:
Plan red agent
2
0 1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2:
Plan red agent
2
Wait
0 1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2: 2
Plan red agent
1
0 1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2: 2 3
Plan red agent
1 2
0 1 0
Cooperative A* (David Silver)
Step 1:
3
Plan blue agent
DONE!
Step 2: 2 3
Plan red agent
4
1 2
DONE!
Step N:
0 1 0
Plan N agent
Cooperative A* (David Silver)
Not complete
Not optimal
Main approaches
MAPF
solvers
Non- Optimal
optimal
MAPF
solvers
Non- Optimal
optimal
Optimal approach
Agents are planned together
Optimal solution (focus of our research)
Complete
Exponentially hard
NP-Complete (makespan variant)
[P. Surynek, AAAI, 2010]
possible 5
moves
!Stay possible 5
moves
!Stay
Search Tree Growth
a b c
Root
a,i
d e f
g h i
d,f d,h d,i b,f ...
SIC=3+3=6
Solution #1:
Given:
State <position(a1), position(a2), position(ak)>
Operators per state All single agent moves combinations
Admissible heuristic Sum of Individual Costs
Use A*
*A
State.g: distance of the state from the initial state
Keep track of distance while progressing (like in dijkstra)
State.h: assumption of distance remaining to goal
SIC heuristic
State.f: state.g + state.h
Length assumption of the best path through the state
Run a best-first search according to f values
Optimal solution (if h is admissible)
complete
Open
Irrelevant states
r
3
Open
r
3
Irrelevant states
r
3
Open
r
3
Irrelevant states
r
3
a b c d
3 3 5 6
Open
r
3
Irrelevant states
r
3
a b c d
3 3 5 6
Open
a b c d
3 3 5 6
Irrelevant states
r
3
a b c d
3 3 5 6
Open
a b c d
3 3 5 6
Irrelevant states
r
3
a b c d
3 3 5 6
Open
a b c d
3 3 5 6
Irrelevant states
r
3
a b c d
3 3 5 6
Open
b c d
3 5 6
Irrelevant states
r
3
a b c d
3 3 5 6
Open
b c d
3 5 6
Goal
found
Irrelevant states
r
3
a b c d
3 3 5 6
Open
b c d
3 5 6
Goal Surplus
found nodes
Irrelevant states
Solution #2:
Operator Decomposition
AAAI 2010, Standley.
Open
r EPEA* progress
3
Open
r
3
r EPEA* progress
3
Open
r
3
r EPEA* progress
3
a b c d
3 3 5 6
Open
r
3
r EPEA* progress
3
a b c d
3 3 5 6
Open
a b
3 3
Open
a b
3 3
Open
a b r
3 3 5
Open
a b r
3 3 5
Open
r
5
r EPEA* progress
5
Open
r
5
Open
r
5
Open
c
5
Open
c
5
Open
c r
5 6
r EPEA* progress
6
c
5
Open
c r
5 6
Open
r
6
r EPEA* progress
6
Open
r
6
Open
r
6
r EPEA* progress
6
a b c d
3 3 5 6
Open
r
6
We only want children with f=6
r EPEA* progress
6
d
6
Open
d
6
f Operators
0 North, West
1 Wait
2 South, East
?Problem solved
76
Problem #2: Enormous state space
Simple ID:
1. Plan for each agent independently
2. If agents collide
2.1 Group them together
2.2 Plan for these agents together (with A*)
2.3 Goto 2
Standley 2010 1 2
Extremely effective !
2
?Problem solved 1
Problem #3: Almost Independent
21ndst step
Wait
Solve conflict:
< Agent A, Agent B, place X, time T >
Option 1: Constraint A - < A,X ,T>
Option 2 : Constraint B - < B , X , T >
Solution #4:
Conflict Based Search
Conflict
No Constraints {A,B}
Conflict Conflict
Constrain B Constrain A
CBS Example
Expand
Root
Conflict
{C,2,1,2}
Wait OKOK
Replan
Expand1 Not Goal
Goal Test Replan 2
Goal
Example analysis
CBS: Expand O(m)
A* : Expand O(m2)
All m2 (Ai,Bj) combinations
!!!Use Both
Solution #5:
Mata-Agent Conflict Based Search
Low-
!!YES
NO level
3 3 4
3
ICTS: High level
The high level searches the Increasing Cost Tree (ICT)
defined as follow:
Find
No a
solution
)Tree size=O
(
ICTS: Low level
Is there a solution with length (L1,L2,,Lk) ?
We can use techniques similar to arc/path consistency (CSP)
Usually prunes a large portion of the state space
ICTS - exponential in
best in open areas with few agents