为什么DFA等同于延迟输入DFA



我最近正在读一篇论文《加速多个正则表达式的算法》用于延迟输入DFA的深度分组检测的匹配
根据本文中的引理1,DFA等价于相应的延迟输入DFA。但请考虑以下反例:
设f(i,s)表示转换函数,其中s是当前状态,i是输入字符
DFA:

f(a, 1) = 3, f(b,1) = 3, f(c, 1) = 3, f(a, 2) = 3, f(b, 2) = 3

相应的延迟输入DFA:

f(a, 1) = 3, f(b, 1) = 3, f(c, 1) = 3, f(null, 2) = 1 (null means the default transition) 

然后原始DFA无法匹配来自状态2的字符c,而Delayed输入DFA可以通过先使用null字符进入状态1,然后匹配c来匹配c。
有人能告诉我为什么吗?

可能他们假设原始DFA的转换函数是total,在必要时引入显式错误状态。您的转换函数f对于(c, 2)是未定义的。

相关内容

  • 没有找到相关文章

最新更新