[发明专利]一种串匹配场景下随机模式串集合生成方法、设备和可读存储介质有效
申请号: | 201711103789.3 | 申请日: | 2017-11-10 |
公开(公告)号: | CN108073679B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 袁方方;刘燕兵;曹聪;卢毓海;张春燕;谭建龙;郭莉 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 匹配 场景 随机 模式 集合 生成 方法 设备 可读 存储 介质 | ||
1.一种串匹配算法的测试方法,其特征在于,包括以下步骤:
1)采用以下步骤生成串匹配场景下的随机模式串集合:
1-1)获取基于字符出现的频率建立的基于马尔可夫链的模型;
1-2)利用基于马尔可夫链的模型生成指定长度和规模的随机模式串集合;
其中,建立基于马尔可夫链的模型的步骤包括:
a)利用数组g_codemap1和g_codemap2对字符及其在V中的位置建立一一映射关系,其中V表示字符出现的频率和该字符组成的键值对集合,g_codemap1为由字符映射到该字符在V中的位置,g_codemap2为由字符在V中的位置映射到该字符;
b)统计训练样本数据T中4-gram的个数,对所有的4-gram提取其前面3个字符构成3-gram,并统计3-gram的个数;
c)计算每个4-gram的频率并保存在数组f4中,计算每个3-gram的频率并保存在数组f3中;
d)由g_codemap1、g_codemap2、f3和f4构成基于马尔可夫链的模型;
其中,步骤1-2)包括:
1-2-1)采用二分查找的方法随机选取3个值对随机模式串最开始的3个状态进行初始化;
1-2-2)在基于马尔可夫链的模型中,当前状态仅与其前面3个状态相关,对于状态St、St+1和St+2,采用二分查找的方法随机选取下一个状态的值,直至生成长度为l的数值序列;
1-2-3)利用g_codemap2将基于马尔可夫链的模型生成的数值序列转化成字符序列;
1-2-4)重复步骤1-2-1)、1-2-2)和1-2-3),直到生成r个长度为l的随机模式串集合P;
2)利用生成的随机模式串集合,对串匹配算法进行功能测试和性能测试。
2.如权利要求1所述的方法,其特征在于,所述每个4-gram的频率为:每个4-gram出现的次数/该4-gram前面3个字符构成的3-gram出现的次数;所述每个3-gram的频率为:每个3-gram出现的次数/4-gram的总数。
3.如权利要求1所述的方法,其特征在于,步骤1-2-1)设定二分查找的区间为[L,H],L初始化为0,H初始化为SetSize*SetSize*SetSize–1,M=(L+H)/2,其中SetSize为字符集大小;利用stdrand()生成[0,1)之间的随机浮点数p,若pf3[M],则H=M–1,否则,L=M+1,直至LH,设定H的值加1,最开始的第3个字符k=H127,H向右移7位,最开始的第2个字符j=H127,H再向右移7位,最开始的第1个字符i=H127,通过i、j、k分别对基于马尔可夫链的模型的最开始的3个状态S0、S1和S2进行初始化。
4.如权利要求1所述的方法,其特征在于,步骤1-2-2)设定二分查找的区间为[Low,High],Low初始化为(St21)|(St+114)|(St+27),High初始化为Low+127,Mid=(Low+High)/2,利用stdrand()生成[0,1)之间的随机浮点数p,若pf4[Mid],则High=Mid–1,否则,Low=Mid+1,直至LowHigh,设定High的值加1,St+3=High127,如此循环,直至生成长度为l的数值序列。
5.一种串匹配算法的测试设备,其特征在于,包括接收器、处理器、存储器和发送器,其间通过总线连接;接收器用于接收外部的指令,存储器用于存储串匹配场景下随机模式串集合生成指令;处理器用于读取存储器中的串匹配场景下随机模式串集合生成指令,并执行该指令以实现权利要求1至4中任一权利要求所述的串匹配算法的测试方法;发送器用于输出执行的结果。
6.一种存储串匹配算法的测试程序的非易失性计算机可读存储介质,其特征在于,所述串匹配算法的测试程序被计算机执行时,实现权利要求1至4中任一权利要求所述的串匹配算法的测试方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711103789.3/1.html,转载请声明来源钻瓜专利网。