基于匹配的系统发育树度量方法
1. 匹配距离的定义与计算
在系统发育树的研究中,我们需要一种有效的方法来衡量两棵树之间的距离。这里介绍一种基于匹配的距离度量方法。
对于两棵二叉叶标记树 (T_1) 和 (T_2),我们构建一个二分图 (B(T_1,T_2)),其中图的顶点分别代表 (T_1) 和 (T_2) 的内部边。对于 (B(T_1,T_2)) 中的每条边 (e = {u, v})((u) 代表 (T_1) 的内部边,(v) 代表 (T_2) 的内部边),我们设置其权重 (W(u, v)) 如下:
首先,对于 (T_1) 和 (T_2) 的每个内部边,我们可以得到一个二分划分。对于每个二分划分,我们可以将其表示为一个向量 (V),如果一个叶子在二分划分的同一侧,向量的对应元素设为 (1),否则设为 (0)。设 (V_u) 和 (V_v) 分别是与 (u) 和 (v) 对应的向量,(\overline{V}) 是 (V) 的补向量(即 (\overline{V} = I - V)),则权重 (W(u, v) = \min{D_H(V_u, V_v), D_H(V_u, \overline{V_v})}),其中 (D_H) 是两个向量之间的汉明距离。
两棵树 (T_1) 和 (T_2) 之间的匹配距离 (D_M(T_1, T_2)) 是二分图 (B(T_1,T_2)) 中最小权重匹配的权重。
最小权重匹配问题可以在立方时间内解决。如果输入权重是整数,并且每个权重的值不大于叶子的数量,通过成本缩放和阻塞流技术,算法的运行时间可以提高到 (O(n^{5/2}\log(n)))。
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



