An Experimental Study of Dynamic Dominators
Motivated by recent applications of dominator computations, we consider the problem of dynamically maintaining the dominators of flow graphs through a sequence of insertions and deletions of edges. Our main theoretical contribution is a simple incremental algorithm that maintains the dominator tree...
Saved in:
Main Authors | , , , |
---|---|
Format | Journal Article |
Language | English |
Published |
10.04.2016
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Motivated by recent applications of dominator computations, we consider the
problem of dynamically maintaining the dominators of flow graphs through a
sequence of insertions and deletions of edges. Our main theoretical
contribution is a simple incremental algorithm that maintains the dominator
tree of a flow graph with $n$ vertices through a sequence of $k$ edge
insertions in $O(m\min\{n,k\}+kn)$ time, where $m$ is the total number of edges
after all insertions. Moreover, we can test in constant time if a vertex $u$
dominates a vertex $v$, for any pair of query vertices $u$ and $v$. Next, we
present a new decremental algorithm to update a dominator tree through a
sequence of edge deletions. Although our new decremental algorithm is not
asymptotically faster than repeated applications of a static algorithm, i.e.,
it runs in $O(mk)$ time for $k$ edge deletions, it performs well in practice.
By combining our new incremental and decremental algorithms we obtain a fully
dynamic algorithm that maintains the dominator tree through intermixed sequence
of insertions and deletions of edges. Finally, we present efficient
implementations of our new algorithms as well as of existing algorithms, and
conduct an extensive experimental study on real-world graphs taken from a
variety of application areas. |
---|---|
DOI: | 10.48550/arxiv.1604.02711 |