Efficient Computation of Sparse Hessians Using Coloring and Automatic Differentiation
INFORMS Journal on Computing
A scalable parallel union-find algorithm for distributed memory computers
PPAM'09 Proceedings of the 8th international conference on Parallel processing and applied mathematics: Part I
SIAM Journal on Scientific Computing
An algorithm for optimal acyclic edge-colouring of cubic graphs
FAW-AAIM'11 Proceedings of the 5th joint international frontiers in algorithmics, and 7th international conference on Algorithmic aspects in information and management
Invariants of distance k-graphs for graph embedding
Pattern Recognition Letters
A polyhedral study of the acyclic coloring problem
Discrete Applied Mathematics
ColPack: Software for graph coloring and related problems in scientific computing
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.00 |
Acyclic and star coloring problems are specialized vertex coloring problems that arise in the efficient computation of Hessians using automatic differentiation or finite differencing, when both sparsity and symmetry are exploited. We present an algorithmic paradigm for finding heuristic solutions for these two NP-hard problems. The underlying common technique is the exploitation of the structure of two-colored induced subgraphs. For a graph $G$ on $n$ vertices and $m$ edges, the time complexity of our star coloring algorithm is $O(n\overline{d}_2)$, where $\overline{d}_k$, a generalization of vertex degree, denotes the average number of distinct paths of length at most $k$ edges starting at a vertex in $G$. The time complexity of our acyclic coloring algorithm is larger by a multiplicative factor involving the inverse of Ackermann’s function. The space complexity of both algorithms is $O(m)$. To the best of our knowledge, our work is the first practical algorithm for the acyclic coloring problem. For the star coloring problem, our algorithm uses fewer colors and is considerably faster than a previously known $O(n\overline{d}_3)$-time algorithm. Computational results from experiments on various large-size test graphs demonstrate that the algorithms are fast and produce highly effective solutions. The use of these algorithms in Hessian computation is expected to reduce overall runtime drastically.