关于多模字符串匹配的问题
想找个速度比较高的算法,AC算法除外。我现在做的是WM算法,关键词个数会比较多,但是我所做的项目中最短关键字就2个字符,导致移动距离太小,诚心求助路过的大大,有没有基于最小关键字长度为2时的更快的算法。最好能是wm算法的改进型,其他的如果效率好也可以考虑。
[解决办法]
正好我作论文用到多模式匹配算法。
我认为你的情况适合用BPM类的算法( G.Myers. A fast bit-vector algorithm for approximate string matching based on dynamic progamming. Journal of the ACM, 46(3): 395-415, 1999.),对于多模式匹配,有MBPM(H.Hyyrö, K.Fredriksson, G.Navarro. Increased Bit-parallelism for Approximate String Matching. Proc. of WEA'04. Berlin: Springer Verlag, 2004: 285-298.)。更快速的算法,单模式的有BPM-BM(陈开渠, 赵洁, 彭志威. 快速中文字符串模糊匹配算法. 中文信息学报, 2004, 18(2): 58-65),多模式的有MBPM-BM(范立新,谢晓能,吴飞. 基于过滤的中文多模式近似字符串匹配算法. 计算机工程,2006,32(20):48-50),不过后者在处理几个边界条件上有错误,你要小心。你必须先弄懂BPM,其它的算法才能理解透。