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

时间:2013-07-22 11:43:20

标签: algorithm packet dfa inspection network-security

我最近正在阅读有关延迟输入DFA的论文Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection
根据论文中的引理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匹配 DFA可以匹配c,首先使用空字符转到状态1,然后匹配c。
有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:1)

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