The C-Orientation problem asks whether it is possible to orient an undirected graph to a directed phylogenetic network of a desired class C, and to find such an orientation if one exists. The problem can arise when visualising evolutionary data, for example, because popular phylogenetic network reconstruction methods such as Neighbor-Net are distance-based and thus inevitably produce undirected graphs. The complexity of C-Orientation remains open for many classes C, including binary tree-child networks, and practical methods are still lacking. In this paper, we propose an exponential but practically efficient FPT algorithm for C-Orientation, which is parameterised by the reticulation number and the maximum size of minimal basic cycles used in the computation. We also present a very fast heuristic for Tree-Child Orientation. To evaluate the empirical performance of the proposed methods, we compared their accuracy and execution time for Tree-Child Orientation with those of an exponential time C-orientation algorithm from the literature. Our experiments show that the proposed exact algorithm is significantly faster than the state-of-the-art exponential time algorithm. The proposed heuristic runs even faster but the accuracy decreases as the reticulation number increases.
翻译:C-定向问题旨在探究是否可能将无向图定向为特定类C的有向系统发育网络,并在存在时找出此类定向。该问题在进化数据可视化中可能出现,例如,由于流行的系统发育网络重建方法(如Neighbor-Net)基于距离计算,必然产生无向图。目前针对许多网络类C(包括二叉树子网络)的C-定向问题复杂度尚未明确,且缺乏实用方法。本文提出一种指数级但实际高效的固定参数可解(FPT)算法用于C-定向,其参数化依据为网络结构的杂交数及计算中所用最小基本环的最大规模。同时,我们提出一种针对树子定向问题的快速启发式算法。为评估所提方法的实证性能,我们将其在树子定向问题上的准确率与运行时间,与文献中已有的指数时间C-定向算法进行对比。实验结果表明,所提出的精确算法显著快于当前最先进的指数时间算法。所提出的启发式算法运行速度更快,但其准确率随杂交数增加而下降。