快速卷积、图的秩宽与相关算法应用
1. 近似字符串匹配中的快速卷积
在近似字符串匹配领域,有关于计算汉明距离的算法研究。计算匹配计数时,需要将相关位域中的值相加。例如,当 $i = 0$,$s \geq 19$,且在当前模式与文本的对齐中,字母符号 9 有三个匹配时,存储相应 $U_0$ 和 $V_0$ 向量卷积的机器字在其 $A_{18}$ 位域的值将为 3。对于不匹配的情况设置的位域,我们直接忽略。
该算法的时间复杂度为 $O(\sigma n + \sigma n \log m/|A(w/ \log m)|)$,渐近为 $O(\sigma n + \sigma n \log m(\log m/w)^{1 - \epsilon})$,比之前的向量打包思想的复杂度要差。不过,当 $m$ 很大,特别是 $m = \Theta(n)$ 时,这个算法表现更好,甚至可能是两种方法中唯一适用的。
具体来说,在字长为 $w$ 位的字 RAM 中,对于长度 $m = O(n)$ 的模式 $P$,可以在 $O(\sigma n + \sigma n \log m(\log m/w)^{1 - \epsilon})$ 的最坏情况下计算所有 $n$ 个文本位置的汉明距离。其中,$\epsilon$ 随着 $w/ \log m$ 趋于无穷大而渐近趋近于零。
这里还介绍了两种加速现有汉明距离计算及相关问题算法的技术,它们基于基于快速傅里叶变换(FFT)卷积的位并行化概念。将模式与文本的多个子序列并行匹配的技术,也可轻松应用于汉明距离下的多模式匹配。在 $k$ - 不匹配问题的变体中,我们可以为不同模式立即使用不同的 $k$ 值。
这些技术在很多其他字符串匹配问题
快速卷积与图秩宽算法应用
超级会员免费看
订阅专栏 解锁全文
27

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



