Computer Science > Discrete Mathematics
[Submitted on 24 Feb 2020 (v1), revised 15 Jul 2020 (this version, v2), latest version 8 Nov 2020 (v3)]
Title:From omnitigs to macrotigs: a linear-time algorithm for safe walks -- common to all closed arc-coverings of a directed graph
View PDFAbstract:A partial solution to a problem is called safe if it appears in all solutions to the problem. Motivated by the genome assembly problem in bioinformatics, Tomescu and Medvedev (RECOMB 2016) posed the question of finding the safe walks present in all closed arc-covering walks, and gave a characterization of them (omnitigs). An $O(nm)$-time algorithm enumerating all maximal omnitigs on a directed graph with $n$ nodes and $m$ arcs was given by Cairo et al. (ACM Trans. Algorithms 2019), along with a family of graphs where the total length of maximal omnitigs is $\Theta(nm)$.
In this paper we describe an $O(m)$-time algorithm to identify all maximal omnitigs, thanks to the discovery of a family of walks (macrotigs) with the property that all the non-trivial omnitigs are univocal extensions of subwalks of a macrotig. This has several consequences: (i) A linear output-sensitive algorithm enumerating all maximal omnitigs, that avoids to pay $\Theta(nm)$ when the output is smaller, whose existence was open. (ii) A compact representation of all maximal omnitigs, which allows, e.g., for $O(m)$-time computation of various statistics on them. (iii) A powerful tool for finding safe walks for related covering problems.
Submission history
From: Alexandru I. Tomescu [view email][v1] Mon, 24 Feb 2020 19:27:43 UTC (413 KB)
[v2] Wed, 15 Jul 2020 12:03:28 UTC (1,371 KB)
[v3] Sun, 8 Nov 2020 12:57:35 UTC (2,869 KB)
Current browse context:
cs.DM
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.