220 likes | 402 Views
形式言語 と オートマトン. 第 8 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 1. 本日 の予定1. 復 習 ~判定機械としての FSA ~. 形式言語とオートマトン. 1. 有限状態オートマトン( FSA). M= < Q, Σ, δ, q 0 , F >. Q : 状態 (state) の有限集合 Σ :入力記号 (input symbol) の有限集合 δ : 動作関数 (move function) (δ : Q×Σ→Q) q 0 : 初期状態 (initial state) (q 0 ∈Q)
E N D
形式言語 とオートマトン 第8回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子
1 本日の予定1 復 習 ~判定機械としてのFSA~ 形式言語とオートマトン
1 有限状態オートマトン(FSA) M=<Q, Σ,δ, q0, F> Q :状態(state)の有限集合 Σ:入力記号(input symbol)の有限集合 δ :動作関数(move function)(δ:Q×Σ→Q) q0:初期状態(initial state)(q0∈Q) F :受理状態(accepting state)の有限集号(F∈Q) 形式言語とオートマトン
1 例: M=<Q, Σ, δ, q0, F> 動作例 Q={r,s,t} Σ={a} a a a $ δ:Q×Σ→Q 状態 r δ(r,a)=s δ(s,a)=t δ(t,a)=r q0=r 状態rからスタート (最初のaを読む) F={r} 形式言語とオートマトン
1 例: M=<Q, Σ, δ, q0, F> 動作例 Q={r,s,t} Σ={a} a a a $ δ:Q×Σ→Q 状態 s δ(r,a)=s δ(s,a)=t δ(t,a)=r q0=r 最初のaを読み終わったら 状態sに移る F={r} 形式言語とオートマトン
1 例: M=<Q, Σ, δ, q0, F> 動作例 動作例 Q={r,s,t} Σ={a} a a a $ δ:Q×Σ→Q 状態 t δ(r,a)=s δ(s,a)=t δ(t,a)=r q0=r 最初のaを読み終わったら 状態tに移る F={r} 形式言語とオートマトン
1 例: M=<Q, Σ, δ, q0, F> 動作例 動作例 Q={r,s,t} Σ={a} a a a $ δ:Q×Σ→Q 状態 r δ(r,a)=s δ(s,a)=t δ(t,a)=r q0=r 3つ目のa3を読み終わったら状態が 受理状態rなので受理! F={r} 形式言語とオートマトン
1 有限状態オートマトンの瞬時表現 a x $ a x $ 状態 s 状態 r 文字aを読んで状態sからrに移る (q,ax) (p,x) 形式言語とオートマトン
1 有限状態オートマトンの瞬時表現 a1 x an $ a1 x an $ 状態 q0 状態 qn 形式言語とオートマトン
1 有限状態言語 例 形式言語とオートマトン
1 有限状態オートマトンの状態遷移図 a a r s t a 形式言語とオートマトン
2 本日の予定2 文 法 形式言語とオートマトン
2 文法 「有限状態言語=正規言語の生成規則」 としての正規文法 形式言語とオートマトン
2 言語の生成装置としての形式文法 q0 a a q1 q2 a L={a3n}を生成する文法 L={a3n0}を受理するFSA 形式言語とオートマトン
2 文 法 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) 形式言語とオートマトン
2 言語の生成装置としての形式文法 • 変数A,B,…,S,…の置き換え規則: 変数1個で生成できる言語の例:変数はSのみ,文字は{a,b} 置き換え規則はS→ab,S→aSbの文法 生成できる文字列は 長さ1の文字列は生成できない 長さ2の文字列はabのみ生成できる 長さ3bは生成不可, 長さ4はaabbのみ 形式言語とオートマトン
2 文 法 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) 形式言語とオートマトン
2 対応:文法~言語~オートマトン オートマトン(左)と文法(右)の対応する階層性 正規文法 FSA PDA 文脈自由文法 文脈依存文法 LBA TM 句構造文法 形式言語とオートマトン
2 文法例1(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) =導出= 形式言語とオートマトン
2 文法例2(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) =導出= 形式言語とオートマトン
2 文法例3(文脈自由文法) 文法(grammar) 非終端記号(nonterminal) 終端記号(terminal) 生成規則(production rule) 初期記号(initial symbol) =導出= 形式言語とオートマトン
文脈自由文法については次回も詳しく説明します。小テストで文法に慣れましょう!文脈自由文法については次回も詳しく説明します。小テストで文法に慣れましょう! 形式言語とオートマトン