[发明专利]一种基于图搜索方法加速epsilon闭包计算的方法及系统有效
| 申请号: | 202010412344.9 | 申请日: | 2020-05-15 |
| 公开(公告)号: | CN111753150B | 公开(公告)日: | 2023-10-13 |
| 发明(设计)人: | 张春燕;刘燕兵;卢毓海;谭建龙;郭莉 | 申请(专利权)人: | 中国科学院信息工程研究所 |
| 主分类号: | G06F16/9032 | 分类号: | G06F16/9032 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
| 地址: | 100093 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 搜索 方法 加速 epsilon 计算 系统 | ||
1.一种基于图搜索方法加速epsilon闭包计算的方法,其特征在于,包括以下步骤:
将非确定有限状态自动机NFA状态下空转移集合的出边状态和入边状态按照入边状态编号由大到小排序,将排序第一的状态作为当前状态开始计算;
每次循环当前状态时,首先默认所有状态都未被标注过,利用一个栈来标注出已经计算过的空转移状态,标注出所有NFA未进栈的状态和已进栈的状态,将当前状态压入栈中并标注为已进栈,未入栈表示还未标注;然后弹出栈顶元素并加入到当前闭包集合中,对弹出栈顶元素的状态能到达并未标注过的空转移边,即出边状态压进栈中,便于后续遍历栈中含有空转移边状态;
如果对应入边的出边状态已经进栈,则继续遍历,否则查询该出边状态的闭包集合并判断是否为空,如果不为空,则将出边状态对应的闭包集合加入到当前状态的闭包集合中,否则将出边状态压入栈中并标记为已经进栈;
按照上述步骤直到遍历完所有的状态集合至栈中元素为空为止,找出全部的闭包集合,转化为确定有限状态机DFA。
2.如权利要求1所述的方法,其特征在于,通过标注flag的方式标注出所有NFA未进栈的状态和已进栈的状态。
3.一种基于图搜索方法加速epsilon闭包计算的系统,包括存储器和处理器,该存储器存储由该处理器执行的计算机程序,其特征在于,该计算机程序用于执行上述权利要求1或2所述方法中的各个步骤。
4.一种存储计算机程序的计算机可读存储介质,其特征在于,该计算机程序当由系统的处理器执行时使得该系统执行上述权利要求1或2所述方法中的各个步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010412344.9/1.html,转载请声明来源钻瓜专利网。





