简化Mathematica中的正则表达式

时间:2012-01-14 00:36:44

标签: regex algorithm wolfram-mathematica algebra

我最近发现了关于操作和简化正则表达式的Kleene algebra

我想知道这是否已经构建到像Mathematica这样的计算软件程序中?拥有一个用于进行大型表达式的联合和连接的计算工具并让计算机简化它们会很棒。

如果您不了解内置此代数的任何程序,您是否知道任何允许使用新代数扩展其引擎的程序?

1 个答案:

答案 0 :(得分:5)

http://www.maplesoft.com/msw/program/MSW04FinalProgram.pdf上,它声明:

  

有限自动机理论的基本结果之一是   着名的克莱恩定理,它指出一种语言是可接受的   有限自动机当且仅当它可以用常规表示时   表达

  

常规算法处理的主要困难   然而,表达式是它们的简化。虽然好几个   关于正则表达式,例如规则,已知身份   Kleene代数,没有一个有效的算法   解决正则表达式的简化问题。

  

在这种情况下,唯一的办法就是开发启发式   用于简化正则表达式的算法。对于aut包,   本文概述了Maple程序Rmplmplify,Rabsorb和   Rexpand。

我想知道是否存在Kleene Algebra算法的开源实现。