2013-07-22 124 views
0

我最近正在閱讀關於延遲輸入DFA的論文Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection
根據論文中的引理1,DFA等價於相應的延遲輸入DFA。但考慮下面的一個反例:
設f(i,s)表示轉換函數,其中s是當前狀態,i是輸入字符。
DFA:
爲什麼DFA等同於延遲輸入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

也許他們假設原始DFA的轉換函數是全部的,如果需要的話,通過引入明確的錯誤狀態。您的轉換函數f對於(c, 2)未定義。