显着正则表达式自动机的分类


10

我正在尝试拟定用于将正则表达式转换为自动机的算法的分类法,以便对其特定领域中的复杂性进行一些实证测试。

我知道几个“较大”的名称,例如,


汤普森

汤普森,“正则表达式搜索算法”,1968年

格卢什科夫

“将正则表达式转换为自动机的新的二次算法”,Ponty等。1996年

安蒂米罗夫

“正则表达式和有限自动机构造的偏导数”,Antimirov,1996年

跟随

“跟随自动机”,Ilie等。等,2003;

Champarnaud等人,“计算表达式的跟随自动机”。al,2002

赫罗姆科维奇

Hromkovic等人,“将正则表达式转换为小的无电子的不确定自动机”。2001年


及其区别性(无ε,确定性,尺寸,最小化等),但我知道这并不是详尽的清单。

我对算法的兴趣特别大,这些算法呈现出的时间复杂度与上述算法大不相同,并且/或者拓扑结构也大为不同。

如果您认识其他人,将非常感谢您提供详细描述构造算法的论文的链接(如果要实施,请务必阅读!)

编辑:根据要求添加了一些参考。


@Radu GRIGore我添加了一些参考。这些是我所知的关于这些自动机的最佳参考,但是可能还有其他参考。
s8soj3o289

1
对于Glushkov,我通常参考的是J. Berstel和J.-E。Pin,“本地语言和Berry-Sethi算法”,1996
。– Sylvain 2010年

1
顺便说一下,您可以在Vaucanson C ++库中找到其中一些算法的实现,以供构造这些算法参考。trac.lrde.org/vaucanson/browser/include/vaucanson/algorithms(其中standard_of = Glushkov,thompson_of =汤普森,derived_term_automaton = Antimirov,brzozowski = Brzozowski)
迈克尔Cadilhac

@ michael-cadilhac感谢您的指导。希望我自己实现其他功能之前就知道这一点!我一定会看看。
s8soj3o289

Answers:


7

沃森(技术代表大学,埃因霍温,1995年)撰写了有限自动机构造算法的分类法。以下是一些最近的发展。

对于带有ε过渡的NFA,Sippu / Soisalon-Soininen(Springer,1998)撰写的解析理论书包含了汤普森结构的一种变体。Ilie和Yu(I&C 2003)和Gulan和Fernau(FSTTCS 2008)提供了经典构造的精炼版本。Gruber和Gulan进一步研究了对应于正则表达式的epsilon-NFA的最小尺寸要求(LATA 2010)。Giammarresi,Ponty,Wood和Ziadi(Discr.Appl.Math 2004)和Gulan(Tech.Rep.Univ.Trier,2010)研究了汤普森构造产生的底层有向图的结构。

关于无εNFA,我想提一下Berry&Sethi(TCS 1986)和Brüggemann-Klein(TCS 1993)的早期工作,但这很可能已被Watson的分类法所涵盖。

ñ2Ø日志ñ

另请注意:关于用于正则表达式匹配的快速算法,我知道Bille和Thorup的最新工作(ICALP 2009,SODA 2010)。他们使用经典的Thompson构造(当然还有许多提高速度的技巧)。


1
这是一个很好的答案,非常感谢。我看到您最近也出版了有关该主题的书-请问我是否也可以。它可以以任何形式在线提供; b。是,还是您曾经看过特定领域的“平均情况”复杂性?我主要对nlp的应用感兴趣,在nlp上,一些尚未得到充分传闻的证据表明,其中某些算法的平均情况复杂度与CS文献中描述的最坏情况明显不同。
s8soj3o289

我也不太确定礼节是如何选择答案的。您的答案显然优于我之前选择的答案。
s8soj3o289

仅此书的预告片可在线免费获得。
Hermann Gruber,2010年

关于平均案例状态的复杂性,M。Holzer还提供了有限语言的平均NFA大小的论文(TCS 2007);但最相关的似乎是尼科德(Nicaud)在Glushkov自动机上的工作(LATA 2009);Nicaud,Pivoteau&Razet(FSTTCS 2010)也即将发表一篇论文,标题很有趣-我还没看清楚。
Hermann Gruber,2010年

Gouveia,Moreira和Reis(CiE 2010)进行了将RE转换为NFA的实验。Broda,Machiavelo,Moreira和Reis(DLT 2010)比较了位置自动状态机(Glushkov)和方程式状态机(Antimirov)的状态数。这可能也很有趣。
Hermann Gruber 2010年

5

列表中未考虑的一项是Janusz Brzozowski撰写的《正则表达式导数》,《 ACM 1964年期刊》,最近又由Scott Owens,John Reppy和Aaron Turon 重新审视了正则表达式的导数。Journal of Functional Programming(2009),19:173-190,他为正则表达式的扩展符号提供了该技术的实际实现。


2
Antimirov是Brzozowski的不确定性变体。
西尔万

这个名字听起来确实很耳熟。
戴夫·克拉克

感谢您的“重新检查”文章,我没有看到!
s8soj3o289's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.