計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳.

Slides:



Advertisements
Similar presentations
プログラミング言語論 プログラミング言語の構 文 水野嘉明. 目次 1. プログラミング言語の構文 2. BNF 3. 文脈自由文法 4. 構文図式 2.
Advertisements

プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
システムソフトウェア 第3回:2007年10月17日(水)   . 2 本日学ぶこと 文法  文字と文字列  無限集合  文法とそのクラス  オートマトン.
和田俊和 資料保存場所 /2/26 文法と言語 ー正規表現とオートマトンー 和田俊和 資料保存場所
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
計算の理論 I 文脈自由文法 月曜3校時 大月 美佳 平成15年6月30日 佐賀大学知能情報システム学科.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
計算の理論 II NP完全 月曜4校時 大月美佳.
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
プログラミング言語論 第4回 式の構文、式の評価
計算の理論 II 文脈自由文法と プッシュダウンオートマトン
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
言語処理系(5) 金子敬一.
計算の理論 I -講義について+αー 月曜3校時 大月美佳.
コンパイラ 2012年10月22日
コンパイラ 2011年10月24日
プログラミング言語論 第3回 BNF記法について(演習付き)
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
正則言語 2011/6/27.
形式言語の理論 5. 文脈依存言語.
計算の理論 II 等価性と標準形 月曜4校時 大月美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 I 正則表現 火曜3校時 大月 美佳 平成16年6月8日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I 正則表現 月曜3校時 大月 美佳 平成15年6月9日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I -Myhill-Nerodeの定理 と最小化-
言語プロセッサ ー第9回目ー 構文解析(続き).
計算の理論 II 時間量と領域量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 計算量 月曜5校時 大月美佳 2019/4/10 佐賀大学理工学部知能情報システム学科.
計算の理論 II 前期の復習 -有限オートマトン-
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳.
計算の理論 I ε-動作を含むNFA 月曜3校時 大月 美佳 平成15年6月2日 佐賀大学知能情報システム学科.
計算の理論 I 正則表現とFAとの等価性 月曜3校時 大月 美佳 平成15年6月16日 佐賀大学知能情報システム学科.
形式言語とオートマトン2017 ~第10日目(形式文法2回目)~
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
計算の理論 I ー閉包性ー 月曜3校時 大月 美佳.
計算の理論 I ー正則表現とFAの等価性 その1ー
東京工科大学 コンピュータサイエンス学部 亀田弘之
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
論理回路 第4回
文法と言語 ー文脈自由文法とLR構文解析ー
計算の理論 I 反復補題 月曜3校時 大月 美佳 平成15年7月14日 佐賀大学知能情報システム学科.
計算の理論 I 非決定性有限オートマトン(NFA)
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
計算の理論 I -プッシュダウンオートマトン-
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 火曜3校時 大月 美佳 平成16年7月6日 佐賀大学知能情報システム学科.
論理回路 第5回
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
計算の理論 I -講義について+αー 月曜3校時 大月美佳 平成31年5月18日 佐賀大学理工学部知能情報システム学科.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
計算の理論 I 文脈自由文法 月曜3校時 大月美佳.
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語プロセッサ ー第9回目ー 構文解析(続き).
計算の理論 I ε-動作を含むNFAと等価なDFA
計算の理論 I ε-動作を含むNFA 火曜3校時 大月 美佳 平成16年5月25日 佐賀大学知能情報システム学科.
計算の理論 I -講義について+αー 火曜3校時 大月美佳 平成31年8月23日 佐賀大学理工学部知能情報システム学科.
計算の理論 I ー ε-動作を含むNFA ー 月曜3校時 大月 美佳.
計算の理論 I プッシュダウンオートマトン 月曜3校時 大月 美佳 平成15年7月7日 佐賀大学知能情報システム学科.
計算の理論 II 多テープTuring機械 月曜4校時 大月美佳 平成16年11月29日 佐賀大学知能情報システム学科.
計算の理論 II 時間量と領域量 月曜4校時 大月美佳 2019/9/13 佐賀大学理工学部知能情報システム学科.
4.2 再帰下降解析 (1)再帰下降解析とは ■再帰下降解析(Recursive Descent Parsing)
計算の理論 I 最小化 月曜3校時 大月 美佳 平成15年6月23日 佐賀大学知能情報システム学科.
Presentation transcript:

計算の理論 I 文脈自由文法の標準形 月曜3校時 大月美佳

連絡事項 レポートについて最終 問題用紙:A4 提出期限:平成14年7月8日(月)来週 提出場所:AV講義室 持ってない人は講義終了後取りにくること 提出期限:平成14年7月8日(月)来週 授業終了時に回収 提出場所:AV講義室 欠席等で提出できなかった者は理由を明記の上 レポートボックス9番へ(7月15日まで)

今日の講義内容 文脈自由文法の標準形 Chomsky標準形 (CNF) P.120~122 Greibach標準形 P.122~128 略

文脈自由文法の定義 文脈自由文法(context-free grammar) → G = (N, T, P, S) 要素 x ∈N 非終端記号(non-terminal symbol) 終端アルファベットT (有限集合) 要素 x ∈ T 終端記号(terminal symbol) 開始記号(start symbol) S∈Q 生成規則(production) P⊆N×(N∪T)* A→αと書く (α=εのときε生成規則) A→α1|…| αn = A→α1,…, A→αn → G = (N, T, P, S)

標準形が必要なわけ 入り組んでないほうが扱いやすい

Chomsky標準形 文脈自由文法G=(N, T, P, S) その生成規則の形が A→BC (A, B, C∈N) A→a (A∈N, a∈T) のとき Chomsky標準形(CNF: Chomsky Normal Form) であるという。

Chomsky標準形の作り方 ε生成規則(ε-規則: ε-production)の消去 鎖生成規則の消去 Chomsky標準形の構成 ← ε生成規則消去定理 鎖生成規則の消去 ←鎖生成規則の消去定理 Chomsky標準形の構成

ε生成規則の消去 文脈自由文法 G=(N, T, P, S)に対して、 以下のような性質をもつ L(G´)=L(G) ε∈L(G)のときのみG´はε生成規則をもち、それはS´→εに限る。 G´の開始記号S´はP´のどの生成規則にも現れない。

ε生成規則の消去法 G´= (N´, T, P´, S´)の構成法 N´=N∪{S´} (S´∈N) P´は次の生成規則より成る ε∈L(G)ならばS´→εは生成規則である。 S´→Sは生成規則である。 A→α1A1α2…αkAkαk+1 ∈P, Ai∈N∪T (1≦i≦k), αi∈Nn*ならば A→A1…Akは生成規則である(k≧1)。

ε生成規則の消去法つづき ここで、Niは次のように定義される。 n=|N|, i=1, …, n N1={A|A→ε∈P} Ni+1=Ni∪{A|A→α∈P, α∈ Ni *}

ε生成規則の消去例 1 G=(N, T, P, S)を以下のようであるとする。 1. G´=(N´, T, P´, S´) N={S, A, B, C}, T={a, b, c}, P={S→AB, A→ABAC|B|a, B→C|b|ε, C→B|c|ε} 1. G´=(N´, T, P´, S´) N´= N∪{S´}={S, A, B, C, S´}, T={a, b, c}

ε生成規則の消去例 2 2. 生成規則P´ P={S→AB, A→ABAC|B|a, B→C|b|ε, C→B|c|ε} (i)より、 ε∈L(G)だからS´→ε (ii)より、 S´→S

ε生成規則の消去例 3 2の3 (iii)より、 Niを調べる。 S→ABについて、 N1={B, C}, N2={A, B, C}, N3={S, A, B, C} S→ABについて、 A1 =A, A2 =B, α1 =α2 =α3 =εとすると、 S→AB A1 =A, α1 = ε, α2 =Bとすると、 S→A A1 =B, α1 = A, α2=εとすると、 S→B

ε生成規則の消去例 4 2の3のつづき 3. A→ABACについて、 A1 =A, A2 =B, A3 =A, A4=C, α1 =α2 =α3 =α4 =α5 =εとすると、 A→ABAC A1 =A, A2 =B, A3 =A, α1 =α2 =α3 =ε, α4 =C とすると、 A→ABA A1 =A, A2 =B, A3 =C, α1 =α2 =α4 =ε, α3 =A とすると、 A→ABC A1 =A, A2 =A, A3 =C, α1 =α3 =α4 =ε, α2 =B とすると、 A→AAC A1 =B, A2 =A, A3 =C, α2 =α3=α4 =ε, α1=A とすると、 A→BAC

ε生成規則の消去例 5 2の3のつづき 3. A→ABACについて、 A1 =A, A2 =B, α1 =α2 =ε, α4 =AC とすると、 A→AB A1 =A, A2 =A, α1 =ε, α2 =B, α4 =C とすると、 A→AA A1 =A, A2 =C, α1 =ε, α2 =BC, α4 =εとすると、 A→AC A1 =B, A2 =A, α1 =A, α2 = ε, α4 =Cとすると、 A→BA A1 =B, A2 =C, α1 =A, α2 =A, α4 =εとすると、 A→BA A1 =A, A2 =C, α1 =AB, α2 =ε, α4 =εとすると、 A→AC A1 =A, α1 = ε, α2 =BACとすると、 A→A A1 =B, α1 = A, α2 =ACとすると、 A→B A1 =C, α1 =ABA, α2 =εとすると、 A→C

ε生成規則の消去例 6 2の3のつづき まとめると生成規則は以下のようになる。 4. B→C, B→b, C→B, C→cはそのまま A→BとA→aはそのまま 4. B→C, B→b, C→B, C→cはそのまま まとめると生成規則は以下のようになる。 S→S|ε S→AB|A|B A→ABAC|ABA|ABC|AAC|BAC|AB|AA|BA|AC|BC|A|B|C|a B→C|b C→B|c

鎖生成規則の消去 文脈自由文法 G=(N, T, P, S)に対して、 以下の形の生成規則しかもたない L(G´)=L(G)なる ε∈L(G)のときに限り S→ε A→α (|α|≧2, α∈((N∪T)-{S})* A→α (α∈T)

鎖生成規則の消去法 A→B (B∈N)の形の生成規則の除去手順 Ni(A) (i≧1)を次のように与える。 P´を次のように与える。 N1(A)={A} Ni+1=Ni(A)∪{B∈N|あるC∈Ni(A)が存在して、C→ B∈P} P´を次のように与える。 P´={A→α|∃B∈Nn(A) [B→α∈Pかつα∈N]} ここで、n=|N|。

鎖生成規則の消去例 1 G=(N, T, P, S)を次のように与える。 N={S, A, B, C}, T={a, b, c} P={S→A, A→AB|a, B→C|b, C→A|c} このとき N1(S)={S}, N2(S)={S, A}=N3(S) N1(A)={A}=N2(A) N1(B)={B}, N2(B)={B, C}, N3(B)={A, B, C}=N4(B) N1(C)={C}, N2(C)={A, C}=N3(C)

鎖生成規則の消去例 2 B→α∈Pかつα∈NなBとα G´=(N, T, P´, S)は次のようになる。 {(A, AB), (A, a), (B, b), (C, c)} N4(S)={S, A}からαは{AB, a} N4(A)={A}からαは{AB, a} N4(B)={A, B, C}からαは{AB, a, b, c} N4(C)={A, C}からαは{AB, a, c} G´=(N, T, P´, S)は次のようになる。 N={S, A, B, C}, T={a, b, c} P={S→AB|a, A→AB|a, B→a|b|c|AB, C→a|c|AB}

Chomskyの標準形の構成法 CFL G=(N, T, P, S)に対して、 L(G)-{ε}を生成するChomsky標準形の GのS→ε以外の生成規則の形を A→α (|α|≧2, α∈((N∪T)-{S})* A→α (α∈T) であるとする。

Chomskyの標準形の構成法 つづき A→X1…Xk (Xi∈(N∪T)-{S}, k≧2) の形をした生成規則に対して、 Xi∈NのときYi=Xi とし、 Xi∈Tのとき新しく非終端記号Yi を導入して、 これを一旦 A→Y1…Yk, Yi→Xi で置き換える。そして、 A→Y1…Ykに対して、 新たにk-2個の非終端記号Z1…Zk-2を導入して、 A→Y1 Z1, Z1→Y2 Z2, …, Zk-2→ Yi Yk で置き換える。これは、 Chomskyの標準形となる。

Chomskyの標準形の構成例 CFL G=(N, T, P, S)を以下とする。 N={S, A}, T={a} P={S→AaAA, A→a} このGをChomsky標準形に直す。 S→Y1Y2Y3Y4, Y1→A, Y2→a, Y3→A , Y4→A S→Y1Z1, Z1→Y2Z2, Z2→Y3Y4 S→AZ1, Z1→Y2Z2, Z2→AA

Chomskyの標準形の構成例 結果 Chomsky標準形 G´= (N´, T, P´, S´)は N´={S, A, Z1 , Z2 , Y2 } P´={S→AZ1, Z1→Y2Z2, Z2→AA, Y2→a, A→a}

今日のミニテスト ミニテスト 教科書・資料を見ても良い 資料、ミニテストがない人は前へ 交換採点を行い、提出したら帰って良し