470 likes | 733 Views
形式言語 と オートマトン. 第 3 回 鳥取大学工学研究科 情報エレクトロニクス 専攻 田中美栄子. 本日 の予定. 有限 状態 オートマトンの復習 空動作を許すオートマトン DFA と NFA の同等性 ( 前篇 ). 形式言語とオートマトン. 有限状態オートマトン の復習. 形式言語とオートマトン. “ 有限状態オートマトン ” は 最終評価の 6 割 を占めます。 もし、今までの授業で分かっていない人がいたら 今日 の 授業 で 追 いつきましょう !. 形式言語とオートマトン. 有限オートマトンの5字組み表現. 5 字組み表現.
E N D
形式言語 とオートマトン 第3回 鳥取大学工学研究科 情報エレクトロニクス専攻 田中美栄子
本日の予定 • 有限状態オートマトンの復習 • 空動作を許すオートマトン • DFAとNFAの同等性(前篇) 形式言語とオートマトン
有限状態オートマトン の復習 形式言語とオートマトン
“有限状態オートマトン”は 最終評価の6割を占めます。 もし、今までの授業で分かっていない人がいたら 今日の授業で追いつきましょう! 形式言語とオートマトン
有限オートマトンの5字組み表現 5字組み表現 M= <Q,Σ,δ,q0,F> Q⇒状態の有限集合 Σ⇒入力記号の有限集合 δ⇒動作関数(δ:Q×Σ→Q) q0⇒初期状態(q0) F⇒受理状態の集合 形式言語とオートマトン
決定性有限オートマトン • すべての状態ですべての入力に対して、 • 遷移先が唯一 a 形式言語とオートマトン
有限オートマトンの5字組み表現 5字組み表現 M= <Q,Σ,δ,q0,F> Q = {q1,q2} Σ = {a,b} δ :Q×Σ→Q δ (q1,a) = q1 δ (q1,b) = q2 δ (q2,a) = q1 δ (q2,b) = q2 q0= q1 F= {q2} a a b b q1 q2 状態遷移図と 5字組みが等価 形式言語とオートマトン
abbaを与えたときの一連の動作を下記のように簡潔に表すabbaを与えたときの一連の動作を下記のように簡潔に表す (r,abba) (s,bba) (r,ba) (s,ε) (r,a) M M M M 様相 形式言語とオートマトン
非決定性有限オートマトン 一つの入力に対し、遷移先が唯一でない a a 形式言語とオートマトン
非決定性有限オートマトン • 入力に対して、遷移先が無い a ? 形式言語とオートマトン
非決定性有限オートマトン 違いは状態遷移だけ 遷移先がない 形式言語とオートマトン
非決定性有限オートマトン baaを入力すると、三種類の遷移がある。 × × ○ 受理状態であるtで遷移が終わっているので、baaは受理される 形式言語とオートマトン
baaを入力すると、三種類の遷移がある。 ○ 複数の遷移に対し,一つ が出れば,受理される 形式言語とオートマトン
NEW 非決定性 空動作を許す オートマトン 形式言語とオートマトン
空動作とは? 空動作(ε-move)とは • 入力記号を読まずに状態遷移できる • 行き先は状態の集合(空集合Φを含む) ε Q ε S S P ε R 形式言語とオートマトン
空動作を許す、とは? ε q ε r 入力無しでも二つの状態q,rのどちらかに行ける 形式言語とオートマトン
状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合 空動作の五字組み 形式言語とオートマトン
空動作の五字組み 形式言語とオートマトン
空動作の動作例 ・入力00に対するMの動作 ε ε 形式言語とオートマトン
空動作の動作例 ・入力00に対するMの動作 場合1 ε ε 場合2 入力記号を読まずに状態遷移 2通り存在する 形式言語とオートマトン
空動作の動作例 ・入力00に対するMの動作 場合1 ε ε 受理できる 形式言語とオートマトン
空動作の動作例 ・入力00に対するMの動作 ε これ以上遷移できない→受理できない ε 場合2 形式言語とオートマトン
空動作のまとめ 空動作とは,入力記号を読まなくてもできる状態遷移 状態遷移は様々な場合が存在する ε Q S R ε 形式言語とオートマトン 形式言語とオートマトン
NEW DFA(決定性FSA) NFA(非決定性FSA) • DFAとNFAの • 同等性 形式言語とオートマトン
これまで DFA(決定性FSA) を学んだ NFA(非決定性FSA) ε-NFA(空操作のある非決定性FSA) 形式言語とオートマトン
DFAとNFAの同等性とは ある言語を受理する NFA((空操作のある)非決定性FSA) - が存在するならば 同じ言語を受理する DFA(決定性FSA) が存在する 形式言語とオートマトン
を構成する方法を学ぶ!! から NFA(非決定性FSA) DFA(決定性FSA) - {r} {r,s,t} {r,s} 形式言語とオートマトン
アルゴリズム 2.1 教科書P.47 文字多いけど,簡単よ,諦めないで!!! NFA(非決定性FSA) DFA(決定性FSA) {r} {r,s,t} {r,s} 形式言語とオートマトン 形式言語とオートマトン
アルゴリズム 2.1 説明しやすいため, 遷移図を5字組化 形式言語とオートマトン 形式言語とオートマトン
アルゴリズム 2.1 の 1 1.の状態の集合の部分集合に全体で、 の状態()をつくる の状態の集合 形式言語とオートマトン
アルゴリズム 2.1 の 1 {s,t} {r,s} {r,s,t} {t,r} {r} {s} {t} 形式言語とオートマトン
アルゴリズム 2.1 の 2 2. において入力を読まずに遷移できる状態の集合を 初期状態()とする 形式言語とオートマトン
アルゴリズム 2.1 の 2 {s,t} {r,s} {r,s,t} {t,r} {r} {s} {t} 形式言語とオートマトン
アルゴリズム 2.1 の 3 3. の受理状態を1つでも含む部分集合に対する状態をの受理状態とする 既知 の受理状態tを含む状態の部分集合 形式言語とオートマトン
アルゴリズム 2.1 の 3 {s,t} {r,s} {r,s,t} {t,r} {r} {s} {t} 形式言語とオートマトン
アルゴリズム 2.1 の 4 4.の動作関数()を決める まず,入力記号を から 形式言語とオートマトン
アルゴリズム 2.1 の 4 例 4.の動作関数()を決める
アルゴリズム 2.1 の 4 {s,t} {r,s} {r,s,t} {t,r} {r} {s} {t} 形式言語とオートマトン
アルゴリズム 2.1 の 4 全ての動作関数を求める 形式言語とオートマトン
アルゴリズム 2.1 の 4 下図になる {s,t} {r,s} {r,s,t} {t,r} {r} {s} {t} 形式言語とオートマトン
アルゴリズム 2.1 の 5 5.の初期状態から到達できない状態(遷移)をすべて削除 {s,t} {s,t} {r,s} {r,s} {r,s,t} {t,r} {r} {s} {s} {r} {t,r} {r,s,t} {t} {t} a a a 形式言語とオートマトン
アルゴリズム 2.1 の 5 5.の初期状態から到達できない状態(遷移)をすべて削除 {s,t} {r,s} {r,s,t} {r} {t,r} {s} {t} a a a 形式言語とオートマトン
アルゴリズム 2.1 の 5 {r,s} {r,s,t} {r} 整理 {r} {r,s,t} {r,s} 形式言語とオートマトン
NFADFA する理由は? NFA(非決定性FSA) DFA(決定性FSA) {r} {r,s,t} {r,s} 形式言語とオートマトン 形式言語とオートマトン
NFADFA 遷移先がなかったり複数あったり 遷移先が唯一 {r} {r,s,t} {r,s} 形式言語とオートマトン
以上です お疲れ様でした 小テスト 形式言語とオートマトン