Background. The supertree problem, i.e., the task of finding a common refinement of a set of rooted trees is an important topic in mathematical phylogenetics. The special case of a common leaf set $L$ is known to be solvable in linear time. Existing approaches refine one input tree using information of the others and then test whether the results are isomorphic. Results. A linear-time algorithm, LinCR, for constructing the common refinement $T$ of $k$ input trees with a common leaf set is proposed that explicitly computes the parent function of $T$ in a bottom-up approach. Conclusion. LinCR is simpler to implement than other asymptotically optimal algorithms for the problem and outperforms the alternatives in empirical comparisons. Availability. An implementation of LinCR in Python is freely available at https://github.com/david-schaller/tralda.
翻译:超树问题,即寻找一套有根树木的共同精细化是数学血清中的一个重要专题。已知,在线性时间里,常见叶子的特例是可溶的。现有方法利用其他树类的信息对一种输入树进行精细化,然后检验结果是否是无形态的。结果。建议用一种线性时间算法,即林肯算法,用一套普通叶子来构建共同精细化的1美元输入树,在自下而上的方法中明确计算出$T的父函数。结论。林肯比其他对问题采用非同步的最佳算法简单得多,在实验性比较中优于其他方法。可用性。在Python,可在https://github.com/david-schaller/tralda免费查阅在Python的LinCR。