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。
有人可以告訴我爲什麼嗎?