2013年11月28日

有多个初始状态的 DFA

摘要: 最近做了一项工作:允许一个 DFA 有多个起始状态(可以称作根: root)。引入这个概念有很多好处,主要体现在 DFA Union 中,这个操作通过 NFA 到 DFA 的转化来完成,算法思想很简单:创建一个 NFA,该 NFA 只有初始状态是非确定 (non-DFA) 状态:初始状态只有 ε 转移,这些 ε 转移指向所有要被 Union 的 DFA 的初始状态,然后将该 NFA 转化为 DFA。因为 NFA 转化 DFA 是 NSpace 的,虽然很多数情况下只有线性复杂度,我们仍然希望尽可能减小这个复杂度。对于多正则表达式匹配(Multiple Regular Expression Ma 阅读全文

posted @ 2013-11-28 22:17 能发波 阅读(788) 评论(0) 推荐(0) 编辑

导航