Engineering Fully Dynamic Δ-Orientation Algorithms
A (fully) dynamic graph algorithm is a data structure that supports edge insertions, edge deletions, and answers certain queries that are specific to the problem under consideration. There has been a lot of research on dynamic algorithms for graph problems that are solvable in polynomial time by a static algorithm. However, while there is a large body of theoretical work on efficient dynamic graph algorithms, a lot of these algorithms were never implemented and empirically evaluated. In this work, we consider the fully dynamic edge orientation problem, also called fully dynamic Δ-orientation problem, which is to maintain an orientation of the edges of an undirected graph such that the out-degree is low. If edges are inserted or deleted, one may have to flip the orientation of some edges in order to avoid vertices having a large out-degree. While there has been theoretical work on dynamic versions of this problem, currently there is no experimental evaluation available. In this work, we close this gap and engineer a range of new dynamic edge orientation algorithms as well as algorithms from the current literature. Moreover, we evaluate these algorithms on real-world dynamic graphs. The best algorithm considered in this paper in terms of quality, based on a simple breadth-first search, computes the optimum result on more than 90 of the instances and is on average only 2.4
READ FULL TEXT