Dynamic Shortest Paths. Camil Demetrescu University of Rome “La Sapienza” Giuseppe F. Italiano University of Rome “Tor Vergata”. update weight of edge (u,v) to w. Update (u,v,w) :. return distance from x to y. Query (x,y) :. (or shortest path from x to y).
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Dynamic Shortest Paths
Camil Demetrescu
University of Rome “La Sapienza”
Giuseppe F. Italiano
University of Rome “Tor Vergata”
update weight of edge (u,v) to w
Update(u,v,w):
return distance from x to y
Query(x,y):
(or shortest path from x to y)
Given a weighteddirectedgraph G=(V,E,w),perform any intermixed sequence of the following operations:
# papers
6569
7074
7579
8084
8589
9094
9599
00
Graph
Weight
Update
Query
~
reals
O(n3)
Update recomputingfrom scratch
general
O(1)
~
[0,C]
O(n2.575 C0.681)
King 99
general
[0,C]
O(n2.5 (C log n)0.5)
O(1)
Henzinger et al. 97
planar
[0,C]
O(n9/7 log(nC))
Fackcharoemphol,
Rao 01
planar
reals
O(n9/5 log13/5 n)
general
reals
? < o(n3)
O(1)
D, Italiano 01
general
S reals
O(n2.5 (S log3 n)0.5)
O(1)
New combinatorial properties of graphs:
Uniform paths
Graph
Weight
Update
Query
King 99
general
[0,C]
O(n2.5 (C log n)0.5)
O(1)
Henzinger et al. 97
planar
[0,C]
O(n9/7 log(nC))
Fackcharoemphol,
Rao 01
planar
reals
O(n9/5 log13/5 n)
D, Italiano 01
general
S reals
O(n2.5 (S log3 n)0.5)
O(1)
D, Italiano 02
general
reals
O(n2 log n)
O(1)
(n)
(n)
+1
1
+1
A path is uniform if all of its
subpaths are shortest paths
x
y
πxy
Shortest path
Shortest path
Not a shortest path
Shortest path
x
y
πxy
UNIFORM
NOT
UNIFORM
Uniform paths
Shortest paths
Theorem I
Shortest paths Uniform paths
For the sake of simplicity, we assume that no two
paths in the graph have the same weight.
Theorem II
Uniform paths πxy are internally vertexdisjoint
π1
π2
x
y
π3
(Ties can be broken by adding a tiny fraction to the
weight of each edge)
x
y
Theorem III
There are at most n1 uniform paths connecting x,y
This is a consequence of vertexdisjointess…
We call dynamic graph a sequence of graphs <G0,…,Gk> such that, for any t, Gt1and Gt differ in the weight of exactly one edge
A uniform path in Gt is appearing if it is not uniform in Gt1
Gt1
x
y
Gt
x
y
Gt
x
y
A uniform path in Gt is disappearing if it is not uniform in Gt+1
Gt+1
x
y
Theorem IV
At most n uniform paths can appear after an increase
At most 1 uniform path can disappear after an increase
Corollary
The amortized number of appearing uniform paths
per update in an increaseonly sequence is O(1)
What about fully dynamic sequences?
10
10
20
20
x
x
y
y
100
30
30
The weights of uniform paths that disappear and
then reappear do not change…
40
40
We conjecture that the bound is O(1)…
Theorem V
For any pair (x,y), the amortized number of uniform
paths πxyappearingwith a new weight per update in
a fully dynamic sequence is O(log n)
The shortest path is the same, but has different weight:
EASY
EASY
x
y
The shortest path is different (update = decrease):
x
y

How does a shortest path change after an update?
a
b
+
HARD
The shortest path is different (update = increase):
If we look closer, we realize that the new shortest path
from a to b was already uniform before the update!
x
y
For each pair x,y, maintain in a data structure uniform pathsconnecting x to y
Main idea:
The combinatorial properties of uniform paths imply that only a small piece of information needs to be updated at each time…
Are we done?
NO
x
x
y
y
x
y
This path stays the same while flipping
between uniform and nonuniform:
We would like to have an update algorithm that pays only once for it
over the whole sequence...
may
x
y
resurrect!
x
y
This path remains a shortest path
after the insertion
This path is no longer a shortest path
after the insertion…
…but if we removed the edge it would get a shortest path again!
A path is azombieif it used to be a shortest path,
and its edges have not been updated since then
shortest path
x
Uniform path
πxy
y
shortest path
shortest path or zombie
x
Potentiallyuniform path
πxy
y
shortest path or zombie
Relaxed notion of uniformity:
Subpaths do not need to be shortest at the same time
Theorem I
Uniform paths Potentially uniform paths
Uniform paths
Shortest paths
Potentiallyuniform paths
Theorem II
O(zn2) zombies at any time
O(zn2) new potentially uniform paths per update
A lot!
We can construct a dynamic graph with (n3) zombies at any time, amortized.
100
100
100
(n)
(n)
90
90
100
90
80
80
(n)
70
= (n3)
# zombies = (n2)
+(n2)
+(n2)
(n)
100
90
100
90
80
100
100
100
100
70
100
100
(n)
(n)
90
90
90
90
100
90
90
80
80
80
80
(n)
70
70
(n2)
(n2)
(n2)
0 (in general, O(n2))
At each update we pick an edge with the maximum number of zombies passing through it, and we remove and reinsert it
# zombies =
For each pair x,y, maintain in a data structure the potentially uniform paths connecting x to y
Main idea:
The combinatorial properties of potentially uniform paths imply that, if we do smoothing, we have only O(n2) new potentially uniform paths per update, amortized…
There exists and updatealgorithm that spendsO(log n) time per potentially uniform path
EASY
+
The shortest path is different (update = increase):
If we maintain potentially uniform paths using priority queues,
we can find this path in O(1) time!
x
y
Uniform paths are the heart of dynamic shortest paths
Combinatorially wellbehaved in dynamic graphs
New approach based on maintaining
potentially uniform paths
Applications to Railway Optimization Problems?
Solves the problem in its full generality