正則語言的泵引理是什麼?
有兩個泵引理 (PL),分別定義用於正則語言和上下文無關語言。
正則語言的泵引理
- 它提供了一種從給定字串中“泵出”(生成)許多子串的方法。
- 換句話說,它提供了一種將給定的長輸入字串分解成幾個子串的方法。
- 它給出了證明一組字串不是正則的必要條件。
定理
對於任何正則語言 L,存在一個整數 P,使得對於 L 中的所有 w
|w|>=P
我們可以將 w 分解成三個字串,w=xyz,使得。
(1)|xy| < P
(2)|y| > 1
(3)對於所有 k>= 0:字串 xykz 也在 L 中
泵引理的應用
泵引理用於證明某些語言不是正則的。
它不應用於證明語言是正則的。
- 如果 L 是正則的,則它滿足泵引理。
- 如果 L 不滿足泵引理,則它不是正則的。
**使用 PL 證明語言不是正則的步驟**如下:
- 步驟 1 - 我們必須假設 L 是正則的
- 步驟 2 - 因此,泵引理應該適用於 L。
- 步驟 3 - 它必須有一個泵長度(例如 P)。
- 步驟 4 - 所有長度大於 P 的字串都可以泵出 |w|>=p。
- 步驟 5 - 現在在 L 中找到一個字串 'w',使得 |w|>=P
- 步驟 6 - 將 w 分解成 xyz。
- 步驟 7 - 證明對於某些 i,xyiz ∉ L。
- 步驟 8 - 然後考慮 w 可以分解成 xyz 的所有方式。
- 步驟 9 - 證明這些方式中沒有一個可以同時滿足所有 3 個泵條件。
- 步驟 10 - w 不能被泵出 = 矛盾。
廣告