Domain-Dependent View
of Multiple Robots
Path Planning
Pavel Surynek
Charles University, Prague
Czech Republic
Outline of the Talk
Problem definition
Motivation by real-world problems
Motivation for the domain-dependent view
– why don’t use domain-independent approach
Difficulty of the problem
Domain-dependent polynomial-time solving
algorithm
Complexity analysis
– polynomial-time
STAIRS 2008
Final remarks
Pavel Surynek
Multi-robot Path Planning
(Ryan, 2007)
Input: Graph G=(V,E), V={v1,v2,...,vn} and a set of
robots R={r1,r2,...,rμ}, where μ<n
– each robot is placed in a vertex (at most one robot in a
vertex)
– a robot can move into an unoccupied vertex through
an edge (no other robot is allowed to enter the vertex)
– initial positions of robots ... simple function S0: R→V
– goal positions of robots ... simple function S+: R→V
STAIRS 2008
Task: Find a sequence of allowed moves for
robots such that all the robots reach their goal
positions starting from the given initial positions
Pavel Surynek
Motivation
STAIRS 2008
Rearrangement of robots in tight space
Motion planning for
a group of robots
Automated traffic
control
Pavel Surynek
Motivating experiments (1)
Problems motivated by heavy car traffic
– ignoring traffic rules
Graph
STAIRS 2008
Initial positions
Goal positions
Several planners (SGPlan, SATPlan, LPG) were
evaluated on these problems
Pavel Surynek
Motivating experiments (2)
Number of
vertices/free
Problem
Plan length/
optimal
Solvable
SGPlan
(seconds)
SATPlan
(seconds)
LPG
(seconds)
01
7/6
Yes
1/1
0.00
0.01
0.01
02
8/7
Yes
6/6
0.00
0.04
0.02
04
8/6
Yes
25/16
0.00
0.09
0.01
05
8/5
Yes
216/32
0.00
0.87
0.98
06
12/10
Yes
12/12
0.00
0.04
0.01
07
12/8
Yes
178/26
0.00
0.14
0.08
08
12/7
Yes
176/36
0.03
0.50
0.37
09
12/6
Yes
64/46
0.04
0.52
1.54
10
12/5
Yes
72/56
0.04
>120.0
3.46
11
12/4
Yes
112/60
0.05
>120.0
4.36
12
12/3
Yes
170/98
0.17
>120.0
5.25
13
13/4
Yes
154/112
0.61
>120.0
5.94
15
13/3
Yes
N/A
>120.0
>120.0
>120.0
16
12/10
Yes
10/10
0.00
0.04
0.02
17
12/8
Yes
30/24
0.02
0.16
0.03
18
12/4
Yes
124/N/A
>120.0
>120.0
1.45
19
12/3
Yes
114/78
0.76
>120.0
6.23
20
12/2
Yes
208/120
0.33
>120.0
7.58
22
16/2
No
N/A
>120.0
>120.0
>120.0
23
14/2
No
N/A
>120.0
>120.0
>120.0
24
28/20
Yes
72/64
0.08
>120.0
0.11
STAIRS 2008
Pavel Surynek
Analysis of experiments
STAIRS 2008
All the problems are small - graphs of about 15
vertices
SGPlan and SATPlan are trying to find shortest
possible solutions - this complicates the task
SGPlan and SATPlan often do not solve the
problem within the time limit of 2 minutes
LPG searches for a suboptimal solution
LPG performs as best however still not able to solve
several problems in the time limit of 2 minutes
Conclusion: Domain-independent planners do
not perform well on the problem
Pavel Surynek
Difficult or easy?
Is the problem difficult or easy (NP-complete or
polynomial-time solvable)?
Answer: If at least two vertices are unoccupied the
problem is polynomial-time solvable
Outline of the algorithm:
– decompose the graph into bi-connected components
(result is a tree where vertices are represented by biconnected components)
– move robots into their goal bi-connected components or
decide that it is not possible
– solve the problem within the individual bi-connected
components
STAIRS 2008
Pavel Surynek
Algorithm: decomposition into
bi-connected components
Decomposition of the graph G=(V,E) into
bi-connected components
– an undirected G=(V,E) graph is bi-connected if |V|≥3 and
for every vV H=(V-{v},E’) is connected (E’ is E restricted
on V-{v})
Result is a tree of singleton vertices and
bi-connected components ... denoted B1,B2,...,Bk
– (Bi is a vertex or a bi-connected component)
B3
B1
B2
STAIRS 2008
B6
B4
B6
B5
Pavel Surynek
Algorithm: moving robots into
goal bi-connected components (1)
Observation: Arbitrary vertex in the graph can be
made unoccupied
G=(V,E)
r1
r2
r3
G=(V,E)
r4
r4
r2
r1
r3
“Shift” robots along a path connecting unoccupied vertex and vertex to be freed
r6
STAIRS 2008
Observation: A robot can
be moved to arbitrary vertex
within the bi-connected
component
r2
r1
C1 r3
r14
r7
C2
r8
C4
r12
r9
r4
r15
C3
r5
r17
r13
r10
r11
r16
Pavel Surynek
Algorithm: moving robots into
goal bi-connected components (2)
Observation: To move a robot from one
bi-component to another bi-component we need to
free a path between the components
bi-connected
component
r1
bi-connected
component
Bj
STAIRS 2008
Bi
If the path cannot be freed the problem is
unsolvable
Pavel Surynek
Algorithm: solving problem
within bi-connected component
STAIRS 2008
Observation:
?
Bi-connected component ?
can be constructed from
a cycle by adding loops
– We inductively place
robots into loops
starting with the last
loop and proceeding
to the original cycle
r2
– By placing robots in a
r1
loop we obtain the
smaller problem
– For the last cycle we need
two unoccupied vertices
?
?
?
r1
?
?
?
2-connected
remainder
?
?
?
r1
?
r2
?
?
?
2-connected
remainder
r3
r4
r5
r6
?
?
?
2-connected
remainder
Pavel Surynek
Complexity analysis
STAIRS 2008
Decomposition of the graph into bi-connected
components:
O(|V|+|E|)
Moving robots into goal bi-connected
components:
O(|V|3)
Solving problem in the individual
bi-connected component:
O(|V|3)
The algorithm requires O(|V|3) steps in total
Pavel Surynek
Conclusion and remarks
STAIRS 2008
We proposed a polynomial-time solving
algorithm for multiple robots path planning
problem in the case where there are at least two
unoccupied vertices
The work on the specialized domain-dependent
algorithm is partially motivated by inefficiency of
domain-independent planners on the problem
Currently we are working on the generalization of
the approach - some theoretical results are already
known (Wilson, 1973)
Pavel Surynek
© Copyright 2026 Paperzz