C++ 用于反恶意软件代码的类Aho Corasick算法
是否有类似的算法,可以同时匹配一组模式并适用于反恶意软件比较?所有已知的商业防病毒软件都使用Aho Corasick算法吗C++ 用于反恶意软件代码的类Aho Corasick算法,c++,algorithm,antivirus,aho-corasick,C++,Algorithm,Antivirus,Aho Corasick,是否有类似的算法,可以同时匹配一组模式并适用于反恶意软件比较?所有已知的商业防病毒软件都使用Aho Corasick算法吗 Aho-Corasick算法比Boyer-Moore算法有哪些优点:用于在另一个目标字符串中搜索一个字符串 Aho-Corasick:用于同时搜索多个模式 因此,如果您希望在一次过程中同时搜索很多模式,那么Aho Corasick是最佳选择 字符串搜索也可以匹配多种模式。请记住,大多数商业反恶意软件工具可能使用的不仅仅是精确的字符串匹配,在这种情况下,两种算法都不是正确答案
Aho-Corasick算法比Boyer-Moore算法有哪些优点:用于在另一个目标字符串中搜索一个字符串
Aho-Corasick:用于同时搜索多个模式 因此,如果您希望在一次过程中同时搜索很多模式,那么Aho Corasick是最佳选择
字符串搜索也可以匹配多种模式。请记住,大多数商业反恶意软件工具可能使用的不仅仅是精确的字符串匹配,在这种情况下,两种算法都不是正确答案。是的,我指的是没有启发式和人工智能技术的标准比较过程。但是,作为一种有限状态方法,可以用一些基本的自动机理论推广到模糊匹配。确定字典的权重是很难的。@larsmans关于如何将字典扩展到模糊匹配,你有参考资料吗?你知道ClamAV是否扩展了算法吗?@Adban:Aho Corasick构造了一个有限状态机,整个FA运算代数都应用于此。脑海中浮现的参考文献是科尔奈的语言扩展有限状态模型、梅里亚尔·莫里的论文以及朱拉夫斯基和马丁的《语音和语言处理》的前几章。人们普遍认为阿霍·科拉西克是最优的吗?我的意思是,如果您只执行一个查询,那么肯定是这样,但是如果您执行多个查询,那么可能没有更高效的数据结构了吗?