
- 自動機理論教程
- 自動機理論 - 首頁
- 自動機理論 - 入門
- 自動機理論 - 歷史
- 自動機理論 - 應用
- 自動機理論術語
- 自動機中字串的基礎知識
- 自動機的集合論
- 語言和文法
- 計算理論中的文法
- 由文法生成的語言
- 喬姆斯基文法分類
- 有限自動機
- 確定性有限自動機 (DFA)
- 非確定性有限自動機 (NFA)
- 從 NFA 到 DFA 的轉換
- DFA 的最小化
- Moore 機與 Mealy 機
- DFA 的補集
- 正則表示式
- 自動機中的正則表示式
- 自動機中的 Arden 定理
- 將正則表示式轉換為有限自動機
- 正則文法的泵引理
- 計算理論中的正則集
- 上下文無關文法
- 上下文無關文法 (CFG)
- 上下文無關文法中的二義性
- 上下文無關語言的閉包性質
- 簡化上下文無關文法
- 喬姆斯基正規化 (CNF)
- 格雷巴赫正規化 (GNF)
- 上下文無關文法的泵引理
- 下推自動機
- 下推自動機 (PDA)
- 下推自動機的接受
- 由 CFG 構造 PDA
- 下推自動機和語法分析
- 圖靈機
- 圖靈機 (TM) 基礎
- 圖靈機接受的語言
- 多磁帶圖靈機
- 多軌跡圖靈機
- 非確定性圖靈機
- 半無限帶圖靈機
- 線性有界自動機 (LBA)
- 可計算性和不可判定性
- 圖靈語言的可判定性
- 不可判定語言
- 圖靈機停機問題
- 計算理論中的 Rice 定理
- Post 對應問題 (PCP)
- 自動機理論資源
- 自動機理論 - 快速指南
- 自動機理論 - 資源
- 自動機理論 - 討論
正則文法的泵引理
定理
設 L 為正則語言。則存在常數 ‘c’ 使得對於 L 中的每個字串 w −
|w| ≥ c
我們可以將 w 分解為三個字串 w = xyz,使得 −
- |y| > 0
- |xy| ≤ c
- 對於所有 k ≥ 0,字串 xykz 也在 L 中。
泵引理的應用
泵引理用於證明某些語言不是正則語言。它不應該用於證明語言是正則語言。
如果 L 是正則的,則它滿足泵引理。
如果 L 不滿足泵引理,則它是非正則的。
證明語言 L 不是正則的方法
首先,我們假設 L 是正則的。
因此,泵引理應該適用於 L。
使用泵引理得出矛盾 −
選擇 w 使得 |w| ≥ c
選擇 y 使得 |y| ≥ 1
選擇 x 使得 |xy| ≤ c
將剩餘的字串賦給 z。
選擇 k 使得生成的字串不在 L 中。
因此 L 不是正則的。
問題
證明 L = {aibi | i ≥ 0} 不是正則的。
解答 −
首先,我們假設 L 是正則的,n 是狀態數。
設 w = anbn。因此 |w| = 2n ≥ n。
根據泵引理,設 w = xyz,其中 |xy| ≤ n。
設 x = ap,y = aq,z = arbn,其中 p + q + r = n,p ≠ 0,q ≠ 0,r ≠ 0。因此 |y| ≠ 0。
設 k = 2。則 xy2z = apa2qarbn。
a 的個數 = (p + 2q + r) = (p + q + r) + q = n + q
因此,xy2z = an+q bn。由於 q ≠ 0,xy2z 不是 anbn 的形式。
因此,xy2z 不在 L 中。因此 L 不是正則的。
廣告