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...

Full description

Saved in:
Bibliographic Details
Published inarXiv.org
Main Authors Georgiadis, Loukas, Italiano, Giuseppe F, Luigi, Laura, Santaroni, Federico
Format Paper
LanguageEnglish
Published Ithaca Cornell University Library, arXiv.org 10.04.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
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.
ISSN:2331-8422