Projection Global Consistency: Application in AI Planning

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 vV 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