Multi-Pattern Matching for Dictionary Compressed Strings
文件大小: 728k
源码售价: 10 个金币 积分规则     积分充值
资源说明:关键词:模式匹配,HTTP上的共享字典压缩 标题中提到了一个专业概念:共享字典压缩(Shared Dictionary Compression)用于HTTP,以及多模式匹配(Multi-Pattern Matching)。这表明文档可能涉及在网络通信中,特别是通过HTTP协议传输数据时,如何在数据经过压缩后进行有效的模式匹配。 在描述中,提到了本文介绍了一种针对通过HTTP进行共享字典压缩后的字符串进行无解压多模式匹配的算法。该方法在最坏情况下的行为比以前的工作更好。通过在共享字典上进行预处理,对于从字典中复制的字符串进行模式匹配可以由一些简单操作完成,这些操作的数量与复制的字符串的长度无关。对于提出的算法,它不需要扫描共享字典中的复制字符串,因此对某些算法复杂性攻击有免疫力。这说明了文章的算法具有高效率和抗攻击能力。 提到的AC算法(Aho-Corasick算法)是由Aho和Corasick提出的,用于多字符串匹配问题。该算法通过将Knuth-Morris-Pratt算法推广,首次解决了这个问题,并且在时间复杂度为O(nlogσ)的情况下运行,其中n是文本的长度,σ是符号的字母表大小。尽管该算法提出已经有三十多年历史,但至今仍然在实践中广泛应用,是字符串匹配和深度包检测的核心数据结构。 接着,文档提到了Commentz-Walter算法,这是Boyer-Moore算法的直接扩展,并结合了AC算法的思想。此外,基于因式识别的算法利用后缀自动机或因式oracle进行精确或弱因式识别,是高效的。后缀自动机是由Blumer等人提出的,能够接受文本的所有后缀,并且是多个高效字符串匹配算法的核心数据结构之一。因式oracle源自DAWG(Distributed Array of Workstations Graph),能够识别出超过Aho-Corasick算法的更多情况。 文档还提到了多字符串匹配算法用于在文本中查找字符串集合P中的字符串的所有出现。其中k表示P中的字符串数量,n表示文本t的长度,σ表示从文本P和t中的符号选择的符号的字母表。多字符串匹配问题已经引起了广泛的关注,由于其在深度包检测中的重要性,这方面的研究工作往往集中在如何提高搜索效率和减少算法复杂性上。 本文献可能深入探讨了在数据压缩之后,如何在不直接对压缩数据解压的前提下,仍然可以有效地进行模式匹配的算法,这对于在有限的计算资源下进行网络数据包分析或任何需要快速识别数据中的模式的场景都具有重要意义。此外,算法的最坏情况行为的改善以及对算法复杂性攻击的免疫性,则进一步增强了算法在实际应用中的可靠性和鲁棒性。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。