1 / 19

今日の目標

今日の目標. 文脈自由文法の復習   導出機構   この講義(教科書)での用語の確認 プッシュダウンオートマトンの復習   非決定性   用語の確認 ある言語がCFLでないことと、その証明法の理解 - 正則言語に対するポンピング補題の復習 - CFLに対するポンピング補題. 文脈自由文法. 英小文字. 英大文字. 定義 3.1.1 G=(∑, NT, R, S) ∑ : 終端(記号)の有限集合 -アルファベット NT : 非終端(記号)の有限集合 R : (生成)規則の有限集合 規則:  NT× ( ∑∪NT )*

taline
Download Presentation

今日の目標

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 今日の目標 • 文脈自由文法の復習   導出機構   この講義(教科書)での用語の確認 • プッシュダウンオートマトンの復習   非決定性   用語の確認 • ある言語がCFLでないことと、その証明法の理解 - 正則言語に対するポンピング補題の復習 - CFLに対するポンピング補題

  2. 文脈自由文法 英小文字 英大文字 • 定義3.1.1 G=(∑, NT, R, S) ∑: 終端(記号)の有限集合 -アルファベット NT: 非終端(記号)の有限集合 R: (生成)規則の有限集合 規則:  NT×(∑∪NT)* S∈NT: 初期記号 NT と(Σ∪NT)* の順序対 A → ab, A →aAb, A→BC,A→ε

  3. 導出機構 ・文形式: ∈(∑∪NT)* 正しい文の中間的な形式 ・1ステップで導出可能:   「A→z」∈Rであるとき u=xAy から v=xzy が1ステップで導出可能(「u⇒v」) ・導出可能: u0⇒u1, u1⇒u2, ……, un-1⇒un(n≧0) であるとき u=u0 から v=un  が導出可能(「u⇒* v」) ・文法Gにより生成される(導出可能な)言語: L(G)={ w | w ∈ ∑*, S ⇒* w }

  4. S Vp Np V Np N N John bought car 構文解析 解析木(構文木) 最左導出:  S ⇒ NpVp ⇒ NVp ⇒ John Vp ⇒ John VNp ⇒ Johnbought Np ⇒Johnbought N ⇒ John bought car 最右導出:  S ⇒ NpVp ⇒ NpVNp ⇒ NpVN ⇒ NpV car⇒ Npbought car ⇒N boughtcar ⇒ John bought car

  5. S S S S if if (C) (C) if if (C) (C) S S else else S S 曖昧な文法 • 2つ以上の解析木を持つ記号列を生成する文法 S→ if (C) S else S, S→if (C) S

  6. スタック a プッシュ ホップ a プッシュダウンオートマトン(PDA) • 非決定性有限オートマトン + スタック 有限制御部 非決定的 動作 読み取りヘッド a b a b b a b a a 入力テープ

  7. プッシュダウンオートマトン M=(Q, ∑, Γ, s0, Δ, F) Q: 状態の有限集合 ∑: 入力アルファベット s0∈Q: 初期状態 F⊆Q: 適格状態(受理状態)の集合 Γ: スタック記号の(有限)集合 Δ: (Q×(∑∪{ε})×Γ*)×(Q×Γ*)の部分集合

  8. プッシュダウンオートマトン 遷移関係 ((s, a, β), (q, γ)):  状態 s で,  読取りヘッドが読んでいる入力記号が a で,  スタックトップにβという記号列があるとき, 「入力記号 a を消費して,   状態qに遷移し,   スタックトップのβを記号列γで置き換える」 ことができる(非決定性) a = ε の場合: 入力記号に依存せず, 入力を消費しない遷移 β = ε の場合:スタックの記号列に依存しない遷移

  9. 「様相」と「1ステップ導出」 • 様相 (s, u, α) s: 有限制御部の状態、 u: 入力テープの残り α: スタック上の記号列(左端がスタックトップ) • 様相C1=(s, au, αΘ)から様相C2=(q, u, βΘ)へ • 1ステップ 導出可能(C1C2) •   「((s, a, α), (q, β)∈ Δ」のときかつそのときのみ

  10. 受理 • PDAが記号列 w を受理 • (s0, w, ε)=C0 C1 Cn=(p, ε, ε) • p∈F(適格状態) • L(A): PDA A の受理する記号列の集合 • 空スタック受理PDA •  適格状態とそうでない状態を区別せず「空スタック」のみを受理条件とするPDA •  定理 「任意のPDAから、同じ言語を受理する空スタック受理PDAを構成できる」 …

  11. CFGとPDAの表現能力 • 文脈自由文法(CFG)とプッシュダウンオートマトン(PDA)の表現能力が一致する  - CFGで表現できるものはPDAで表現できる - PDAで表現できるものはCFGで表現できる • 証明はパス

  12. 正則言語に関するポンピング補題 Lが正則ならば、以下を満たすnが存在 |w|≧n, w∈Lならば wは以下を満たすような w=xyzに分解可能 (a) y≠ε (b) |xy|≦n (c) xyiz∈L (for all i≧0) 証明: Lが無限集合の場合 Lが正則であることより、Lを受理するDFAA が存在する.Aの状態数を n とする. |w|≧n, w∈Lなる w=w1w2…wm(m≧n) を考える.

  13. n+1個の状態 Aによるwの受理 w1 w2 wn+1 wm wn-1 wn … … s Aの状態数がnなので、同じ状態があるはず

  14. 同じ x z y Aによるxy*zの受理 wn wn+1 wm … … … … s * 0回以上 繰り返し可 |xy|≦n,|y| > 0 Aは xy*z を受理、すなわち xy*z∈L

  15. 文脈自由言語の場合 正則ではDFAによる受理を考えたが CFLではCFGにおける導出を考える 簡単のため 「A→B」のような規則 (単記号規則) 「A→ε」のような規則 (ε規則) はないものとする

  16. 同じ S ⇒* uAz A ⇒* uvAyz A ⇒* uvxyz 0回以上 繰り返し可 S ⇒* uAz ⇒* uvAyz ⇒* uv2Ay2z ⇒* uv3Ay3z …… ⇒* uviAyiz ⇒* uvixyiz CFGにおける導出 十分長い導出を考えれば同じ非終端が2回以上登場 単記号規則,ε規則がないので v≠ε またはy≠ε

  17. CFLに関するポンピング補題 LがCFLならば、以下を満たすnが存在 |w|≧n, w∈Lならば、wは以下を満たすような w=uvxyzに分解可能 (a) v≠ε または y≠ε (b) |vxy|≦n (c) uvkxykz∈L (for all k≧0)

  18. 最長の径路 (長さ|NT|+1以上) A 長さ |NT|+1以下 A |vxy|≦f(G)|NT| n 図3.8w=uvxyz の解析木 S |w| > f(G)|NT| f(G): ファンアウト  規則の右辺の      最大長 u v x y z

  19. ポンピング補題の使い道 • ある言語が文脈自由言語でないことの証明 例3.6.1: {ak bk ck | k=0,1,2,…} 例3.6.2: {w | w ∈ {a,b,c}*, w は同数の a,b,c を含む} 例3.6.3: {tt | t ∈ {a,b}*}

More Related