Non-optimal Multi-agent Pathfinding is Solved (Since 1984) Gabriele - - PowerPoint PPT Presentation

non optimal multi agent pathfinding is solved
SMART_READER_LITE
LIVE PREVIEW

Non-optimal Multi-agent Pathfinding is Solved (Since 1984) Gabriele - - PowerPoint PPT Presentation

Explaining the title The Kornhauser et al. algorithm Conclusion Non-optimal Multi-agent Pathfinding is Solved (Since 1984) Gabriele R oger Malte Helmert University of Basel, Switzerland Workshop on Multi-agent Pathfinding AAAI 2012


slide-1
SLIDE 1

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal Multi-agent Pathfinding is Solved

(Since 1984) Gabriele R¨

  • ger

Malte Helmert

University of Basel, Switzerland

Workshop on Multi-agent Pathfinding AAAI 2012

slide-2
SLIDE 2

Explaining the title The Kornhauser et al. algorithm Conclusion

Explaining the title

slide-3
SLIDE 3

Explaining the title The Kornhauser et al. algorithm Conclusion

Multi-agent pathfinding

Non-optimal multi-agent pathfinding is solved (since 1984)

1 3 5 4 2 2 5 1 4 3

Given undirected graph each node either contains an agent or is unoccupied goal node for each agent agents can move to adjacent node if unoccupied Find sequence of moves which brings each agent to its goal.

slide-4
SLIDE 4

Explaining the title The Kornhauser et al. algorithm Conclusion

Multi-agent pathfinding

Non-optimal multi-agent pathfinding is solved (since 1984)

1 3 5 4 2 2 5 1 4 3

Given undirected graph each node either contains an agent or is unoccupied goal node for each agent agents can move to adjacent node if unoccupied Find sequence of moves which brings each agent to its goal.

slide-5
SLIDE 5

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding

Non-optimal multi-agent pathfinding is solved (since 1984) Setting of this paper: no optimality requirements no attempt to keep number of solution steps low (but some words on quality guarantees later) require polynomial-time algorithms

slide-6
SLIDE 6

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding

Non-optimal multi-agent pathfinding is solved (since 1984) Setting of this paper: no optimality requirements no attempt to keep number of solution steps low (but some words on quality guarantees later) require polynomial-time algorithms

slide-7
SLIDE 7

Explaining the title The Kornhauser et al. algorithm Conclusion

What can we do in polynomial time?

  • ptimal solutions:

Ratner & Warmuth, AAAI 1986: Finding a Shortest Solution for the N × N Extension

  • f the 15-PUZZLE Is Intractable.

suboptimal solutions: SoCS 2011 IJCAI 2011 IROS 2011 JAIR 2011 polynomial algorithms for different problem fragments e.g.: trees, SLIDABLE instances, . . .

slide-8
SLIDE 8

Explaining the title The Kornhauser et al. algorithm Conclusion

Quotes

Quote #1 (SoCS 2011) “[Our] work is just one step in classifying problems that can be solved in polynomial time.” Quote #2 (JAIR 2011) “[Our approach] identifies classes of multi-agent planning problems that can be solved in polynomial time.” Quote #3 (IJCAI 2011) “In comparison to existing alternatives that provide completeness guarantees for certain problem subclasses, the proposed method provides similar guarantees for a much wider problem class.”

slide-9
SLIDE 9

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding is solved

Non-optimal multi-agent pathfinding is solved (since 1984) What do we mean by solved? arbitrary instances: determine solution existence in O(n) (?) solvable instances: produce solutions in O(n3) some instances require Θ(n3) steps for optimal solutions Of course this leaves many practical issues open! This is (only) about the quest for tractable fragments.

slide-10
SLIDE 10

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding is solved

Non-optimal multi-agent pathfinding is solved (since 1984) What do we mean by solved? arbitrary instances: determine solution existence in O(n) (?) solvable instances: produce solutions in O(n3) some instances require Θ(n3) steps for optimal solutions Of course this leaves many practical issues open! This is (only) about the quest for tractable fragments.

slide-11
SLIDE 11

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding is solved

Non-optimal multi-agent pathfinding is solved (since 1984) What do we mean by solved? arbitrary instances: determine solution existence in O(n) (?) solvable instances: produce solutions in O(n3) some instances require Θ(n3) steps for optimal solutions Of course this leaves many practical issues open! This is (only) about the quest for tractable fragments.

slide-12
SLIDE 12

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding is solved (since 1984)

Non-optimal multi-agent pathfinding is solved (since 1984) The work we present here is not ours: Wilson (1974): one blank position, biconnected graphs Kornhauser, Miller and Spirakis (1984): general case

slide-13
SLIDE 13

Explaining the title The Kornhauser et al. algorithm Conclusion

Non-optimal multi-agent pathfinding is solved (since 1984)

Non-optimal multi-agent pathfinding is solved (since 1984) The work we present here is not ours: Wilson (1974): one blank position, biconnected graphs Kornhauser, Miller and Spirakis (1984): general case

slide-14
SLIDE 14

Explaining the title The Kornhauser et al. algorithm Conclusion

The Kornhauser et al. algorithm

slide-15
SLIDE 15

Explaining the title The Kornhauser et al. algorithm Conclusion

Reading Wilson (1974) and Kornhauser et al. (1984)

Wilson and Kornhauser et al. papers are no easy reads not written from an algorithmic perspective not quite your typical AI venues:

Wilson (1974): Journal of Combinatorial Theory (Series B) Kornhauser et al. (1984): Foundations of Computer Science

Kornhauser et al.: non-existent “final version” for details details can be found in Kornhauser’s M.Sc. thesis (to our knowledge) never implemented rest of the presentation: brief introduction to the Kornhauser et al. algorithm

slide-16
SLIDE 16

Explaining the title The Kornhauser et al. algorithm Conclusion

Kornhauser et al.: overview

Overview:

1 Move blanks in goal configuration to initial blank positions.

(This will form end of the solution.)

2 Derive subproblems, each defined by a set of agents

that can reach the same set of nodes.

3 Solve each subproblem using permutation group theory.

slide-17
SLIDE 17

Explaining the title The Kornhauser et al. algorithm Conclusion

First step

slide-18
SLIDE 18

Explaining the title The Kornhauser et al. algorithm Conclusion

Kornhauser et al.: first step

Overview:

1 Move blanks in goal configuration to initial blank positions.

(This will form end of the solution.)

2 Derive subproblems, each defined by a set of agents

that can reach the same set of nodes.

3 Solve each subproblem using permutation group theory.

slide-19
SLIDE 19

Explaining the title The Kornhauser et al. algorithm Conclusion

First step: fix the blank positions

Initial configuration:

a b c d e f g h i j

Goal configuration:

d e c a b f g i h j

can produce O(n2) moves; goal configuration computable in O(n)

slide-20
SLIDE 20

Explaining the title The Kornhauser et al. algorithm Conclusion

First step: fix the blank positions

Initial configuration:

a b c d e f g h i j

Goal configuration:

d e c a b f g i h j 1

can produce O(n2) moves; goal configuration computable in O(n)

slide-21
SLIDE 21

Explaining the title The Kornhauser et al. algorithm Conclusion

First step: fix the blank positions

Initial configuration:

a b c d e f g h i j

Goal configuration:

d e c b a f g i h j 1 2

can produce O(n2) moves; goal configuration computable in O(n)

slide-22
SLIDE 22

Explaining the title The Kornhauser et al. algorithm Conclusion

First step: fix the blank positions

Initial configuration:

a b c d e f g h i j

New goal configuration:

d e c b b a f g i h j 1 2 3

can produce O(n2) moves; goal configuration computable in O(n)

slide-23
SLIDE 23

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step

slide-24
SLIDE 24

Explaining the title The Kornhauser et al. algorithm Conclusion

Kornhauser et al.: second step

Overview:

1 Move blanks in goal configuration to initial blank positions.

(This will form end of the solution.)

2 Derive subproblems, each defined by a set of agents

that can reach the same set of nodes.

3 Solve each subproblem using permutation group theory.

slide-25
SLIDE 25

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems

Case of 1 blank: Compute nontrivial maximal biconnected components. Agents can never leave their biconnected component. Overall problem partitions into subproblems with one blank and biconnected graph ( Wilson’s case) O(n) with standard graph algorithms (Hopcroft and Tarjan, 1973) Case of ≥ 2 blanks: next slides

slide-26
SLIDE 26

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems

Case of 1 blank: Compute nontrivial maximal biconnected components. Agents can never leave their biconnected component. Overall problem partitions into subproblems with one blank and biconnected graph ( Wilson’s case) O(n) with standard graph algorithms (Hopcroft and Tarjan, 1973) Case of ≥ 2 blanks: next slides

slide-27
SLIDE 27

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems

Case of 1 blank: Compute nontrivial maximal biconnected components. Agents can never leave their biconnected component. Overall problem partitions into subproblems with one blank and biconnected graph ( Wilson’s case) O(n) with standard graph algorithms (Hopcroft and Tarjan, 1973) Case of ≥ 2 blanks: next slides

slide-28
SLIDE 28

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-29
SLIDE 29

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-30
SLIDE 30

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-31
SLIDE 31

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-32
SLIDE 32

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-33
SLIDE 33

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

slide-34
SLIDE 34

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: derive the subproblems for ≥ 2 blanks

3 blanks

Compute nontrivial maximal biconnected components and articulation points of degree ≥ 3. Compute equivalence classes of articulation points.

equivalent if in same nontrivial component equivalent if reachable on path of length ≤ #blanks − 2 build closure

  • ne subgraph for each equivalence class

extend by nontrivial biconnected components sharing a node extend by nodes reachable on path of length ≤ #blanks − 1

implementable in O(n)

slide-35
SLIDE 35

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: assign agents to subproblems

a b c d e f g h i j

slide-36
SLIDE 36

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: assign agents to subproblems

a b c d e f g h i j

Subgraphs connect to nodes outside the subgraph via lines of length #blanks − 1: planks of the subgraph.

slide-37
SLIDE 37

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: assign agents to subproblems

a b c d e f g h i j a b c h i j

Assign all agents on non-plank nodes.

slide-38
SLIDE 38

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: assign agents to subproblems

a b c d e f g h i j a b c d e g h i j

If an agent can leave a plank towards a subgraph, assign it to that subproblem (count blanks on that side of overall graph).

slide-39
SLIDE 39

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: assign agents to subproblems

a b c d e f g h i j a b c d e g h i j

All other nodes of the subproblems are unoccupied. assignment possible in O(n)

slide-40
SLIDE 40

Explaining the title The Kornhauser et al. algorithm Conclusion

Second step: solvability

The overall problem is solvable iff each subproblem contains same agents in initial and goal state all agents not assigned to a subproblem are initially

  • n same node as in the goal, and

all subproblems are solvable next step

slide-41
SLIDE 41

Explaining the title The Kornhauser et al. algorithm Conclusion

Third step

slide-42
SLIDE 42

Explaining the title The Kornhauser et al. algorithm Conclusion

Kornhauser et al.: third step

Overview:

1 Move blanks in goal configuration to initial blank positions.

(This will form end of the solution.)

2 Derive subproblems, each defined by a set of agents

that can reach the same set of nodes.

3 Solve each subproblem using permutation group theory.

slide-43
SLIDE 43

Explaining the title The Kornhauser et al. algorithm Conclusion

Permutation of a (normalized) MAPF problem

a 1 b 2 c 3 d 4 e 5 d 1 e 2 c 3 b 4 a 5

Permutation on occupied nodes: 1 2 3 4 5 5 4 3 1 2

slide-44
SLIDE 44

Explaining the title The Kornhauser et al. algorithm Conclusion

Solvability of the subproblems

1 blank (Wilson): solvable iff one of three cases holds graph is polygon: agents initially in same order as in goal graph is : decide using precomputed look-up table

  • ther graph: graph is not bipartite or permutation is even

≥ 2 blanks: solvable iff one of two cases holds graph is polygon: agents initially in same order as in goal graph is not a polygon: always All conditions testable in O(n).

slide-45
SLIDE 45

Explaining the title The Kornhauser et al. algorithm Conclusion

Some permutation group theory (1)

k-cycle (l0 . . . lk−1): permutation mapping li to l(i+1) mod k, leaving everything else stationary transposition, swap: 2-cycle every permutation on n elements expressible as product of at most n − 1 swaps 1 2 3 4 5 5 4 3 1 2

  • = (1524) = (15)(12)(14)

How do we get all swaps?

slide-46
SLIDE 46

Explaining the title The Kornhauser et al. algorithm Conclusion

Some permutation group theory (2)

permutation even (odd) if it is the product

  • f an even (odd) number of swaps

every even permutation can be expressed as product

  • f at most n − 2 3-cycles

every odd permutation can be expressed as product

  • f at most n − 2 3-cycles and any fixed odd permutation

How do we get all 3-cycles?

slide-47
SLIDE 47

Explaining the title The Kornhauser et al. algorithm Conclusion

Some permutation group theory (3)

k-transitivity (in MAPF terminology): any k agents can be moved to any k-tuple of target locations it is OK to disturb all other agents arbitrarily while doing this

slide-48
SLIDE 48

Explaining the title The Kornhauser et al. algorithm Conclusion

Some permutation group theory (4)

Key fact: If we know one k-cycle c and have k-transitivity, we can generate all k-cycles. Idea:

1

Move the agents we want to cycle to the position of c.

2

Perform the cycle c.

3

Repeat movements from part 1. in reverse.

Formally: Given cycles c = (l1, . . . , lk) and c′ = (l′

1, . . . , l′ k),

find permutation t that maps each li to l′

i.

Then c′ = t−1ct.

slide-49
SLIDE 49

Explaining the title The Kornhauser et al. algorithm Conclusion

Solving the subproblems

1 Express permutation as product c1 . . . cn of k-cycles. 2 Derive move sequence m for one arbitrary k-cycle. 3 For each ci find move sequence mi

for a suitable k-transitivity permutation.

4 Then m−1

1 mm1 . . . m−1 n mmn solves the subproblem.

1 blank: use 3-cycle and 3-transitivity ≥ 2 blanks: use 2-cycle (transposition) and 2-transitivity

slide-50
SLIDE 50

Explaining the title The Kornhauser et al. algorithm Conclusion

Solving the subproblems

1 Express permutation as product c1 . . . cn of k-cycles. 2 Derive move sequence m for one arbitrary k-cycle. 3 For each ci find move sequence mi

for a suitable k-transitivity permutation.

4 Then m−1

1 mm1 . . . m−1 n mmn solves the subproblem.

1 blank: use 3-cycle and 3-transitivity ≥ 2 blanks: use 2-cycle (transposition) and 2-transitivity next slide (other cases omitted)

slide-51
SLIDE 51

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

slide-52
SLIDE 52

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Move two blanks next to node of degree ≥ 3.

slide-53
SLIDE 53

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Move two blanks next to node of degree ≥ 3.

slide-54
SLIDE 54

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Swap two agents which are closest to the center.

slide-55
SLIDE 55

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

a b c

Swap two agents which are closest to the center.

slide-56
SLIDE 56

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

a b c

Swap two agents which are closest to the center.

slide-57
SLIDE 57

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Swap two agents which are closest to the center.

slide-58
SLIDE 58

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Swap two agents which are closest to the center.

slide-59
SLIDE 59

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

b a c

Swap two agents which are closest to the center.

slide-60
SLIDE 60

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

a b c

Swap two agents which are closest to the center.

slide-61
SLIDE 61

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

a b c

Move blanks back to initial position.

slide-62
SLIDE 62

Explaining the title The Kornhauser et al. algorithm Conclusion

Finding one transposition (≥ 2 blanks)

can swap at any node of degree ≥ 3:

a b c

Move blanks back to initial position.

slide-63
SLIDE 63

Explaining the title The Kornhauser et al. algorithm Conclusion

Conclusion

slide-64
SLIDE 64

Explaining the title The Kornhauser et al. algorithm Conclusion

Here: We have sketched major ideas and ingredients

  • f the Kornhauser et al. algorithm.

Our aim: facilitate understanding of work in combinatorial theory community, help absorbing it into our community. Ongoing and future work: complete pseudo-code description implementation experimental comparison to other approaches instantiation/improvements to give reasonable solution lengths

slide-65
SLIDE 65

Explaining the title The Kornhauser et al. algorithm Conclusion

The end

Thank you for your attention!