Incremental Topological Ordering and Cycle Detection with Predictions

Abstract

This paper leverages the framework of algorithms-with-predictions to design data structures for two fundamental dynamic graph problems: incremental topological ordering and cycle detection. In these problems, the input is a directed graph on $n$ nodes, and the $m$ edges arrive one by one. The data structure must maintain a topological ordering of the vertices at all times and detect if the newly inserted edge creates a cycle. The theoretically best worst-case algorithms for these problems have high update cost (polynomial in $n$ and $m$). In practice, greedy heuristics (that recompute the solution from scratch each time) perform well but can have high update cost in the worst case. In this paper, we bridge this gap by leveraging predictions to design a learned new data structure for the problems. Our data structure guarantees consistency, robustness, and smoothness with respect to predictions—that is, it has the best possible running time under perfect predictions, never performs worse than the best-known worst-case methods, and its running time degrades smoothly with the prediction error. Moreover, we demonstrate empirically that predictions, learned from a very small training dataset, are sufficient to provide significant speed-ups on real datasets.

Cite

Text

Mccauley et al. "Incremental Topological Ordering and Cycle Detection with Predictions." International Conference on Machine Learning, 2024.

Markdown

[Mccauley et al. "Incremental Topological Ordering and Cycle Detection with Predictions." International Conference on Machine Learning, 2024.](https://mlanthology.org/icml/2024/mccauley2024icml-incremental/)

BibTeX

@inproceedings{mccauley2024icml-incremental,
  title     = {{Incremental Topological Ordering and Cycle Detection with Predictions}},
  author    = {Mccauley, Samuel and Moseley, Benjamin and Niaparast, Aidin and Singh, Shikha},
  booktitle = {International Conference on Machine Learning},
  year      = {2024},
  pages     = {35240-35254},
  volume    = {235},
  url       = {https://mlanthology.org/icml/2024/mccauley2024icml-incremental/}
}