高效算法助力:稀疏图子图计数与组合配对测试
在计算机科学领域,稀疏图子图计数和组合配对测试是两个重要的研究方向。前者在图论算法设计中具有关键作用,后者则在多个实际场景中有着广泛的应用。接下来,我们将深入探讨这两个主题。
稀疏图子图计数的动态数据结构
在稀疏图的研究中,动态数据结构对于计数子图的出现次数至关重要。对于图 $G$ 和 $H$,存在一些关键的计算特性。
首先,$M$ 能映射到的 $G$ 中的顶点数量仅为 $O(D|V (H)|)$,这就导致同态的选择仅有 $O(D|V (H)|^2)$ 种。每一种这样的选择都会确定 $r(C)$ 以及所有幽灵顶点的像。
对于 $\varphi \in F$,我们需要确定 $\varphi$ 扩展为 $C^*$ 的同态且不再将边映射到 $x \to y$ 的方式数量,这个数量会被加到 $S(C, \varphi(g_1), \ldots, \varphi(g_m))$ 的值中。对于 $1 \leq i \leq t$,$C_i$ 的幽灵顶点包含在 $M$ 中,其像由 $\varphi$ 的选择确定。因此,若 $g_{i1}, \ldots, g_{i m_i}$ 是 $C_i$ 的幽灵顶点,那么扩展 $\varphi$ 的同态数量为 $\prod_{i = 1}^{t} S(C_i, \varphi(g_{i1}), \ldots, \varphi(g_{i m_i}))$。这里利用了 $S(C_i, \ldots)$ 的值尚未更新的事实,所以在我们计数的同态中,没有其他边映射到 $x \to y$,并且这些乘积可以在常数时间内确定。
$hom((H, T ), G, v)$ 的值在 $S(C, \
超级会员免费看
订阅专栏 解锁全文

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



