On Low-High Orders of Directed Graphs: Incremental Algorithms and Applications
Abstract
A flow graph is a directed graph with a distinguished start vertex . The dominator tree of is a tree rooted at , such that a vertex is an ancestor of a vertex if and only if all paths from to include . The dominator tree is a central tool in program optimization and code generation and has many applications in other diverse areas including constraint programming, circuit testing, biology, and in algorithms for graph connectivity problems. A low-high order of is a preorder of that certifies the correctness of and has further applications in connectivity and path-determination problems. In this paper, we first consider how to maintain efficiently a low-high order of a flow graph incrementally under edge insertions. We present algorithms that run in total time for a sequence of edge insertions in an initially empty flow graph with vertices.These immediately provide the first incremental certifying algorithms for maintaining the dominator tree in total time, and also imply incremental algorithms for other problems. Hence, we provide a substantial improvement over the simple-minded algorithms, which recompute the solution from scratch after each edge insertion. We also show how to apply low-high orders to obtain a linear-time -approximation algorithm for the smallest -vertex-connected spanning subgraph problem (2VCSS). Finally, we present efficient implementations of our new algorithms for the incremental low-high and 2VCSS problems and conduct an extensive experimental study on real-world graphs taken from a variety of application areas. The experimental results show that our algorithms perform very well in practice.
Cite
@article{arxiv.1608.06462,
title = {On Low-High Orders of Directed Graphs: Incremental Algorithms and Applications},
author = {Loukas Georgiadis and Aikaterini Karanasiou and Giannis Konstantinos and Luigi Laura},
journal= {arXiv preprint arXiv:1608.06462},
year = {2016}
}