Topi Talvitie
Supervisor: Valentin Polishchuk

Shortest paths in polygonal domains

Problem: In a domain with polygonal boundaries, find the K shortest paths of different homotopy types between two points.

K = 1:

Shortest paths in polygonal domains

Problem: In a domain with polygonal boundaries, find the K shortest paths of different homotopy types between two points.

K = 2:

Shortest paths in polygonal domains

Problem: In a domain with polygonal boundaries, find the K shortest paths of different homotopy types between two points.

K = 3:

Finding the first shortest path: Continuous Dijkstra

Use Dijkstra in "infinitesimally dense graph" on the domain

In practice, this is implemented by propagating circular wavefronts.

Parking garage algorithm

To find the K'th shortest paths we let colliding wavefronts continue, forming a "parking garage" structure:

Shortest path maps

K'th Shortest Path Map (K-SPM) is a subdivision of the polygonal domain such that:

  • For all points in a region, the K'th shortest path is the same except for the last point.

Example of a 1-SPM:

Shortest path maps

Two types of boundaries in K-SPMs:

Changing homotopy type: Bisectors Same homotopy type: Windows

After bisectors have been found, windows are easy to add.

Parking garage algorithm for K-SPMs

In the garage algorithm, collision points of the wavefronts form the bisectors of the K-SPMs!

Data structure and algorithm complexity

  • It is already known that 1-SPM has O(n) complexity and it can be constructed in O(n log n) time and space.
  • We are in process of proving that K-SPM has O(K^2 n) complexity
    • The proof is based on analyzing on how the topological strucure of K-SPM depends on the topological structure of K-1-SPM.

Topological behavior of K-SPMs: 1-SPM


Topological behavior of K-SPMs: 2-SPM


Topological behavior of K-SPMs: 3-SPM


Topological behavior of K-SPMs: 4-SPM


Thanks