[发明专利]一种从有限自动机生成简短正则表达式的方法在审
申请号: | 202110966638.0 | 申请日: | 2021-08-23 |
公开(公告)号: | CN113657078A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 高俊涛;刘云峰;文必龙;王志宝;王永安 | 申请(专利权)人: | 东北石油大学 |
主分类号: | G06F40/151 | 分类号: | G06F40/151 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 冯炳辉 |
地址: | 163318 黑龙江省*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 有限 自动机 生成 简短 正则 表达式 方法 | ||
1.一种从有限自动机生成简短正则表达式的方法,其特征在于,该方法是利用状态消减法将有限自动机转换为正则表达式,通过搜索状态消减序列的候选集合,获得最优状态消减序列,最终生成简短的正则表达式;其包括以下步骤:
S1、对于候选状态消减序列空间,定义临时变量S*存储当前最优状态消减序列,定义临时变量L存储当前最短正则表达式长度,变量S*和L作为搜索候选状态消减序列空间过程的临时变量;
S2、用表达式自动机描述状态消减的中间结果,根据表达式自动机规模估算生成的正则表达式的长度;
S3、基于临时变量S*和L,对候选状态消减序列空间进行剪枝处理,提高状态消减序列的搜索效率;
S4、按照搜索到的最优状态消减序列,采用状态消减法将有限自动机转换成简短的正则表达式。
2.根据权利要求1所述的一种从有限自动机生成简短正则表达式的方法,其特征在于,在步骤S1中,确定有限自动机进行状态消减过程中,所有可能的状态消减序列组成一个候选状态消减序列空间,定义临时变量S*存储当前最优状态消减序列,定义临时变量L存储当前最短正则表达式的长度。
3.根据权利要求1所述的一种从有限自动机生成简短正则表达式的方法,其特征在于,在步骤S2中,对有限自动机进行状态消减的每个阶段需要选择一个状态进行消减并产生一个表达式自动机,用EAs表示,其中EA表示当前表达式自动机,s是一个状态序列,s既能够是包含所有待消减状态的完整状态消减序列,也能够是不完整的只包含部分待消减状态的状态消减子序列;在状态消减过程中,每个阶段产生的表达式自动机依赖于当前消减的状态和前一阶段的表达式自动机,依据表达式自动机间依赖关系将给定有限自动机生成的表达式自动机全集构造成一棵树,树上每个结点代表一个表达式自动机,叶子结点对应的表达式自动机依赖于父结点对应的表达式自动机,由于叶子结点对应的表达式自动机只包含初态和终态,所以叶子结点唯一确定一个正则表达式,正则表达式的长度就是叶子结点表达式自动机的字符规模。
4.根据权利要求1所述的一种从有限自动机生成简短正则表达式的方法,其特征在于,在步骤S3中,采用剪枝策略的最优序列搜索算法OSSAP(An)对候选状态消减序列空间进行全局搜索,在搜索过程中调用NextSeq(l,d)算法进行剪枝操作,对每条状态消减序列使用Eliminate(EA,qk)算法进行状态消减;将|EA|与当前记录的最短长度L做比较,以判断是否需要进行剪枝操作;如果|EA|小于L,那么需要进行剪枝操作;如果|EA|大于L,则不需要进行剪枝操作;最后,返回不需要进行剪枝操作的状态消减序列或已进行剪枝操作的状态消减序列,即返回最优状态消减序列;其中,An表示需要进行n次消减操作的有限自动机,l表示状态消减序列,d表示剪枝深度,EA表示当前表达式自动机,|EA|表示当前表达式自动机的字符规模,qk表示第k个状态消减序列。
5.根据权利要求4所述的一种从有限自动机生成简短正则表达式的方法,其特征在于,所述NextSeq(l,d)算法实现以下过程:
按字典序枚举下一个未被剪掉的状态消减序列,如果状态消减序列长度与搜索到的当前表达式自动机树节点深度相等,则不需要剪枝,否则跳过以根节点到当前搜索节点为前缀的状态消减序列来完成剪枝;对搜索节点之后的后缀状态消减序列按升序排列以保证按字典序枚举状态消减序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北石油大学,未经东北石油大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110966638.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:超高压液压缸结构
- 下一篇:一种聚氨酯阻尼材料及其制备方法