【技术实现步骤摘要】
用于自动机空间压缩的线性同余字符集变换方法及系统
本专利技术属于信息
,具体涉及一种用于自动机空间压缩的线性同余字符集变换方法及系统。
技术介绍
字符串匹配算法是一类搜索算法,广泛应用于生物信息学、信息检索、数据压缩、网络入侵检测等领域。一个字符串是一个定义在有限字母表Σ上的有限字符序列,字符串匹配算法在一个大的字符串T上搜索某个字符串集合S={Pi}中所有字符串Pi的所有出现位置。T被称为文本,Pi被称为模式串,T和Pi都定义在同一个字母表Σ上。在字符串匹配领域,自动机是一种重要的数据结构。例如,1975年由Aho及Corasick提出的AC自动机算法(参考EfficientStringMatching:AnAidtoBibliographicSearch),1977年由Knuth、Morris及Pratt提出的KMP算法(参考FastPatternMatchingInStrings),1999年由Allauzen、Crochemore及Raffinot提出的BOM算法(参考FactorOracle:ANewStructureforPatternMatch ...
【技术保护点】
1.一种用于自动机空间压缩的线性同余字符集变换方法,其特征在于,包括以下步骤:将模式串集构建成自动机,并生成状态转移矩阵;读取状态转移矩阵的各个状态行,计算得到最佳变换参数和最大有效后继状态;根据状态转移矩阵和最佳变换参数,得到数据结构,根据该数据结构将状态行替换为变换后的有效状态行;读取目标文本的字符,根据字符当前状态,利用线性同余函数进行字符变换,得到变换后的字符;如果变化后的字符不大于最大有效后继状态,则得到字符变换后的最终后继状态,实现变换。
【技术特征摘要】
1.一种用于自动机空间压缩的线性同余字符集变换方法,其特征在于,包括以下步骤:将模式串集构建成自动机,并生成状态转移矩阵;读取状态转移矩阵的各个状态行,计算得到最佳变换参数和最大有效后继状态;根据状态转移矩阵和最佳变换参数,得到数据结构,根据该数据结构将状态行替换为变换后的有效状态行;读取目标文本的字符,根据字符当前状态,利用线性同余函数进行字符变换,得到变换后的字符;如果变化后的字符不大于最大有效后继状态,则得到字符变换后的最终后继状态,实现变换。2.如权利要求1所述的方法,其特征在于,根据状态转移矩阵的各个状态行和候选变换参数,计算最小有效后继状态,当该最小有效后继状态为零时,计算得到最大有效后继状态,记第一组使得最大有效后继状态最小的变换参数为最佳变换参数。3.如权利要求2所述的方法,其特征在于,有效后继状态的计in算fs,i式,j为其中A[·]为状态转移矩阵的状态行,c为目标文本的字符,s为字符当前状态,i,j为候选变换参数。4.如权利要求3所述的方法,其特征在于,候选变换参数i取值为从0到127,j取值为从0到255。5.如权利要求1所述的方法,其特征在于,变换后的有效状态行为<A[s,M[s]],A[s,(N[s]+M[s])mod256],A[s,(N[s]×2+M[s])mod256],…,A[s,(N[s]×lc[s]+M[s])mod256]>,其中N[s]、M[s]、lc[s]为数据结构,A[·]为状态转移矩阵的状态行,s为字符当前...
【专利技术属性】
技术研发人员:孙恭鑫,卢毓海,刘燕兵,张春燕,谭建龙,郭莉,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。