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.
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)
Dynamic (All Pairs) Shortest PathsGiven a weighteddirectedgraph G=(V,E,w),perform any intermixed sequence of the following operations:
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)
Previous work on fully dynamic APSPWeight
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)
A new fully dynamic algorithmA 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 pathsUNIFORM
NOT
UNIFORM
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
Properties of Uniform paths(Ties can be broken by adding a tiny fraction to the
weight of each edge)
y
Properties of Uniform pathsTheorem 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
Dynamic graphsA uniform path in Gt is appearing if it is not uniform in Gt1
Gt1
x
y
Gt
x
y
Uniform paths in dynamic graphsGt
x
y
A uniform path in Gt is disappearing if it is not uniform in Gt+1
Gt+1
x
y
Uniform paths in dynamic graphsAt 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)
Uniform paths in dynamic graphsWhat 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
Uniform paths in dynamic graphsWe conjecture that the bound is O(1)…
Uniform paths in dynamic graphsTheorem 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

Shortest paths and edge weight updatesHow does a shortest path change after an update?
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
Shortest paths and edge weight updatesFor 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?
A new approach to dynamic APSPNO
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...
How to pay only once?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…
Looking at the substructure…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
x
Uniform path
πxy
y
shortest path
shortest path or zombie
x
Potentiallyuniform path
πxy
y
shortest path or zombie
Potentially uniform pathsRelaxed notion of uniformity:
Subpaths do not need to be shortest at the same time
Uniform paths Potentially uniform paths
Uniform paths
Shortest paths
Properties of potentially uniform pathsPotentiallyuniform paths
Theorem II
O(zn2) zombies at any time
O(zn2) new potentially uniform paths per update
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)
How many zombies can we have?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))
Reducing # of zombies: SmoothingAt 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…
A new approach to dynamic APSP (II)There exists and updatealgorithm that spendsO(log n) time per potentially uniform path
+
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
Handling the hard caseUniform 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
Conclusions