首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 140 毫秒
1.
本文提出了一种用于对正则表达式的覆盖能力进行评价的算法。我们将一条正则表达式可覆盖的实例的数目定义为正则表达式的覆盖能力。算法首先将完整的正则表达式分成若干片断,然后分析每个片断可覆盖的字符串实例数目,最后根据乘法原理将各个片断可覆盖的实例数目相乘,即为当前正则表达式可覆盖的实例数目。  相似文献   

2.
一组提高存储效率的深度包检测算法   总被引:2,自引:0,他引:2  
于强  霍红卫 《软件学报》2011,22(1):149-163
随着深度包检测规则数目的剧烈增长,为了适应网络处理的需求,必须对表示正则表达式的DFA(deterministic finite automata,确定的有限自动机)进行高效的存储.一方面,对DFA的状态点数目进行压缩,提出了一种复合的FSM(有限自动机)的构造方法,通过对正则表达转化成DFA的状态点数目复杂度的分析,将不同复杂度的正则表达式采用不同的方式构建DFA,使得所有平方级和指数级复杂度的状态点数目降低到了线性级.另一方面,对DFA的状态转移数目进行压缩,给出了一种高效的压缩算法,即WD2FA(weighted delayed input DFA,带权延迟DFA)算法,对于任意复杂度的正则表达式都可以将状态转移数目压缩为原来的5%左右,相对于D2FA(delayed input DFA,延迟的DFA)有更好的压缩能力,并且使得D2FA是WD2FA在权值为0情况下的特例.实验结果表明,有限自动机的状态点数目能够控制在线性级,并且在状态点压缩的基础上将状态转移数目压缩为原来的7%.  相似文献   

3.
深度检测在维护网络安全、保证服务质量等方面扮演着重要的角色。正则表达式匹配算法作为高性能深度检测的核心技术,具有重要的研究价值和实践意义。随着网络流量不断增长、规则数目持续增多以及网络结构日趋灵活和动态,现有的正则表达式匹配算法面临着匹配速度、内存占用和更新能力等多方面的挑战。介绍了正则表达式匹配算法的研究背景,从空间压缩、匹配加速、新型自动机设计以及规则拆分和分组四个角度入手,分类总结了学术界具有影响力的研究成果。通过基于真实网络流量的评测,比较了几种经典匹配算法在不同规则集上的匹配速度、内存占用和预处理时间等性能指标,并给出了不同需求场景下高效正则表达式匹配算法的选择建议,归纳了高性能正则表达式匹配算法的下一步发展方向。  相似文献   

4.
柳厅文  孙永  卜东波  郭莉  方滨兴 《软件学报》2012,23(9):2261-2272
对正则表达式集合进行分组是解决DFA状态膨胀问题的一种重要方法.已有的分组算法大都是启发式的或蛮力的,分组效果很差.分析了DFA状态膨胀的原因,总结了某些正则表达式间的冲突状况.证明了当冲突非负和冲突独立时,正则表达式集合的最优k分组问题可归结为最大k割问题,从而说明该问题是NP-Hard的.基于局部搜索的思想,提出了一种分组算法GRELS来解决分组问题,并证明对最大k割问题,该算法的近似比是1/(1-1/k)与已有的分组算法相比,当分组数目相同时,GRELS算法分组结果的状态总数最少,并且集合发生变化时所需的更新时间最短.  相似文献   

5.
确定性有限自动机(Det­erministic Finite Automata, DFA)匹配速度远快于非确定性有限状态自动机(Non-deterministic Finite state Autom­ata, NFA),但大量正则表达式转换为DFA时会引起状态爆炸而占用巨大的存储空间。首先定义膨胀系数(Expansion Coefficient, EC)来描述正则表达式的膨胀特性,然后在膨胀系数这一概念基础上,提出一种高效的分组算法--IGA(Improved Grouping Algorithm)算法对正则表达式进行有效分组,将容易引起状态爆炸的正则表达式相互隔离,从而节省存储空间。实验结果表明,与原有算法相比,在相同分组数目时IGA算法平均能够减少25%的状态数。  相似文献   

6.
针对汇编语言程序非结构化的特点,提出了基于改进的Z路径覆盖策略的汇编语言程序结构测试方法和路径自动生成算法。该算法采用正则表达式来表示程序控制流结构,从控制流分段.正则表达式生成、路径片段生成和路径片段连接4个步骤完成了路径生成的过程,提出了矩阵递归算法MRA以解决路径片段连接问题。该算法能够生成覆盖在循环处执行循环体的0次、1次和2次循环的路径集,该路径集覆盖语句覆盖、判定覆盖和循环覆盖准则的同时,其路径数量又可以接受。  相似文献   

7.
一种基于神经网络覆盖构造法的模糊分类器   总被引:10,自引:1,他引:10       下载免费PDF全文
首先介绍了一种M-P模型几何表示,以及利用这种几何表示可将神经网络的训练问题转化为点集覆盖问题,并在此基础上分析了神经网络训练的一种几何方法.针对该方法可构造十分复杂的分类边界,但其时间复杂度很高.提出一种将神经网络覆盖算法与模糊集合思想相结合的方法,该分类器可改善训练速度、减少覆盖的球领域数目,即减少神经网络的隐结点数目.同时模糊化方法可方便地为大规模模式识别问题提供多选结果.用700类手写汉字的识别构造一个大规模模式识别问题测试提出的方法,实验结果表明,该方法对于大规模模式识别问题很有潜力.  相似文献   

8.
从有限自动机中生成简短、可读性强的正则表达式是计算机理论研究中的一个重大课题.在经典的正则表达式生成算法中,状态序列是影响正则表达式质量的关键因素.为了能够快速高效地找到较优的状态序列,本文以食肉植物算法的理论为核心,并结合其他启发式算法的思想进行设计与优化,提出了一种基于食肉植物算法的状态序列搜索方法.通过实验将此方法与已有的一些使用启发式规则的搜索算法进行了对比,实验结果表明,基于食肉植物算法的状态序列搜索方法优于其他启发式算法,生成的正则表达式长度比起其他启发式算法明显缩短,如跟DM算法相比,长度的缩短幅度可以随着自动机阶数的增加达到20%以上,跟随机序列算法相比,可以把长度缩短多个数量级.  相似文献   

9.
当前深度包检测算法通常需要将正则表达式转换为NFA或者DFA.但是随着网络带宽的不断增加.NFA和DFA状态占用的存储空间越来越大,极大地考验着系统的存储能力。为了应对这个问题.提出一种基于正则表达式相性的分组算法来对表达式进行分组,实验证明该算法能减少NFA和DFA状态的数量,提高匹配的效率。  相似文献   

10.
经过对正则表达式合并DFA状态爆炸问题的分析,采用正则表达式两两合并DFA的状态增加数之和衡量多个正则表达式合并后真实的状态增加情况,将正则表达式最优分组问题归约为带权无向图的k-最大割问题。在此基础上,提出一种面向高效深度包检测的启发式正则表达式分组算法REG-EDPI。采用贪婪策略构造初始解,引入移除参数进行迭代优化。实验表明相比于其他算法,REG-EDPI算法能够在合理的运行时间内,获得更优的分组策略,具有更强的实际应用价值。  相似文献   

11.
大变量逻辑函数最佳覆盖问题研究   总被引:2,自引:0,他引:2  
逻辑函数的最佳覆盖,一直是逻辑综合领域的关键环节。尤其是大变量逻辑函数最佳覆盖,对复杂的逻辑综合更为重要,但也更加困难。本文在对逻辑覆盖算法研究的基础上,提出了适合大变量逻辑函数最佳覆盖的Beister改进算法。经过大量算题的测试表明,改进的列覆盖算法在时间复杂度和选择效果方面均优于Beister算法。  相似文献   

12.
An efficient algorithm for finding the Kleene closure of regular expressions matrices or fuzzy regular expression matrices is presented and illustrated by examples. Properties of Kleene closure are also investigated. The results may have useful applications in automata theory, pattern recognition, and pictorial information systems.  相似文献   

13.
针对已有正则表达式分组算法的分组效果与分组时间难以平衡的问题,本文提出了基于预分类的标签传播分组算法。该算法首先分析了规则间膨胀特征,基于此对正则表达式集合进行预分类;然后借鉴标签传播思想对包含克林闭包的正则表达式集合分组,通过改进初始标签分配和传播过程实现快速聚敛。仿真实验证明,该算法与当前的正则表达式分组算法相比,在相同分组数情况下,有着较少的状态数和更短的分组时间。  相似文献   

14.
用关键特征集对逻辑进行优化   总被引:3,自引:1,他引:2  
提出了一个两级逻辑优化的新算法,与通过函数质蕴涵集求解覆盖的传统算法不同,文中将求解逻辑函数的质蕴涵项与推导覆盖问题相结合,直接得出覆盖问题的解。算法的主要问题可以简化为:对于立方描述的单元,求解最小覆盖,在这个过程中又提出了一种改进的覆盖吸收算法,基于关键特征集合的选拔吸收算法,此算法不用求所有的立方,通过标准的测试例子与原来的Espresso算法作比较,对于大电路,在计算时间上,新算法有明显的改进。  相似文献   

15.
Three neural-based methods for extraction of logical rules from data are presented. These methods facilitate conversion of graded response neural networks into networks performing logical functions. MLP2LN method tries to convert a standard MLP into a network performing logical operations (LN). C-MLP2LN is a constructive algorithm creating such MLP networks. Logical interpretation is assured by adding constraints to the cost function, forcing the weights to ±1 or 0. Skeletal networks emerge ensuring that a minimal number of logical rules are found. In both methods rules covering many training examples are generated before more specific rules covering exceptions. The third method, FSM2LN, is based on the probability density estimation. Several examples of performance of these methods are presented.  相似文献   

16.
In this paper,a new covering algorithm called FCV1 is presented.FCV1 comprises two algorithms,one of which is able to fast search for a partial rule and exclude the large portion of neggative examples,the other algorithm incorporates the more optimized greedy set-covering algorithm,and runs on a small portion of training examples.Hence,the training process of FCV1 is much faster than that of AQ15.  相似文献   

17.
《国际计算机数学杂志》2012,89(7):1471-1483
This paper studies the regularized learning algorithm associated with the least-square loss and reproducing kernel Hilbert space. The target is the error analysis for the regression problem in learning theory. The upper and lower bounds of error are simultaneously estimated, which yield the optimal learning rate. The upper bound depends on the covering number and the approximation property of the reproducing kernel Hilbert space. The lower bound lies on the entropy number of the set that includes the regression function. Also, the rate is independent of the choice of the index q of the regular term.  相似文献   

18.
Adaptive Sampling Methods for Scaling Up Knowledge Discovery Algorithms   总被引:2,自引:0,他引:2  
Scalability is a key requirement for any KDD and data mining algorithm, and one of the biggest research challenges is to develop methods that allow to use large amounts of data. One possible approach for dealing with huge amounts of data is to take a random sample and do data mining on it, since for many data mining applications approximate answers are acceptable. However, as argued by several researchers, random sampling is difficult to use due to the difficulty of determining an appropriate sample size. In this paper, we take a sequential sampling approach for solving this difficulty, and propose an adaptive sampling method that solves a general problem covering many actual problems arising in applications of discovery science. An algorithm following this method obtains examples sequentially in an on-line fashion, and it determines from the obtained examples whether it has already seen a large enough number of examples. Thus, sample size is not fixed a priori; instead, it adaptively depends on the situation. Due to this adaptiveness, if we are not in a worst case situation as fortunately happens in many practical applications, then we can solve the problem with a number of examples much smaller than required in the worst case. We prove the correctness of our method and estimates its efficiency theoretically. For illustrating its usefulness, we consider one concrete task requiring sampling, provide an algorithm based on our method, and show its efficiency experimentally.  相似文献   

19.
基于商空间粒度的覆盖聚类算法*   总被引:1,自引:0,他引:1  
介绍了覆盖算法的基本思想,给出了商空间粒度的基本原理,提出了基于商空间粒度的覆盖聚类算法.通过实验验证了该算法的有效性和可行性,它适合处理大规模的数据样本.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号