Cut paths and their remainder structure, with applications
Abstract
In a strongly connected graph , a cut arc (also called strong bridge) is an arc whose removal makes the graph no longer strongly connected. Equivalently, there exist , such that all - walks contain . Cut arcs are a fundamental graph-theoretic notion, with countless applications, especially in reachability problems. In this paper we initiate the study of cut paths, as a generalisation of cut arcs, which we naturally define as those paths for which there exist , such that all - walks contain as subwalk. We first prove various properties of cut paths and define their remainder structures, which we use to present a simple -time verification algorithm for a cut path (, ). Secondly, we apply cut paths and their remainder structures to improve several reachability problems from bioinformatics. A walk is called safe if it is a subwalk of every node-covering closed walk of a strongly connected graph. Multi-safety is defined analogously, by considering node-covering sets of closed walks instead. We show that cut paths provide simple -time algorithms verifying if a walk is safe or multi-safe. For multi-safety, we present the first linear time algorithm, while for safety, we present a simple algorithm where the state-of-the-art employed complex data structures. Finally we show that the simultaneous computation of remainder structures of all subwalks of a cut path can be performed in linear time. These properties yield an algorithm outputting all maximal multi-safe walks, improving over the state-of-the-art algorithm running in time . The results of this paper only scratch the surface in the study of cut paths, and we believe a rich structure of a graph can be revealed, considering the perspective of a path, instead of just an arc.
Cite
@article{arxiv.2210.07530,
title = {Cut paths and their remainder structure, with applications},
author = {Massimo Cairo and Shahbaz Khan and Romeo Rizzi and Sebastian Schmidt and Alexandru I. Tomescu and Elia C. Zirondelli},
journal= {arXiv preprint arXiv:2210.07530},
year = {2022}
}