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.
翻译:问题的部分解决方案如果在所有解决方案中都出现,就被称为安全。 受生物信息学、 托梅斯库和梅德韦杰夫( RECOMB 2016) 的基因组组问题驱动, 提出了在所有封闭的弧覆盖行中找到安全行走的问题, 并给出了这些问题的特征( omnitigs ) 。 $O( nm)- 时间算法, 将所有最大omnitigs都包含在直方向图上, 以 $ndes 和 am arcs( ACM Trans. Algorithms 2019) 提供的属性( ACM Transal. Algorithms 2019) 中, 以及一组图表, 其中最大omnigigs的总长度为$\ Thenta( nm) 。 本文中我们描述一个$( m) $( m) 时间算法, 以识别所有最大omnitiggs( m) 的组合( mcroitigs) 和所有非三( en- trital om) estal eqolational ligig) 的缩缩缩缩缩缩缩缩缩化数据) 。这让A- dal dalalalalalalalalalalalalalal 解算法( Ax) 解算( 。