The Power of Graph Doubling: Computing Ultrabubbles in a Bidirected Graph by Reducing to Weak Superbubbles
Sebastian Schmidt, Juha Harviainen, Corentin Moumard, Aleksandr Politov, Francisco Sena, Alexandru I. Tomescu

TL;DR
This paper introduces a linear-time reduction-based algorithm for computing ultrabubbles in bidirected graphs by leveraging the graph doubling technique to connect ultrabubbles with weak superbubbles.
Contribution
It establishes a direct connection between ultrabubbles and weak superbubbles via graph doubling, enabling efficient ultrabubble computation in bidirected graphs.
Findings
First linear-time reduction-based algorithm for ultrabubbles in bidirected graphs.
Graph doubling maintains connectivity and simplifies ultrabubble detection.
Implicit use of graph doubling in simple cases is now formally connected to ultrabubbles.
Abstract
Bidirected graphs are a common generalisation of directed graphs where arcs can also be incoming to both their incident nodes, or outgoing from both their incident nodes. Such arcs allow a walk to change direction. Some algorithms can easily be adapted from directed graphs to bidirected graphs, such as shortest path algorithms. These adaptions are already used in practice, and implicitly use the graph doubling technique to apply an algorithm for directed graphs to bidirected graphs. In other cases, the applicability of graph doubling is not that obvious. For example, superbubbles and their generalisation to bidirected graphs ultrabubbles. Ultrabubbles are a common structure in bidirected biological graphs which carries biological meaning, but also functions as a nested clustering method, since an ultrabubble is separated by only two nodes from the rest of the graph. There is an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
